From 39bb1f92ba5aaaf65d4aee9561aca88278b25792 Mon Sep 17 00:00:00 2001 From: Megala Date: Wed, 14 Dec 2016 23:49:04 +0530 Subject: [PATCH] Removing hard coded values and adding missing file --- .../html_templates/view_fence_popup.html | 69 ++++++ .../geo-dashboard/conf/cep_info.json | 1 - .../geo-dashboard/conf/database.json | 1 - .../geo-dashboard/controllers/constants.jag | 37 +++ .../geo-dashboard/controllers/get_alerts.jag | 141 +++++++---- .../controllers/get_alerts_history.jag | 10 +- .../controllers/modals/proximity_alert.jag | 7 +- .../controllers/modals/speed_alert.jag | 8 +- .../controllers/modals/stationery_alert.jag | 40 +-- .../controllers/modals/traffic_point.jag | 3 - .../controllers/modals/within_alert.jag | 40 +-- .../controllers/remove_alerts.jag | 2 - .../geo-dashboard/controllers/set_alerts.jag | 4 +- .../controllers/tile_servers.jag | 13 +- .../controllers/wms_endpoints.jag | 15 +- .../geo-dashboard/include/commons.jag | 8 - .../geo-dashboard/include/database.jag | 20 -- .../geo-dashboard/include/store_alerts.jag | 233 ++++++++++-------- .../geo-dashboard/js/geo_fencing.js | 6 +- .../geo-dashboard/js/geo_proximity.js | 6 + .../geo-dashboard/js/geo_remote.js | 2 +- .../geo-dashboard/js/geo_speed.js | 27 ++ .../geo-dashboard/js/geo_stationary.js | 44 ++++ .../geo-dashboard/js/geo_within.js | 43 ++++ 24 files changed, 475 insertions(+), 305 deletions(-) create mode 100644 components/analytics/iot-analytics/org.wso2.carbon.iot.geo.dashboard/src/main/resources/carbonapps/GadgetGeoDashboard_1.0.0/geo-dashboard/assets/html_templates/view_fence_popup.html delete mode 100644 components/analytics/iot-analytics/org.wso2.carbon.iot.geo.dashboard/src/main/resources/carbonapps/GadgetGeoDashboard_1.0.0/geo-dashboard/conf/cep_info.json delete mode 100644 components/analytics/iot-analytics/org.wso2.carbon.iot.geo.dashboard/src/main/resources/carbonapps/GadgetGeoDashboard_1.0.0/geo-dashboard/conf/database.json create mode 100644 components/analytics/iot-analytics/org.wso2.carbon.iot.geo.dashboard/src/main/resources/carbonapps/GadgetGeoDashboard_1.0.0/geo-dashboard/controllers/constants.jag delete mode 100644 components/analytics/iot-analytics/org.wso2.carbon.iot.geo.dashboard/src/main/resources/carbonapps/GadgetGeoDashboard_1.0.0/geo-dashboard/include/database.jag create mode 100644 components/analytics/iot-analytics/org.wso2.carbon.iot.geo.dashboard/src/main/resources/carbonapps/GadgetGeoDashboard_1.0.0/geo-dashboard/js/geo_speed.js create mode 100644 components/analytics/iot-analytics/org.wso2.carbon.iot.geo.dashboard/src/main/resources/carbonapps/GadgetGeoDashboard_1.0.0/geo-dashboard/js/geo_stationary.js create mode 100644 components/analytics/iot-analytics/org.wso2.carbon.iot.geo.dashboard/src/main/resources/carbonapps/GadgetGeoDashboard_1.0.0/geo-dashboard/js/geo_within.js diff --git a/components/analytics/iot-analytics/org.wso2.carbon.iot.geo.dashboard/src/main/resources/carbonapps/GadgetGeoDashboard_1.0.0/geo-dashboard/assets/html_templates/view_fence_popup.html b/components/analytics/iot-analytics/org.wso2.carbon.iot.geo.dashboard/src/main/resources/carbonapps/GadgetGeoDashboard_1.0.0/geo-dashboard/assets/html_templates/view_fence_popup.html new file mode 100644 index 000000000..4284bb5e6 --- /dev/null +++ b/components/analytics/iot-analytics/org.wso2.carbon.iot.geo.dashboard/src/main/resources/carbonapps/GadgetGeoDashboard_1.0.0/geo-dashboard/assets/html_templates/view_fence_popup.html @@ -0,0 +1,69 @@ + + + + + + + + +
+
+
+ +
+ + +
+
+
+
+
+ Export +
+
+ Hide +
+
+
+
+
+
+
+
+ +
+ + +
+ + +
+
+
+
+
+ Export +
+
+ Hide +
+
+
+
+
+ + \ No newline at end of file diff --git a/components/analytics/iot-analytics/org.wso2.carbon.iot.geo.dashboard/src/main/resources/carbonapps/GadgetGeoDashboard_1.0.0/geo-dashboard/conf/cep_info.json b/components/analytics/iot-analytics/org.wso2.carbon.iot.geo.dashboard/src/main/resources/carbonapps/GadgetGeoDashboard_1.0.0/geo-dashboard/conf/cep_info.json deleted file mode 100644 index 534bc8fb2..000000000 --- a/components/analytics/iot-analytics/org.wso2.carbon.iot.geo.dashboard/src/main/resources/carbonapps/GadgetGeoDashboard_1.0.0/geo-dashboard/conf/cep_info.json +++ /dev/null @@ -1 +0,0 @@ -{"username" : "admin", "password" : "admin"} \ No newline at end of file diff --git a/components/analytics/iot-analytics/org.wso2.carbon.iot.geo.dashboard/src/main/resources/carbonapps/GadgetGeoDashboard_1.0.0/geo-dashboard/conf/database.json b/components/analytics/iot-analytics/org.wso2.carbon.iot.geo.dashboard/src/main/resources/carbonapps/GadgetGeoDashboard_1.0.0/geo-dashboard/conf/database.json deleted file mode 100644 index b017a2a54..000000000 --- a/components/analytics/iot-analytics/org.wso2.carbon.iot.geo.dashboard/src/main/resources/carbonapps/GadgetGeoDashboard_1.0.0/geo-dashboard/conf/database.json +++ /dev/null @@ -1 +0,0 @@ -{"username" : "wso2carbon", "password" : "wso2carbon"} \ No newline at end of file diff --git a/components/analytics/iot-analytics/org.wso2.carbon.iot.geo.dashboard/src/main/resources/carbonapps/GadgetGeoDashboard_1.0.0/geo-dashboard/controllers/constants.jag b/components/analytics/iot-analytics/org.wso2.carbon.iot.geo.dashboard/src/main/resources/carbonapps/GadgetGeoDashboard_1.0.0/geo-dashboard/controllers/constants.jag new file mode 100644 index 000000000..15b67063d --- /dev/null +++ b/components/analytics/iot-analytics/org.wso2.carbon.iot.geo.dashboard/src/main/resources/carbonapps/GadgetGeoDashboard_1.0.0/geo-dashboard/controllers/constants.jag @@ -0,0 +1,37 @@ +<% +/* + ~ Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. + ~ + ~ WSO2 Inc. licenses this file to you under the Apache License, + ~ Version 2.0 (the "License"); you may not use this file except + ~ in compliance with the License. + ~ You may obtain a copy of the License at + ~ + ~ http://www.apache.org/licenses/LICENSE-2.0 + ~ + ~ Unless required by applicable law or agreed to in writing, + ~ software distributed under the License is distributed on an + ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + ~ KIND, either express or implied. See the License for the + ~ specific language governing permissions and limitations + ~ under the License. + */ + +var DATA_SOURCE_NAME = "WSO2_GEO_DB"; +var EXECUTION_PLAN_TYPE_SPEED = "Speed"; +var EXECUTION_PLAN_TYPE_WITHIN = "Within"; +var EXECUTION_PLAN_TYPE_PROXIMITY = "Proximity"; +var EXECUTION_PLAN_TYPE_STATIONARY = "Stationery"; +var EXECUTION_PLAN_TYPE_TRAFFIC = "Traffic"; +var REGISTRY_PATH_FOR_ALERTS = "/_system/governance/geo/alerts/"; +var GET_METHOD = "get"; +var QUERY_NAME = "queryName"; +var AREA_NAME = "areaName"; +var CREATED_TIME = "createdTime"; +var GEO_JSON = "geoJson"; +var PROXIMITY_DISTANCE = "proximityDistance"; +var PROXIMITY_TIME = "proximityTime"; +var STATIONARY_NAME = "stationeryName"; +var STATIONARY_TIME = "stationeryTime"; +var FLUCTUATION_RADIUS = "fluctuationRadius"; +%> \ No newline at end of file diff --git a/components/analytics/iot-analytics/org.wso2.carbon.iot.geo.dashboard/src/main/resources/carbonapps/GadgetGeoDashboard_1.0.0/geo-dashboard/controllers/get_alerts.jag b/components/analytics/iot-analytics/org.wso2.carbon.iot.geo.dashboard/src/main/resources/carbonapps/GadgetGeoDashboard_1.0.0/geo-dashboard/controllers/get_alerts.jag index 1df5d7949..1434b0b23 100644 --- a/components/analytics/iot-analytics/org.wso2.carbon.iot.geo.dashboard/src/main/resources/carbonapps/GadgetGeoDashboard_1.0.0/geo-dashboard/controllers/get_alerts.jag +++ b/components/analytics/iot-analytics/org.wso2.carbon.iot.geo.dashboard/src/main/resources/carbonapps/GadgetGeoDashboard_1.0.0/geo-dashboard/controllers/get_alerts.jag @@ -17,104 +17,138 @@ ~ under the License. */ var log = new Log(); -var dataStore = require('../include/commons.jag').dataStore; -var verb = request.getMethod(); +var method = request.getMethod(); var resourceName = request.getParameter('name'); var webService = request.getParameter('service'); - if(webService) { response.contentType = 'application/json'; response.characterEncoding = 'UTF-8'; response.content = { resource : get(resourceName) }; } -function get(name){ - if(name == 'within'){ - try{ - var res = dataStore.get("geo/alerts/within/"); - } - catch(e){ - log.info(e.message); +function getRegistry () { + var carbon = require("carbon"); + var server = new carbon.server.Server(); + return new carbon.registry.Registry(server, { + system: true + }); +} + +if (method === "GET") { + var constants = require("constants.jag"); + var executionPlanType = request.getParameter("executionPlanType"); + var deviceId = request.getParameter("deviceId"); + response.content = get(executionPlanType, deviceId); + response.contentType = "application/json"; +} + +function get(executionPlanType, deviceId){ + var resource = null; + var fence = {}; + var registry = getRegistry(); + if(executionPlanType == constants.EXECUTION_PLAN_TYPE_WITHIN){ + try { + resource = registry.get(constants.REGISTRY_PATH_FOR_ALERTS + constants.EXECUTION_PLAN_TYPE_WITHIN + + "/" + deviceId + "/"); + } catch(e){ + log.error(e.message); return false; } var allFences = []; - for each (var resource in res.getChildren()) { - var fence = {}; - try{ - fence['geoJson'] = JSON.parse(dataStore.get(resource).content.replace(/'/g, '"')); - fence['queryName'] = dataStore.get(resource).getProperty('queryName'); - fence['areaName'] = dataStore.get(resource).getProperty('areaName'); - fence['createdTime'] = dataStore.get(resource).createdTime.toString(); - allFences.push(fence); - } - catch(e){ - log.info("Error: "+e+'\n'); + if (resource) { + for each(var res in resource.content) { + var childResource = registry.get(res); + var properties = registry.properties(res); + fence = {}; + try { + fence[constants.GEO_JSON] = JSON.parse(childResource.content); + fence[constants.QUERY_NAME] = properties[constants.QUERY_NAME][0]; + fence[constants.AREA_NAME] = properties[constants.AREA_NAME][0]; + fence[constants.CREATED_TIME] = childResource.created.time.toString(); + allFences.push(fence); + } + catch (e) { + log.error("Error: " + e + '\n'); + } } } return allFences; - } else if(name == 'speed'){ - var resource; + } else if(executionPlanType == constants.EXECUTION_PLAN_TYPE_SPEED){ try{ - resource = dataStore.get(name+'.json'); - }catch(e){ + resource = registry.get(constants.REGISTRY_PATH_FOR_ALERTS + constants + .EXECUTION_PLAN_TYPE_SPEED + "/" + deviceId ); + } catch(e){ resource = {'content': false}; } - log.info("DEBUG:***** name = "+name); - log.info("DEBUG:***** resource.content = "+resource.content); + if (log.isDebugEnabled()) { + log.info("DEBUG:***** name = " + executionPlanType); + log.info("DEBUG:***** resource.content = " + resource.content); + } return JSON.parse(resource.content); - } else if(name == 'proximity'){ + } else if(executionPlanType == constants.EXECUTION_PLAN_TYPE_PROXIMITY){ var result; try{ - var resource = dataStore.get("/geo/alerts/proximity/proximity.json"); - result={proximityDistance: resource.getProperty("proximityDistance"), proximityTime: resource.getProperty("proximityTime")}; + resource = registry.properties(constants.REGISTRY_PATH_FOR_ALERTS + constants.EXECUTION_PLAN_TYPE_PROXIMITY + + "/" + deviceId); + result = { + proximityDistance: resource[constants.PROXIMITY_DISTANCE], + proximityTime: resource[constants.PROXIMITY_TIME] + }; }catch(e){ result = {'content': false}; } return result; - } else if(name == 'stationery'){ - var res; + } else if(executionPlanType == constants.EXECUTION_PLAN_TYPE_STATIONARY){ try{ - res = dataStore.get("geo/alerts/stationery/"); + resource = registry.get(constants.REGISTRY_PATH_FOR_ALERTS + constants.EXECUTION_PLAN_TYPE_STATIONARY + + "/" + deviceId); } catch(e){ log.info(e.message); return false; } var allFences = []; - for each (var resource in res.getChildren()) { - var fence = {}; - try{ - fence['geoJson'] = JSON.parse(dataStore.get(resource).content.replace(/'/g, '"')); - fence['queryName'] = dataStore.get(resource).getProperty('queryName'); - fence['areaName'] = dataStore.get(resource).getProperty('stationeryName'); - fence['stationeryTime'] = dataStore.get(resource).getProperty('stationeryTime'); - fence['fluctuationRadius'] = dataStore.get(resource).getProperty('fluctuationRadius'); - fence['createdTime'] = dataStore.get(resource).createdTime.toString(); - allFences.push(fence); - } - catch(e){ - log.info("Error: "+e+'\n'); + + if (resource) { + for each(var res in resource.content) { + var fence = {}; + var childResource = registry.get(res); + var properties = registry.properties(res); + try { + fence[constants.GEO_JSON] = JSON.parse(childResource.content); + fence[constants.QUERY_NAME] = properties[constants.QUERY_NAME][0]; + fence[constants.AREA_NAME] = properties[constants.STATIONARY_NAME][0]; + fence[constants.STATIONARY_TIME] = properties[constants.STATIONARY_TIME][0]; + fence[constants.FLUCTUATION_RADIUS] = properties[constants.FLUCTUATION_RADIUS][0]; + fence[constants.CREATED_TIME] = childResource.created.time.toString(); + allFences.push(fence); + } catch (e) { + log.error("Error: " + e + '\n'); + } } } return allFences; - } else if( name == 'traffic'){ + } else if( executionPlanType == constants.EXECUTION_PLAN_TYPE_TRAFFIC){ try{ - var res = dataStore.get("geo/alerts/traffic/"); + resource = registry.get(constants.REGISTRY_PATH_FOR_ALERTS + constants.EXECUTION_PLAN_TYPE_TRAFFIC + + "/" + deviceId + "/"); } catch(e){ log.info(e.message); return false; } var allFences = []; - for each (var resource in res.getChildren()) { + for each (var res in resource.content) { var fence = {}; + var childResource = registry.get(res); + var properties = registry.properties(res); try{ - fence['geoJson'] = JSON.parse(dataStore.get(resource).content.replace(/'/g, '"')); - fence['queryName'] = dataStore.get(resource).getProperty('queryName'); - fence['areaName'] = dataStore.get(resource).getProperty('areaName'); - fence['createdTime'] = dataStore.get(resource).createdTime.toString(); + fence[constants.GEO_JSON] = JSON.parse(childResource.content); + fence[constants.QUERY_NAME] = properties[constants.QUERY_NAME][0]; + fence[constants.AREA_NAME] = properties[constants.AREA_NAME][0]; + fence[constants.CREATED.TIME] = childResource.created.time.toString(); allFences.push(fence); } catch(e){ @@ -123,7 +157,6 @@ function get(name){ } return allFences; } - } %> diff --git a/components/analytics/iot-analytics/org.wso2.carbon.iot.geo.dashboard/src/main/resources/carbonapps/GadgetGeoDashboard_1.0.0/geo-dashboard/controllers/get_alerts_history.jag b/components/analytics/iot-analytics/org.wso2.carbon.iot.geo.dashboard/src/main/resources/carbonapps/GadgetGeoDashboard_1.0.0/geo-dashboard/controllers/get_alerts_history.jag index c62800f7f..a6fa01526 100644 --- a/components/analytics/iot-analytics/org.wso2.carbon.iot.geo.dashboard/src/main/resources/carbonapps/GadgetGeoDashboard_1.0.0/geo-dashboard/controllers/get_alerts_history.jag +++ b/components/analytics/iot-analytics/org.wso2.carbon.iot.geo.dashboard/src/main/resources/carbonapps/GadgetGeoDashboard_1.0.0/geo-dashboard/controllers/get_alerts_history.jag @@ -17,14 +17,11 @@ ~ under the License. */ -var db = require("../include/database.jag"); -var configuration = require('../conf/database.json'); +var constants = require("constants.jag"); +var db = new Database(constants.DATA_SOURCE_NAME); var log = new Log(); - -var db = new Database("jdbc:h2:repository/database/WSO2_GEO",configuration.username,configuration.password); var objectId = request.getParameter("objectId"); - -var getHistory = "SELECT * FROM alerts_history WHERE id = \'"+objectId+"\' ORDER BY timeStamp DESC LIMIT 50"; +var getHistory = "SELECT * FROM alerts_history WHERE id = \'" + objectId + "\' ORDER BY timeStamp DESC LIMIT 50"; try{ var history = db.query(getHistory); @@ -38,5 +35,4 @@ catch(e){ finally{ db.close(); } - %> diff --git a/components/analytics/iot-analytics/org.wso2.carbon.iot.geo.dashboard/src/main/resources/carbonapps/GadgetGeoDashboard_1.0.0/geo-dashboard/controllers/modals/proximity_alert.jag b/components/analytics/iot-analytics/org.wso2.carbon.iot.geo.dashboard/src/main/resources/carbonapps/GadgetGeoDashboard_1.0.0/geo-dashboard/controllers/modals/proximity_alert.jag index 119140456..1270b8d71 100644 --- a/components/analytics/iot-analytics/org.wso2.carbon.iot.geo.dashboard/src/main/resources/carbonapps/GadgetGeoDashboard_1.0.0/geo-dashboard/controllers/modals/proximity_alert.jag +++ b/components/analytics/iot-analytics/org.wso2.carbon.iot.geo.dashboard/src/main/resources/carbonapps/GadgetGeoDashboard_1.0.0/geo-dashboard/controllers/modals/proximity_alert.jag @@ -48,9 +48,6 @@ } -<% -var get = require('../get_alerts.jag').get; -%> + \ No newline at end of file diff --git a/components/analytics/iot-analytics/org.wso2.carbon.iot.geo.dashboard/src/main/resources/carbonapps/GadgetGeoDashboard_1.0.0/geo-dashboard/controllers/modals/stationery_alert.jag b/components/analytics/iot-analytics/org.wso2.carbon.iot.geo.dashboard/src/main/resources/carbonapps/GadgetGeoDashboard_1.0.0/geo-dashboard/controllers/modals/stationery_alert.jag index a7e290f19..0d9ab1e63 100644 --- a/components/analytics/iot-analytics/org.wso2.carbon.iot.geo.dashboard/src/main/resources/carbonapps/GadgetGeoDashboard_1.0.0/geo-dashboard/controllers/modals/stationery_alert.jag +++ b/components/analytics/iot-analytics/org.wso2.carbon.iot.geo.dashboard/src/main/resources/carbonapps/GadgetGeoDashboard_1.0.0/geo-dashboard/controllers/modals/stationery_alert.jag @@ -24,18 +24,10 @@ -<% -var get = require('../get_alerts.jag').get; -%> + \ No newline at end of file diff --git a/components/analytics/iot-analytics/org.wso2.carbon.iot.geo.dashboard/src/main/resources/carbonapps/GadgetGeoDashboard_1.0.0/geo-dashboard/controllers/modals/traffic_point.jag b/components/analytics/iot-analytics/org.wso2.carbon.iot.geo.dashboard/src/main/resources/carbonapps/GadgetGeoDashboard_1.0.0/geo-dashboard/controllers/modals/traffic_point.jag index 0f70cdd63..af1a9421c 100644 --- a/components/analytics/iot-analytics/org.wso2.carbon.iot.geo.dashboard/src/main/resources/carbonapps/GadgetGeoDashboard_1.0.0/geo-dashboard/controllers/modals/traffic_point.jag +++ b/components/analytics/iot-analytics/org.wso2.carbon.iot.geo.dashboard/src/main/resources/carbonapps/GadgetGeoDashboard_1.0.0/geo-dashboard/controllers/modals/traffic_point.jag @@ -33,9 +33,6 @@ -<% -var get = require('../get_alerts.jag').get; -%> + \ No newline at end of file diff --git a/components/analytics/iot-analytics/org.wso2.carbon.iot.geo.dashboard/src/main/resources/carbonapps/GadgetGeoDashboard_1.0.0/geo-dashboard/controllers/remove_alerts.jag b/components/analytics/iot-analytics/org.wso2.carbon.iot.geo.dashboard/src/main/resources/carbonapps/GadgetGeoDashboard_1.0.0/geo-dashboard/controllers/remove_alerts.jag index a07296bbd..ebb762b45 100644 --- a/components/analytics/iot-analytics/org.wso2.carbon.iot.geo.dashboard/src/main/resources/carbonapps/GadgetGeoDashboard_1.0.0/geo-dashboard/controllers/remove_alerts.jag +++ b/components/analytics/iot-analytics/org.wso2.carbon.iot.geo.dashboard/src/main/resources/carbonapps/GadgetGeoDashboard_1.0.0/geo-dashboard/controllers/remove_alerts.jag @@ -31,8 +31,6 @@ var eventProcessorOption = eventsProcessorServiceClient.getOptions(); eventProcessorOption.setManageSession(true); eventProcessorOption.setProperty(HTTPConstants.COOKIE_STRING, session.get('authToken')); - -var cepInfo = require('../include/commons.jag').cepInfo; var removeAlert = require('../include/store_alerts.jag').remove; var ws = require('ws'); var process = require("process"), host = process.getProperty('server.host'), diff --git a/components/analytics/iot-analytics/org.wso2.carbon.iot.geo.dashboard/src/main/resources/carbonapps/GadgetGeoDashboard_1.0.0/geo-dashboard/controllers/set_alerts.jag b/components/analytics/iot-analytics/org.wso2.carbon.iot.geo.dashboard/src/main/resources/carbonapps/GadgetGeoDashboard_1.0.0/geo-dashboard/controllers/set_alerts.jag index 99e8a0996..b360147c1 100644 --- a/components/analytics/iot-analytics/org.wso2.carbon.iot.geo.dashboard/src/main/resources/carbonapps/GadgetGeoDashboard_1.0.0/geo-dashboard/controllers/set_alerts.jag +++ b/components/analytics/iot-analytics/org.wso2.carbon.iot.geo.dashboard/src/main/resources/carbonapps/GadgetGeoDashboard_1.0.0/geo-dashboard/controllers/set_alerts.jag @@ -32,8 +32,6 @@ var eventsProcessorServiceClient = eventprocessorStub._getServiceClient(); var eventProcessorOption = eventsProcessorServiceClient.getOptions(); eventProcessorOption.setManageSession(true); eventProcessorOption.setProperty(HTTPConstants.COOKIE_STRING, session.get('authToken')); - -var escapeSiddhiql = require('../include/commons.jag').escapeSiddhiql; var storeAlerts = require('../include/store_alerts.jag').store; // TODO: change to js var ws = require('ws'); var process = require("process"), host = process.getProperty('server.host'), @@ -90,7 +88,7 @@ if (verb == "POST") { } else if (executionPlan == 'Traffic') { var resourceContents = parseDataJson.geoFenceGeoJSON; } - storeAlerts(parseKey, resourceContents, executionPlan, optionalArgs, deviceId); + storeAlerts(resourceContents, executionPlan, optionalArgs, deviceId); var payload; if (cepAction == "edit") { diff --git a/components/analytics/iot-analytics/org.wso2.carbon.iot.geo.dashboard/src/main/resources/carbonapps/GadgetGeoDashboard_1.0.0/geo-dashboard/controllers/tile_servers.jag b/components/analytics/iot-analytics/org.wso2.carbon.iot.geo.dashboard/src/main/resources/carbonapps/GadgetGeoDashboard_1.0.0/geo-dashboard/controllers/tile_servers.jag index a5c6ffc96..08ac830e2 100644 --- a/components/analytics/iot-analytics/org.wso2.carbon.iot.geo.dashboard/src/main/resources/carbonapps/GadgetGeoDashboard_1.0.0/geo-dashboard/controllers/tile_servers.jag +++ b/components/analytics/iot-analytics/org.wso2.carbon.iot.geo.dashboard/src/main/resources/carbonapps/GadgetGeoDashboard_1.0.0/geo-dashboard/controllers/tile_servers.jag @@ -21,11 +21,11 @@ * Get all available tile servers from RDB via HTTP GET, Insert new tile servers information via HTTP POST request */ -var configuration = require('../conf/database.json'); +var constants = require("constants.jag"); +var db = new Database(constants.DATA_SOURCE_NAME); var log = new Log(); //Sample create table query create table tileServers (serverId int NOT NULL AUTO_INCREMENT, url varchar(255) NOT NULL, name varchar(255), PRIMARY KEY (serverID)); var tableName = "tileservers"; -var db = new Database("jdbc:h2:repository/database/WSO2_GEO",configuration.username,configuration.password); if(request.getMethod() == "GET"){ @@ -46,7 +46,9 @@ if(request.getMethod() == "GET"){ var getAllTileServers = "select * from tileServers"; try{ var allTileServers = db.query(getAllTileServers); - log.info(allTileServers); + if (log.isDebugEnabled) { + log.debug(allTileServers); + } response.contentType = "application/json"; response.characterEncoding = "UTF-8"; response.content = allTileServers; @@ -73,8 +75,9 @@ else if(request.getMethod() == "POST"){ var insertTileServer ="INSERT INTO tileServers (url, name, subdomains, attribution, maxzoom) VALUES('"+ url +"', '"+ name +"', '"+ subdomains +"', '"+ attribution +"', '"+ maxzoom +"' );"; try{ db.query(insertTileServer); - log.info(name + ' tile server added successfully!'); - print(name + ' tile server added successfully!'); + if (log.isDebugEnabled()) { + log.debug(name + ' tile server added successfully!'); + } } catch(e){ log.error(e.toString()); diff --git a/components/analytics/iot-analytics/org.wso2.carbon.iot.geo.dashboard/src/main/resources/carbonapps/GadgetGeoDashboard_1.0.0/geo-dashboard/controllers/wms_endpoints.jag b/components/analytics/iot-analytics/org.wso2.carbon.iot.geo.dashboard/src/main/resources/carbonapps/GadgetGeoDashboard_1.0.0/geo-dashboard/controllers/wms_endpoints.jag index 453535513..69d8e7c8e 100644 --- a/components/analytics/iot-analytics/org.wso2.carbon.iot.geo.dashboard/src/main/resources/carbonapps/GadgetGeoDashboard_1.0.0/geo-dashboard/controllers/wms_endpoints.jag +++ b/components/analytics/iot-analytics/org.wso2.carbon.iot.geo.dashboard/src/main/resources/carbonapps/GadgetGeoDashboard_1.0.0/geo-dashboard/controllers/wms_endpoints.jag @@ -21,11 +21,10 @@ * Get all available tile servers from RDB via HTTP GET, Insert new tile servers information via HTTP POST request */ -var configuration = require('../conf/database.json'); +var constants = require("constants.jag"); +var db = new Database(constants.DATA_SOURCE_NAME); var log = new Log(); - var tableName = "webMapService"; -var db = new Database("jdbc:h2:repository/database/WSO2_GEO",configuration.username,configuration.password); if(request.getMethod() == "GET"){ @@ -47,7 +46,9 @@ if(request.getMethod() == "GET"){ var getAllWmsEndPoints = "select * from webMapService"; try{ var allWmsEndPoints = db.query(getAllWmsEndPoints); - log.info(allWmsEndPoints); + if (log.isDebugEnabled()) { + log.debug(allWmsEndPoints); + } response.contentType = "application/json"; response.characterEncoding = "UTF-8"; response.content = allWmsEndPoints; @@ -74,8 +75,9 @@ else if(request.getMethod() == "POST"){ var insertWmsEndPoint ="INSERT INTO webMapService (serviceUrl, name, layers, version, format) VALUES('"+ serviceEndPoint +"', '"+ serviceName +"', '"+ layers +"', '"+ wmsVersion +"', '"+ outputFormat +"' );"; try{ db.query(insertWmsEndPoint); - log.info(serviceName + ' wms service added successfully!'); - print(serviceName + 'added successfully!'); + if (log.isDebugEnabled()) { + log.info(serviceName + ' wms service added successfully!'); + } } catch(e){ log.error(e.toString()); @@ -102,7 +104,6 @@ function logToFile(message){ message = file.write(message); file.close(); - } %> \ No newline at end of file diff --git a/components/analytics/iot-analytics/org.wso2.carbon.iot.geo.dashboard/src/main/resources/carbonapps/GadgetGeoDashboard_1.0.0/geo-dashboard/include/commons.jag b/components/analytics/iot-analytics/org.wso2.carbon.iot.geo.dashboard/src/main/resources/carbonapps/GadgetGeoDashboard_1.0.0/geo-dashboard/include/commons.jag index c0c40ab42..6c64ed85c 100644 --- a/components/analytics/iot-analytics/org.wso2.carbon.iot.geo.dashboard/src/main/resources/carbonapps/GadgetGeoDashboard_1.0.0/geo-dashboard/include/commons.jag +++ b/components/analytics/iot-analytics/org.wso2.carbon.iot.geo.dashboard/src/main/resources/carbonapps/GadgetGeoDashboard_1.0.0/geo-dashboard/include/commons.jag @@ -28,12 +28,4 @@ var escapeSiddhiql = function (s) { return XML_CHAR_MAP[ch]; }); }; - -var cepInfo = function () { - var configuration = require("../conf/cep_info.json"); - return configuration; -}; - -// TODO: move to new datastore api -var dataStore = new MetadataStore("admin", "admin"); %> \ No newline at end of file diff --git a/components/analytics/iot-analytics/org.wso2.carbon.iot.geo.dashboard/src/main/resources/carbonapps/GadgetGeoDashboard_1.0.0/geo-dashboard/include/database.jag b/components/analytics/iot-analytics/org.wso2.carbon.iot.geo.dashboard/src/main/resources/carbonapps/GadgetGeoDashboard_1.0.0/geo-dashboard/include/database.jag deleted file mode 100644 index 7e5325cc1..000000000 --- a/components/analytics/iot-analytics/org.wso2.carbon.iot.geo.dashboard/src/main/resources/carbonapps/GadgetGeoDashboard_1.0.0/geo-dashboard/include/database.jag +++ /dev/null @@ -1,20 +0,0 @@ -<% -/* - ~ Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. - ~ - ~ WSO2 Inc. licenses this file to you under the Apache License, - ~ Version 2.0 (the "License"); you may not use this file except - ~ in compliance with the License. - ~ You may obtain a copy of the License at - ~ - ~ http://www.apache.org/licenses/LICENSE-2.0 - ~ - ~ Unless required by applicable law or agreed to in writing, - ~ software distributed under the License is distributed on an - ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - ~ KIND, either express or implied. See the License for the - ~ specific language governing permissions and limitations - ~ under the License. - */ - var configuration = require('../conf/database.json'); -%> diff --git a/components/analytics/iot-analytics/org.wso2.carbon.iot.geo.dashboard/src/main/resources/carbonapps/GadgetGeoDashboard_1.0.0/geo-dashboard/include/store_alerts.jag b/components/analytics/iot-analytics/org.wso2.carbon.iot.geo.dashboard/src/main/resources/carbonapps/GadgetGeoDashboard_1.0.0/geo-dashboard/include/store_alerts.jag index 5b1b3b825..a42d43e5a 100644 --- a/components/analytics/iot-analytics/org.wso2.carbon.iot.geo.dashboard/src/main/resources/carbonapps/GadgetGeoDashboard_1.0.0/geo-dashboard/include/store_alerts.jag +++ b/components/analytics/iot-analytics/org.wso2.carbon.iot.geo.dashboard/src/main/resources/carbonapps/GadgetGeoDashboard_1.0.0/geo-dashboard/include/store_alerts.jag @@ -18,133 +18,148 @@ */ // TODO: change the name of this jaggery file even thoe it says 'store_alerts' it is actually removing the alerts from the data store as well o.O wired - -var dataStore = require('../include/commons.jag').dataStore; var log = new Log(); -var deviceIdSeperator = "---"; - -function store(parameterKeyName, resourceContents, executionPlan, optional, deviceId) { - log.info("DEBUG:*** resourceContents:" + resourceContents); - if (executionPlan == "Speed") { - var currentLimit; - var speedFile = "speed" + deviceIdSeperator + ".json"; - try { - currentLimit = dataStore.get(speedFile); - } - catch (e) { - log.info("DEBUG:*** Catch error:" + e.message); - currentLimit = dataStore.newResource(); - currentLimit.mediaType = 'application/json'; - currentLimit.description = "User define speed limit for display alerts."; +var constants = require("../controllers/constants.jag"); + +var getRegistry = function() { + var carbon = require("carbon"); + var server = new carbon.server.Server(); + return new carbon.registry.Registry(server, { + system: true + }); +}; + +/** + * Get the registry path to save the alert + * @param {String} alert_type Type of the alert + * @param {String} id Id of the device + * @param {String} optional /optional identity + * @return {String} Registry Path to save teh alert + * */ +var registryPath = function (alert_type, id, optional) { + if (alert_type && id ) { + if (alert_type === constants.EXECUTION_PLAN_TYPE_SPEED || alert_type === constants + .EXECUTION_PLAN_TYPE_PROXIMITY) { + return constants.REGISTRY_PATH_FOR_ALERTS + alert_type + "/" + id; + } else { + return constants.REGISTRY_PATH_FOR_ALERTS + alert_type + "/" + id + "/" + optional; } - currentLimit.content = String('{"speedLimit": ' + resourceContents + '}'); - dataStore.put(speedFile, currentLimit); - log.info("DEBUG:*** Current speed limit set to:" + currentLimit.content); + } else { + throw "Alert type and ID are mandatory field to generate the relevant registry path"; } - else if (executionPlan == "Within") { - try { - var res = dataStore.get("geo/alerts/within"); - } - catch (e) { - var geo = dataStore.newCollection(); - var alerts = dataStore.newCollection(); - var within = dataStore.newCollection(); - - dataStore.put("geo", geo); - dataStore.put("alerts", alerts); - dataStore.put("within", within); +}; - } - log.info("DEBUG:****** resourceContents = " + String('{"geoJson": ' + resourceContents + '}')); - var resource = dataStore.newResource(); - resource.addProperty("queryName", optional.queryName); - resource.addProperty("areaName", optional.customName); - resource.mediaType = 'application/json'; - resource.content = String(resourceContents); - dataStore.put(String("geo/alerts/within/" + optional.queryName + deviceIdSeperator + deviceId + ".json"), resource); - } else if (executionPlan == "Proximity") { - try { - var res = dataStore.get("geo/alerts/proximity"); - } - catch (e) { - var geo = dataStore.newCollection(); - var alerts = dataStore.newCollection(); - var proximity = dataStore.newCollection(); - - dataStore.put("geo", geo); - dataStore.put("alerts", alerts); - dataStore.put("proximity", proximity); +/** + * To store the alerts for visualizing purposes + * @param resourceContents Value that need to saved + * @param executionPlan Type of the execution plan + * @param optional Optional parameters that are only specific to particular device types + * @param deviceId Id of the device + */ +function store(resourceContents, executionPlan, optional, deviceId) { + var registry = getRegistry(); + var pathToAddAlert = ""; + if (log.isDebugEnabled()) { + log.debug("DEBUG:*** resourceContents:" + resourceContents); + } + if (executionPlan === constants.EXECUTION_PLAN_TYPE_SPEED) { + pathToAddAlert = registryPath(constants.EXECUTION_PLAN_TYPE_SPEED, deviceId); + registry.put(pathToAddAlert, { + content: '{"speedLimit": ' + resourceContents + '}', + mediaType: 'application/json' + }); + if (log.isDebugEnabled()) { + log.debug("DEBUG:*** Current speed limit set to:" + currentLimit.content); } - log.info("DEBUG:****** resourceContents = " + resourceContents); - var resource = dataStore.newResource(); - resource.addProperty("proximityDistance", resourceContents.proximityDistance); - resource.addProperty("proximityTime", resourceContents.proximityTime); - dataStore.put(String("geo/alerts/proximity/" + optional.executionPlan + deviceIdSeperator + deviceId + ".json"), resource); - - } else if (executionPlan == "Stationery") { - - try { - var res = dataStore.get("geo/alerts/stationery"); + } + else if (executionPlan === constants.EXECUTION_PLAN_TYPE_WITHIN) { + pathToAddAlert = registryPath(constants.EXECUTION_PLAN_TYPE_WITHIN, deviceId, optional.queryName); + if (log.isDebugEnabled()) { + log.debug("DEBUG:****** resourceContents = " + String('{"geoJson": ' + resourceContents + '}')); } - catch (e) { - var geo = dataStore.newCollection(); - var alerts = dataStore.newCollection(); - var stationery = dataStore.newCollection(); - - dataStore.put("geo", geo); - dataStore.put("alerts", alerts); - dataStore.put("stationery", stationery); + registry.put(pathToAddAlert, { + content: JSON.stringify(resourceContents), + mediaType: 'application/json', + properties : { + "queryName" : optional.queryName, + "areaName" : optional.customName + } + }); + } else if (executionPlan === constants.EXECUTION_PLAN_TYPE_PROXIMITY) { + pathToAddAlert = registryPath(constants.EXECUTION_PLAN_TYPE_PROXIMITY, deviceId); + if (log.isDebugEnabled()) { + log.debug("DEBUG:****** resourceContents = " + resourceContents); } - log.info("DEBUG:****** resourceContents = " + resourceContents.geoFenceGeoJSON); - var resource = dataStore.newResource(); - resource.addProperty("queryName", optional.queryName); - resource.addProperty("stationeryName", optional.customName); - resource.addProperty("stationeryTime", resourceContents.stationeryTime); - resource.addProperty("fluctuationRadius", resourceContents.fluctuationRadius); - resource.content = String(resourceContents.geoFenceGeoJSON); - dataStore.put(String("geo/alerts/stationery/" + optional.queryName + deviceIdSeperator + deviceId + ".json"), resource); - - } else if (executionPlan == "Traffic") { - - try { - var res = dataStore.get("geo/alerts/traffic"); + registry.put(pathToAddAlert, { + content: "", + mediaType: 'application/json' + }); + registry.addProperty(pathToAddAlert, "proximityDistance", resourceContents.proximityDistance); + registry.addProperty(pathToAddAlert, "proximityTime", resourceContents.proximityTime); + } else if (executionPlan === constants.EXECUTION_PLAN_TYPE_STATIONARY) { + pathToAddAlert = registryPath(constants.EXECUTION_PLAN_TYPE_STATIONARY, deviceId, optional.queryName); + if (log.isDebugEnabled()) { + log.debug("DEBUG:****** resourceContents = " + resourceContents); } - catch (e) { - var geo = dataStore.newCollection(); - var alerts = dataStore.newCollection(); - var traffic = dataStore.newCollection(); - - dataStore.put("geo", geo); - dataStore.put("alerts", alerts); - dataStore.put("traffic", traffic); + var registryResource = { + content: JSON.stringify(resourceContents.geoFenceGeoJSON), + mediaType: 'application/json', + properties: { + "queryName" : optional.queryName, + "stationeryName" : optional.customName, + "stationeryTime" : resourceContents.stationeryTime, + "fluctuationRadius" : resourceContents.fluctuationRadius + } + }; + registry.put(pathToAddAlert, registryResource); + } else if (executionPlan === constants.EXECUTION_PLAN_TYPE_TRAFFIC) { + pathToAddAlert = registryPath(constants.EXECUTION_PLAN_TYPE_TRAFFIC, deviceId, optional.queryName); + if (log.isDebugEnabled()) { + log.debug("DEBUG:****** resourceContents = " + resourceContents.geoFenceGeoJSON); } - log.info("DEBUG:****** resourceContents = " + resourceContents.geoFenceGeoJSON); - var resource = dataStore.newResource(); - resource.addProperty("queryName", optional.queryName); - resource.addProperty("areaName", optional.customName); - resource.content = String(resourceContents); - dataStore.put(String("geo/alerts/traffic/" + optional.queryName + deviceIdSeperator + deviceId + ".json"), resource); - + var registryResource = { + content: JSON.stringify(resourceContents), + mediaType: 'application/json', + properties: { + "queryName" : optional.queryName, + "stationeryName" : optional.customName, + "stationeryTime" : resourceContents.stationeryTime, + "fluctuationRadius" : resourceContents.fluctuationRadius + } + }; + registry.put(pathToAddAlert, { + content: JSON.stringify(resourceContents), + mediaType: 'application/json', + properties: { + "queryName" : optional.queryName, + "areaName" : optional.customName + } + }); } - } -function remove(queryName, id, deviceId) { +/** + * To remove the registry resource + * @param queryName Name of the query that need to be removed + * @param executionPlanType type of the execution plan that need to be removed + * @param deviceId Id of the device + */ +function remove(queryName, executionPlanType, deviceId) { var path = ""; try { - if (id == "WithIn") { - path = "geo/alerts/within/" + queryName + deviceIdSeperator + deviceId + ".json"; - } else if (id == "Stationery") { - path = "geo/alerts/stationery/" + queryName + deviceIdSeperator + deviceId + ".json"; - } else if (id == "Traffic") { - path = "geo/alerts/traffic/" + queryName + deviceIdSeperator + deviceId + ".json"; + if (executionPlanType === constants.EXECUTION_PLAN_TYPE_SPEED || executionPlanType === constants.EXECUTION_PLAN_TYPE_PROXIMITY) { + path = registryPath(executionPlanType, deviceId); + } else { + path = registryPath(executionPlanType, deviceId, queryName); + } + getRegistry().remove(path); + if (log.isDebugEnabled()) { + log.debug("Resource is removed from the path" + path); } - log.info("DEBUG: path = " + path); - dataStore.remove(path); } catch (e) { - log.info("The requested resource " + path + " was not found on this server. That’s all we know."); // Inspired by google 404 message + log.error("The requested resource " + path + " was not found on this server."); } } %> \ No newline at end of file diff --git a/components/analytics/iot-analytics/org.wso2.carbon.iot.geo.dashboard/src/main/resources/carbonapps/GadgetGeoDashboard_1.0.0/geo-dashboard/js/geo_fencing.js b/components/analytics/iot-analytics/org.wso2.carbon.iot.geo.dashboard/src/main/resources/carbonapps/GadgetGeoDashboard_1.0.0/geo-dashboard/js/geo_fencing.js index 2a7846b65..1cb91328c 100644 --- a/components/analytics/iot-analytics/org.wso2.carbon.iot.geo.dashboard/src/main/resources/carbonapps/GadgetGeoDashboard_1.0.0/geo-dashboard/js/geo_fencing.js +++ b/components/analytics/iot-analytics/org.wso2.carbon.iot.geo.dashboard/src/main/resources/carbonapps/GadgetGeoDashboard_1.0.0/geo-dashboard/js/geo_fencing.js @@ -349,7 +349,7 @@ function updateDrawing(updatedGeoJson) { } function viewFence(geoFenceElement,id) { - var geoJson = JSON.parse($(geoFenceElement).attr('data-geoJson')); + var geoJson = JSON.parse($(geoFenceElement).attr('data-geoJson').replace(/'/g, '"')); var queryName = $(geoFenceElement).attr('data-queryName'); var areaName = $(geoFenceElement).attr('data-areaName'); var geometryShape; @@ -382,7 +382,7 @@ function viewFence(geoFenceElement,id) { var stationeryTime=$(geoFenceElement).attr('data-stationeryTime'); - $('#templateLoader').load("assets/html_templates/view_fence_popup.html #viewStationeryAlert", function () { + $('#templateLoader').load("/portal/store/carbon.super/fs/gadget/geo-dashboard/assets/html_templates/view_fence_popup.html #viewStationeryAlert", function () { var popupTemplate = $('#templateLoader').find('#viewStationeryAlert'); popupTemplate.find('#exportGeoJson').attr('leaflet_id', geometryShape._leaflet_id); popupTemplate.find('#hideViewFence').attr('leaflet_id', geometryShape._leaflet_id); @@ -397,7 +397,7 @@ function viewFence(geoFenceElement,id) { }); } else if(id=="WithIn"){ - $('#templateLoader').load("assets/html_templates/view_fence_popup.html #viewWithinAlert", function () { + $('#templateLoader').load("/portal/store/carbon.super/fs/gadget/geo-dashboard/assets/html_templates/view_fence_popup.html #viewWithinAlert", function () { var popupTemplate = $('#templateLoader').find('#viewWithinAlert'); popupTemplate.find('#exportGeoJson').attr('leaflet_id', geometryShape._leaflet_id); popupTemplate.find('#hideViewFence').attr('leaflet_id', geometryShape._leaflet_id); diff --git a/components/analytics/iot-analytics/org.wso2.carbon.iot.geo.dashboard/src/main/resources/carbonapps/GadgetGeoDashboard_1.0.0/geo-dashboard/js/geo_proximity.js b/components/analytics/iot-analytics/org.wso2.carbon.iot.geo.dashboard/src/main/resources/carbonapps/GadgetGeoDashboard_1.0.0/geo-dashboard/js/geo_proximity.js index 06b793250..f00c3a09a 100644 --- a/components/analytics/iot-analytics/org.wso2.carbon.iot.geo.dashboard/src/main/resources/carbonapps/GadgetGeoDashboard_1.0.0/geo-dashboard/js/geo_proximity.js +++ b/components/analytics/iot-analytics/org.wso2.carbon.iot.geo.dashboard/src/main/resources/carbonapps/GadgetGeoDashboard_1.0.0/geo-dashboard/js/geo_proximity.js @@ -28,6 +28,12 @@ var proximityMap = L.map("proximityMap", { var proximityDistance = $("#proximityDistance"); +var serverUrl = "/portal/store/carbon.super/fs/gadget/geo-dashboard/controllers/get_alerts.jag?executionPlanType=Proximity&deviceId=" + deviceId; +$.get(serverUrl, null, function (response) { + proximityDistance.val(response.proximityDistance); + $("#proximityTime").val(response.proximityTime); +}); + L.grid({ redraw: 'move' }).addTo(proximityMap); diff --git a/components/analytics/iot-analytics/org.wso2.carbon.iot.geo.dashboard/src/main/resources/carbonapps/GadgetGeoDashboard_1.0.0/geo-dashboard/js/geo_remote.js b/components/analytics/iot-analytics/org.wso2.carbon.iot.geo.dashboard/src/main/resources/carbonapps/GadgetGeoDashboard_1.0.0/geo-dashboard/js/geo_remote.js index b3b3ced6f..10ad7582f 100644 --- a/components/analytics/iot-analytics/org.wso2.carbon.iot.geo.dashboard/src/main/resources/carbonapps/GadgetGeoDashboard_1.0.0/geo-dashboard/js/geo_remote.js +++ b/components/analytics/iot-analytics/org.wso2.carbon.iot.geo.dashboard/src/main/resources/carbonapps/GadgetGeoDashboard_1.0.0/geo-dashboard/js/geo_remote.js @@ -595,7 +595,7 @@ function createExecutionPlanName(queryName, id, deviceId) { return 'Geo-ExecutionPlan-Within' + (queryName ? '_' + queryName : '') + "---" + (deviceId ? '_' + deviceId : '') + '_alert'; // TODO: value of the `queryName` can't be empty, because it will cause name conflicts in CEP, have to do validation(check not empty String) } else if (id == "Stationery") { - return 'Geo-ExecutionPlan-Stationery' + (queryName ? '_' + queryName : '') + '_alert'; // TODO: value of the `queryName` can't be empty, because it will cause name conflicts in CEP, have to do validation(check not empty String) + return 'Geo-ExecutionPlan-Stationery' + (queryName ? '_' + queryName : '') + "---" + (deviceId ? '_' + deviceId : '') + '_alert'; // TODO: value of the `queryName` can't be empty, because it will cause name conflicts in CEP, have to do validation(check not empty String) } else if (id == "Traffic") { return 'Geo-ExecutionPlan-Traffic' + (queryName ? '_' + queryName : '') + '_alert'; // TODO: value of the `queryName` can't be empty, because it will cause name conflicts in CEP, have to do validation(check not empty String) diff --git a/components/analytics/iot-analytics/org.wso2.carbon.iot.geo.dashboard/src/main/resources/carbonapps/GadgetGeoDashboard_1.0.0/geo-dashboard/js/geo_speed.js b/components/analytics/iot-analytics/org.wso2.carbon.iot.geo.dashboard/src/main/resources/carbonapps/GadgetGeoDashboard_1.0.0/geo-dashboard/js/geo_speed.js new file mode 100644 index 000000000..a0dc7fe2a --- /dev/null +++ b/components/analytics/iot-analytics/org.wso2.carbon.iot.geo.dashboard/src/main/resources/carbonapps/GadgetGeoDashboard_1.0.0/geo-dashboard/js/geo_speed.js @@ -0,0 +1,27 @@ +/* + * Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. + * + * WSO2 Inc. licenses this file to you under the Apache License, + * Version 2.0 (the "License"); you may not use this file except + * in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +function setSpeed() { + var serverUrl = "/portal/store/carbon.super/fs/gadget/geo-dashboard/controllers/get_alerts.jag?executionPlanType=Speed&deviceId=" + deviceId; + $.get(serverUrl, null, function (response) { + if (response) { + $("#speedAlertValue").val(response.speedLimit); + } + }); +} +setSpeed(); diff --git a/components/analytics/iot-analytics/org.wso2.carbon.iot.geo.dashboard/src/main/resources/carbonapps/GadgetGeoDashboard_1.0.0/geo-dashboard/js/geo_stationary.js b/components/analytics/iot-analytics/org.wso2.carbon.iot.geo.dashboard/src/main/resources/carbonapps/GadgetGeoDashboard_1.0.0/geo-dashboard/js/geo_stationary.js new file mode 100644 index 000000000..4e6a10dc3 --- /dev/null +++ b/components/analytics/iot-analytics/org.wso2.carbon.iot.geo.dashboard/src/main/resources/carbonapps/GadgetGeoDashboard_1.0.0/geo-dashboard/js/geo_stationary.js @@ -0,0 +1,44 @@ +/* + * Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. + * + * WSO2 Inc. licenses this file to you under the Apache License, + * Version 2.0 (the "License"); you may not use this file except + * in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +function initStationaryAlert() { + var serverUrl = "/portal/store/carbon.super/fs/gadget/geo-dashboard/controllers/get_alerts.jag?executionPlanType=Stationery&deviceId=" + deviceId; + $(".removeGeoFence").tooltip(); + $.get(serverUrl, null, function (response) { + if (response) { + $(".fence-not-exist").hide(); + for (var index in response) { + var alert = response[index]; + $("#stationary-alert-table > tbody").append( + "" + + "" + alert.areaName + "" + alert.stationeryTime + "" + alert.fluctuationRadius + + "" + alert.queryName + "" + alert.createdTime + "") + } + } else{ + $(".fence-not-exist").show(); + } + $('.viewGeoFenceRow td:not(:last-child)').click(function () { + viewFence(this.parentElement,'Stationery'); + }); + }); +} +initStationaryAlert(); \ No newline at end of file diff --git a/components/analytics/iot-analytics/org.wso2.carbon.iot.geo.dashboard/src/main/resources/carbonapps/GadgetGeoDashboard_1.0.0/geo-dashboard/js/geo_within.js b/components/analytics/iot-analytics/org.wso2.carbon.iot.geo.dashboard/src/main/resources/carbonapps/GadgetGeoDashboard_1.0.0/geo-dashboard/js/geo_within.js new file mode 100644 index 000000000..6739f5897 --- /dev/null +++ b/components/analytics/iot-analytics/org.wso2.carbon.iot.geo.dashboard/src/main/resources/carbonapps/GadgetGeoDashboard_1.0.0/geo-dashboard/js/geo_within.js @@ -0,0 +1,43 @@ +/* + * Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. + * + * WSO2 Inc. licenses this file to you under the Apache License, + * Version 2.0 (the "License"); you may not use this file except + * in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +function initializeWithin() { + $(".removeGeoFence").tooltip(); + var serverUrl = "/portal/store/carbon.super/fs/gadget/geo-dashboard/controllers/get_alerts.jag?executionPlanType=Within&deviceId=" + deviceId; + $.get(serverUrl, null, function (response) { + if (response) { + $(".fence-not-exist").hide(); + for (var index in response) { + var alert = response[index]; + $("#within-alert > tbody").append( + "" + alert.areaName + "" + + "" + alert.queryName + "" + alert.createdTime + "" + + ""); + } + } else{ + $(".fence-not-exist").show(); + } + $('.viewGeoFenceRow td:not(:last-child)').click(function () { + viewFence(this.parentElement,'WithIn'); + }); + + }); +} +initializeWithin(); \ No newline at end of file