mirror of
https://github.com/sstent/alex_app1.git
synced 2026-01-26 09:02:38 +00:00
basics working
This commit is contained in:
128
app.js
128
app.js
@@ -2,11 +2,9 @@
|
|||||||
/**
|
/**
|
||||||
* Module dependencies.
|
* Module dependencies.
|
||||||
*/
|
*/
|
||||||
var eresult;
|
|
||||||
var fs = require('fs');
|
var fs = require('fs');
|
||||||
var path = require('path');
|
var path = require('path');
|
||||||
var mongo = require('mongodb');
|
var mongo = require('mongodb');
|
||||||
var async = require('async');
|
|
||||||
var BSON = mongo.BSONPure;
|
var BSON = mongo.BSONPure;
|
||||||
var db = require('mongoskin').db('localhost:27017/test');
|
var db = require('mongoskin').db('localhost:27017/test');
|
||||||
var testcollection = db.collection('testcollection');
|
var testcollection = db.collection('testcollection');
|
||||||
@@ -14,7 +12,8 @@ var exercisecollection = db.collection('exercisecollection');
|
|||||||
var util = require('util');
|
var util = require('util');
|
||||||
//var parser = new xml2js.Parser();
|
//var parser = new xml2js.Parser();
|
||||||
var dateFormat = require('dateformat');
|
var dateFormat = require('dateformat');
|
||||||
|
var waiting = 0;
|
||||||
|
var waitingj = 0;
|
||||||
var app = require('http').createServer(function handler(request, response) {
|
var app = require('http').createServer(function handler(request, response) {
|
||||||
|
|
||||||
console.log('request starting...;' + request.url);
|
console.log('request starting...;' + request.url);
|
||||||
@@ -105,40 +104,97 @@ io.set("transports", ["websocket"]);
|
|||||||
io.sockets.on('connection', function(socket) {
|
io.sockets.on('connection', function(socket) {
|
||||||
// console.log('Client connected');
|
// console.log('Client connected');
|
||||||
|
|
||||||
|
// socket.on('getactivites', function(data) {
|
||||||
|
// // console.log('getactivites');
|
||||||
|
// testcollection.find().toArray(function(err, result) {
|
||||||
|
// if (err) throw err;
|
||||||
|
// socket.emit('populateactivities', result);
|
||||||
|
// });
|
||||||
|
// });
|
||||||
|
///////////////////////////////////////////
|
||||||
socket.on('getactivites', function(data) {
|
socket.on('getactivites', function(data) {
|
||||||
// console.log('getactivites');
|
console.log('getactivities');
|
||||||
|
waiting = 0;
|
||||||
testcollection.find().toArray(function(err, result) {
|
testcollection.find().toArray(function(err, result) {
|
||||||
if (err) throw err;
|
if (err) throw err;
|
||||||
|
for (j in result) {
|
||||||
|
console.log('getactivities' + JSON.stringify(result));
|
||||||
|
var eresult = result;
|
||||||
|
var i;
|
||||||
|
waitingj ++;
|
||||||
|
for(i in result[j].Activities.Activity.Lap) {
|
||||||
|
//////////////
|
||||||
|
waiting ++;
|
||||||
|
getbyidall(eresult,result[j].Activities.Activity.Lap[i].selection,i,j);
|
||||||
|
////////////////////
|
||||||
|
console.log('below_i = ' + i);
|
||||||
|
//console.log('DATA = ' + JSON.stringify(callback));
|
||||||
|
};
|
||||||
|
};
|
||||||
|
});
|
||||||
|
});
|
||||||
|
////////////////////////////////////////
|
||||||
|
function deiteratej() {
|
||||||
|
if (!waiting) {
|
||||||
|
waitingj --;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
function completeall(result) {
|
||||||
|
if (!waiting) {
|
||||||
|
console.log('done');
|
||||||
socket.emit('populateactivities', result);
|
socket.emit('populateactivities', result);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
function complete(result) {
|
||||||
|
if (!waiting) {
|
||||||
|
console.log('done');
|
||||||
|
socket.emit('populateactivitybyid', result);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
function getbyidall (result,docid,iteration,iterationtop){
|
||||||
|
exercisecollection.findById(docid, function(err, exresult) {
|
||||||
|
if (err) throw err;
|
||||||
|
waiting --;
|
||||||
|
console.log('waiting = ' + waiting);
|
||||||
|
console.log('inside_j = ' + iterationtop)
|
||||||
|
console.log('inside_i = ' + iteration);
|
||||||
|
result[iterationtop].Activities.Activity.Lap[iteration].exercisename = exresult.exercise.name;
|
||||||
|
result[iterationtop].Activities.Activity.Lap[iteration].exercisemuscledata = exresult.exercise.muscledata;
|
||||||
|
result[iterationtop].Activities.Activity.Lap[iteration].exerciseclass = exresult.exercise.class;
|
||||||
|
deiteratej();
|
||||||
|
completeall(result);
|
||||||
|
|
||||||
});
|
});
|
||||||
|
};
|
||||||
|
function getbyid (result,docid,iteration){
|
||||||
|
exercisecollection.findById(docid, function(err, exresult) {
|
||||||
|
if (err) throw err;
|
||||||
|
waiting --;
|
||||||
|
console.log('waiting = ' + waiting);
|
||||||
|
console.log('inside_i = ' + iteration);
|
||||||
|
result.Activities.Activity.Lap[iteration].exercisename = exresult.exercise.name;
|
||||||
|
result.Activities.Activity.Lap[iteration].exercisemuscledata = exresult.exercise.muscledata;
|
||||||
|
result.Activities.Activity.Lap[iteration].exerciseclass = exresult.exercise.class;
|
||||||
|
complete(result);
|
||||||
});
|
});
|
||||||
|
};
|
||||||
|
|
||||||
///////////////////////////////////////
|
///////////////////////////////////////
|
||||||
socket.on('getactivitybyid', function(id) {
|
socket.on('getactivitybyid', function(id) {
|
||||||
// console.log('getactivitybyid');
|
waiting = 0;
|
||||||
|
|
||||||
testcollection.findById(id, function(err, result) {
|
testcollection.findById(id, function(err, result) {
|
||||||
if (err) throw err;
|
if (err) throw err;
|
||||||
//console.log('Activity result = ' + JSON.stringify(result));
|
//console.log('Activity result = ' + JSON.stringify(result));
|
||||||
//var unpackedresult = JSON.parse(result);
|
//var unpackedresult = JSON.parse(result);
|
||||||
eresult= result;
|
var eresult = result;
|
||||||
// var i;
|
|
||||||
|
var i;
|
||||||
for(i in result.Activities.Activity.Lap) {
|
for(i in result.Activities.Activity.Lap) {
|
||||||
//console.log('Activity parse result = ' + JSON.stringify(item.val1));
|
//console.log('Activity parse result = ' + JSON.stringify(item.val1));
|
||||||
console.log('above_i = ' + i);
|
console.log('above_i = ' + i);
|
||||||
///////////////
|
///////////////
|
||||||
getdoc(result.Activities.Activity.Lap[i].selection, i, function(docdata, iteration) {
|
waiting ++;
|
||||||
console.log(docdata);
|
getbyid(eresult,result.Activities.Activity.Lap[i].selection,i);
|
||||||
eresult.Activities.Activity.Lap[iteration].execisename = docdata.exercise.name
|
|
||||||
eresult.Activities.Activity.Lap[iteration].execiseclass = docdata.exercise.class
|
|
||||||
eresult.Activities.Activity.Lap[iteration].execisemuscledata = docdata.exercise.muscledata
|
|
||||||
|
|
||||||
if (iteration == result.Activities.Activity.Lap.length-1)
|
|
||||||
{
|
|
||||||
// console.log('fnal round' + iteration);
|
|
||||||
socket.emit('populateactivitybyid', result);
|
|
||||||
}
|
|
||||||
|
|
||||||
});
|
|
||||||
|
|
||||||
////////////////////
|
////////////////////
|
||||||
console.log('below_i = ' + i);
|
console.log('below_i = ' + i);
|
||||||
@@ -146,21 +202,9 @@ io.sockets.on('connection', function(socket) {
|
|||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
function getdoc(docid, iteration, callback) {
|
|
||||||
exercisecollection.findById(docid, function(err, exresult) {
|
|
||||||
if (err) throw err;
|
|
||||||
|
|
||||||
console.log('docid = ' + docid);
|
|
||||||
console.log('inside_i = ' + iteration);
|
|
||||||
callback(exresult, iteration);
|
|
||||||
});
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
////////////////////////
|
////////////////////////
|
||||||
socket.on('addactivity', function(data, docid) {
|
socket.on('addactivity', function(data, docid) {
|
||||||
// console.log('addactivity' + docid);
|
// console.log('addactivity' + docid);
|
||||||
@@ -188,9 +232,23 @@ function getdoc(docid, iteration, callback) {
|
|||||||
socket.on('delactivity', function(id) {
|
socket.on('delactivity', function(id) {
|
||||||
testcollection.removeById(id,function(err, reply){
|
testcollection.removeById(id,function(err, reply){
|
||||||
if (err) throw err;
|
if (err) throw err;
|
||||||
|
waiting = 0;
|
||||||
testcollection.find().toArray(function(err, result) {
|
testcollection.find().toArray(function(err, result) {
|
||||||
if (err) throw err;
|
if (err) throw err;
|
||||||
socket.emit('populateactivities', result);
|
for (j in result) {
|
||||||
|
console.log('getactivities' + JSON.stringify(result));
|
||||||
|
var eresult = result;
|
||||||
|
var i;
|
||||||
|
waitingj ++;
|
||||||
|
for(i in result[j].Activities.Activity.Lap) {
|
||||||
|
//////////////
|
||||||
|
waiting ++;
|
||||||
|
getbyidall(eresult,result[j].Activities.Activity.Lap[i].selection,i,j);
|
||||||
|
////////////////////
|
||||||
|
console.log('below_i = ' + i);
|
||||||
|
//console.log('DATA = ' + JSON.stringify(callback));
|
||||||
|
};
|
||||||
|
};
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user