Move querys together

This commit is contained in:
Philip Schell 2019-07-17 15:55:01 +02:00
parent f4efe2ab66
commit 22c37456e9
5 changed files with 76 additions and 84 deletions

View File

@ -106,13 +106,25 @@ namespace Fraunhofer.Fit.IoT.LoraMap {
protected override Boolean SendWebserverResponse(HttpListenerContext cont) { protected override Boolean SendWebserverResponse(HttpListenerContext cont) {
try { try {
if(cont.Request.Url.PathAndQuery.StartsWith("/loc")) { if (cont.Request.Url.PathAndQuery.StartsWith("/get1000")) {
return SendJsonResponse(this.positions, cont); return SendJsonResponse(new Dictionary<String, Object>() {
} else if(cont.Request.Url.PathAndQuery.StartsWith("/panic")) { { "loc", this.positions },
return SendJsonResponse(this.alarms, cont); { "panic", this.alarms },
} else if(cont.Request.Url.PathAndQuery.StartsWith("/icons/marker/Marker.svg") && cont.Request.Url.PathAndQuery.Contains("?")) { { "cameracount", this.cameras },
{ "crowdcount", this.crowds }
}, cont);
} else if (cont.Request.Url.PathAndQuery.StartsWith("/get60000")) {
return SendJsonResponse(new Dictionary<String, Object>() {
{ "currenttime", new Dictionary<String, DateTime>() { { "utc", DateTime.UtcNow } } }
}, cont);
} else if (cont.Request.Url.PathAndQuery.StartsWith("/getonce")) {
return SendJsonResponse(new Dictionary<String, Object>() {
{ "getlayer", this.FindMapLayer(cont.Request) },
{ "getgeo", JsonMapper.ToObject(File.ReadAllText("json/geo.json")) }
}, cont);
} else if (cont.Request.Url.PathAndQuery.StartsWith("/icons/marker/Marker.svg") && cont.Request.Url.PathAndQuery.Contains("?")) {
String hash = cont.Request.Url.PathAndQuery.Substring(cont.Request.Url.PathAndQuery.IndexOf('?') + 1); String hash = cont.Request.Url.PathAndQuery.Substring(cont.Request.Url.PathAndQuery.IndexOf('?') + 1);
if(!this.markertable.ContainsKey(hash)) { if (!this.markertable.ContainsKey(hash)) {
this.markertable.Add(hash, new Marker(hash)); this.markertable.Add(hash, new Marker(hash));
} }
cont.Response.ContentType = "image/svg+xml"; cont.Response.ContentType = "image/svg+xml";
@ -121,24 +133,18 @@ namespace Fraunhofer.Fit.IoT.LoraMap {
cont.Response.OutputStream.Write(buf, 0, buf.Length); cont.Response.OutputStream.Write(buf, 0, buf.Length);
Console.WriteLine("200 - " + cont.Request.Url.PathAndQuery); Console.WriteLine("200 - " + cont.Request.Url.PathAndQuery);
return true; return true;
} else if(cont.Request.Url.PathAndQuery.StartsWith("/currenttime")) { } else if (cont.Request.Url.PathAndQuery.StartsWith("/admin")) {
return SendJsonResponse(new Dictionary<String, DateTime>() { { "utc", DateTime.UtcNow } }, cont);
} else if(cont.Request.Url.PathAndQuery.StartsWith("/admin")) {
return this.admin.ParseReuqest(cont); return this.admin.ParseReuqest(cont);
} else if(cont.Request.Url.PathAndQuery.StartsWith("/getlayer")) { } else if (cont.Request.Url.PathAndQuery.StartsWith("/getlayer")) {
return SendJsonResponse(this.FindMapLayer(cont.Request), cont); return SendJsonResponse(this.FindMapLayer(cont.Request), cont);
} else if(cont.Request.Url.PathAndQuery.StartsWith("/maps/")) { } else if (cont.Request.Url.PathAndQuery.StartsWith("/maps/")) {
return SendFileResponse(cont, "resources", false); return SendFileResponse(cont, "resources", false);
} else if(cont.Request.Url.PathAndQuery.StartsWith("/getgeo")) { } else if (cont.Request.Url.PathAndQuery.StartsWith("/getgeo")) {
Byte[] buf = Encoding.UTF8.GetBytes(File.ReadAllText("json/geo.json")); Byte[] buf = Encoding.UTF8.GetBytes(File.ReadAllText("json/geo.json"));
cont.Response.ContentLength64 = buf.Length; cont.Response.ContentLength64 = buf.Length;
cont.Response.OutputStream.Write(buf, 0, buf.Length); cont.Response.OutputStream.Write(buf, 0, buf.Length);
Console.WriteLine("200 - " + cont.Request.Url.PathAndQuery); Console.WriteLine("200 - " + cont.Request.Url.PathAndQuery);
return true; return true;
} else if(cont.Request.Url.PathAndQuery.StartsWith("/cameracount")) {
return SendJsonResponse(this.cameras, cont);
} else if (cont.Request.Url.PathAndQuery.StartsWith("/crowdcount")) {
return SendJsonResponse(this.crowds, cont);
} }
} catch(Exception e) { } catch(Exception e) {
Helper.WriteError("SendWebserverResponse(): 500 - " + e.Message + "\n\n" + e.StackTrace); Helper.WriteError("SendWebserverResponse(): 500 - " + e.Message + "\n\n" + e.StackTrace);

View File

@ -2,18 +2,66 @@
_internalTimeOffset: 0, _internalTimeOffset: 0,
Start: function () { Start: function () {
setInterval(this._Runner60000, 60000); setInterval(this._Runner60000, 60000);
setInterval(this._Runner1000, 1000);
this._Runner60000(); this._Runner60000();
this._Runner1000();
this._RunnerOnce();
return this; return this;
}, },
_Runner60000: function () { _Runner60000: function () {
var timecorrection = new XMLHttpRequest(); var get60000 = new XMLHttpRequest();
timecorrection.onreadystatechange = function () { get60000.onreadystatechange = function () {
if (timecorrection.readyState === 4 && timecorrection.status === 200) { if (get60000.readyState === 4 && get60000.status === 200) {
FunctionsObject._ParseAJAX(JSON.parse(timecorrection.responseText)); var json = JSON.parse(get60000.responseText);
FunctionsObject._ParseAJAX(json["currenttime"]);
} }
}; };
timecorrection.open("GET", "/currenttime", true); get60000.open("GET", "/get60000", true);
timecorrection.send(); get60000.send();
},
_Runner1000: function () {
var get1000 = new XMLHttpRequest();
get1000.onreadystatechange = function () {
if (get1000.readyState === 4 && get1000.status === 200) {
var json = JSON.parse(get1000.responseText);
MarkerObject._ParseAJAXLoc(json["loc"]);
MarkerObject._ParseAJAXPanic(json["panic"]);
OverlayObject._ParseAJAXCount(json["cameracount"]);
OverlayObject._ParseAJAXDensity(json["crowdcount"]);
}
};
get1000.open("GET", "/get1000", true);
get1000.send();
},
_RunnerOnce: function () {
/*var getonce = new XMLHttpRequest();
getonce.onreadystatechange = function () {
if (getonce.readyState === 4 && getonce.status === 200) {
var json = JSON.parse(getonce.responseText);
MapObject._ParseAJAXLayers(json["getlayer"]);
MapObject._ParseAJAXGeo(json["getgeo"]);
}
};
getonce.open("GET", "/getonce", true);
getonce.send();*/
var layergetter = new XMLHttpRequest();
layergetter.onreadystatechange = function () {
if (layergetter.readyState === 4 && layergetter.status === 200) {
MapObject._ParseAJAXLayers(JSON.parse(layergetter.responseText));
}
};
layergetter.open("GET", "/getlayer", true);
layergetter.send();
var geogetter = new XMLHttpRequest();
geogetter.onreadystatechange = function () {
if (geogetter.readyState === 4 && geogetter.status === 200) {
MapObject._ParseAJAXGeo(JSON.parse(geogetter.responseText));
}
};
geogetter.open("GET", "/getgeo", true);
geogetter.send();
}, },
_ParseAJAX: function (utcobject) { _ParseAJAX: function (utcobject) {
if (utcobject.hasOwnProperty("utc")) { if (utcobject.hasOwnProperty("utc")) {

View File

@ -3,30 +3,10 @@
_SpecialMarkers: new Array(), _SpecialMarkers: new Array(),
Start: function () { Start: function () {
this.Map = L.map('bigmap').setView(["{%START_LOCATION%}"], 16); this.Map = L.map('bigmap').setView(["{%START_LOCATION%}"], 16);
this._RunnerOnce();
this._SetupMapZoomFontsize(); this._SetupMapZoomFontsize();
this._SetupClickHandler(); this._SetupClickHandler();
return this; return this;
}, },
_RunnerOnce: function () {
var layergetter = new XMLHttpRequest();
layergetter.onreadystatechange = function () {
if (layergetter.readyState === 4 && layergetter.status === 200) {
MapObject._ParseAJAXLayers(JSON.parse(layergetter.responseText));
}
};
layergetter.open("GET", "/getlayer", true);
layergetter.send();
var geogetter = new XMLHttpRequest();
geogetter.onreadystatechange = function () {
if (geogetter.readyState === 4 && geogetter.status === 200) {
MapObject._ParseAJAXGeo(JSON.parse(geogetter.responseText));
}
};
geogetter.open("GET", "/getgeo", true);
geogetter.send();
},
_ParseAJAXLayers: function (maps) { _ParseAJAXLayers: function (maps) {
var i = 0; var i = 0;
for (var key in maps) { for (var key in maps) {

View File

@ -3,29 +3,8 @@
PanicData: {}, PanicData: {},
LocationData: {}, LocationData: {},
Start: function () { Start: function () {
setInterval(this._Runner1000, 1000);
this._Runner1000();
return this; return this;
}, },
_Runner1000: function () {
var loc = new XMLHttpRequest();
loc.onreadystatechange = function () {
if (loc.readyState === 4 && loc.status === 200) {
MarkerObject._ParseAJAXLoc(JSON.parse(loc.responseText));
}
};
loc.open("GET", "/loc", true);
loc.send();
var panic = new XMLHttpRequest();
panic.onreadystatechange = function () {
if (panic.readyState === 4 && panic.status === 200) {
MarkerObject._ParseAJAXPanic(JSON.parse(panic.responseText));
}
};
panic.open("GET", "/panic", true);
panic.send();
},
_ParseAJAXLoc: function (serverLocation) { _ParseAJAXLoc: function (serverLocation) {
this.LocationData = serverLocation; this.LocationData = serverLocation;
for (var key in this.LocationData) { for (var key in this.LocationData) {

View File

@ -1,28 +1,7 @@
var OverlayObject = { var OverlayObject = {
Start: function () { Start: function () {
setInterval(this._Runner1000, 1000);
this._Runner1000();
return this; return this;
}, },
_Runner1000: function () {
var ccount = new XMLHttpRequest();
ccount.onreadystatechange = function () {
if (ccount.readyState === 4 && ccount.status === 200) {
OverlayObject._ParseAJAXCount(JSON.parse(ccount.responseText));
}
};
ccount.open("GET", "/cameracount", true);
ccount.send();
var cdensity = new XMLHttpRequest();
cdensity.onreadystatechange = function () {
if (cdensity.readyState === 4 && cdensity.status === 200) {
OverlayObject._ParseAJAXDensity(JSON.parse(cdensity.responseText));
}
};
cdensity.open("GET", "/crowdcount", true);
cdensity.send();
},
_ParseAJAXCount: function (cameracounts) { _ParseAJAXCount: function (cameracounts) {
var camerastext = ""; var camerastext = "";
for (var cameraid in cameracounts) { for (var cameraid in cameracounts) {