aboutsummaryrefslogtreecommitdiffstats
path: root/src/nodejs/no1.js
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/nodejs/no1.js54
1 files changed, 28 insertions, 26 deletions
diff --git a/src/nodejs/no1.js b/src/nodejs/no1.js
index 1c959d0..112d736 100644
--- a/src/nodejs/no1.js
+++ b/src/nodejs/no1.js
@@ -20,7 +20,8 @@ var connectionString = config['connectionString'];
var log4js = require('log4js')(); //note the need to call the function
//log4js.addAppender(log4js.fileAppender('osm-xapi.log'), 'cheese');
-var util = require('util');
+var logger = log4js.getLogger('global');
+logger.setLevel('ALL');
var log = log4js.getLogger('global');
@@ -102,14 +103,12 @@ function nodeBboxHandler(req, res, key, value, left, bottom, right, top) {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.write("<xml>");
}
-
- res.write(createXmlFromRow(row));
-
+ res.write(createXmlNode(row));
});
});
}
-function createXmlFromRow(row) {
+function createXmlNode(row) {
log.debug(row);
var node = builder.begin('node')
.att('id', row.id)
@@ -128,6 +127,28 @@ function createXmlFromRow(row) {
return builder.toString({ pretty: true });
}
+function createXmlWay(row) {
+ var way = builder.begin('way')
+ .att('id', row.id)
+ .att('timestamp', toISO8601(row.tstamp))
+ .att('version', row.version)
+ .att('changeset', row.changeset_id);
+ if(row.tags != '{}') {
+ var temp = row.tags.replace("{","").replace("}","").split(",");
+ for(var x=0;x<temp.length;x=x+2)
+ way.ele('tag')
+ .att('k',escape(temp[x]))
+ .att('v',escape(temp[x+1]));
+ }
+
+ var temp = row.nodes.replace("{","").replace("}","").split(",");
+ for(var x=0;x<temp.length;x++) {
+ way.ele('nd')
+ .att('ref',temp[x]);
+ }
+ return builder.toString({pretty:'true'});
+}
+
function wayWorldHandler(req, res, key, value) {
res.writeHead(200, {'Content-Type': 'text/plain'});
}
@@ -197,31 +218,12 @@ function wayBboxHandler(req, res, key, value, left, bottom, right, top) {
res.end();
});
subquery.on('row', function(row) {
- res.write(createXmlFromRow(row));
+ res.write(createXmlNode(row));
});
//console.log(createNodesForWayQuery(row.nodes));
}
-
- var way = builder.begin('way')
- .att('id', row.id)
- .att('timetamp', toISO8601(row.tstamp))
- .att('version', row.version)
- .att('changeset', row.changeset_id);
- if(row.tags != '{}') {
- var temp = row.tags.replace("{","").replace("}","").split(",");
- for(var x=0;x<temp.length;x=x+2)
- way.ele('tag')
- .att('k',escape(temp[x]))
- .att('v',escape(temp[x+1]));
- }
-
- var temp = row.nodes.replace("{","").replace("}","").split(",");
- for(var x=0;x<temp.length;x++)
- way.ele('nd')
- .att('ref',temp[x]);
-
- res.write(builder.toString({pretty:'true'}));
+ res.write(createXmlWay(row));
});
});
}