From 2ec9f68135eaaae156219cfdaaf48f827fdf09c6 Mon Sep 17 00:00:00 2001 From: dilanua Date: Tue, 2 Aug 2016 18:47:14 +0530 Subject: [PATCH] Removing the deprecation of operation.js as it seems to have one dependancy to plugins --- .../modules/business-controllers/operation.js | 234 +++++++++--------- 1 file changed, 115 insertions(+), 119 deletions(-) diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/modules/business-controllers/operation.js b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/modules/business-controllers/operation.js index 1e479286a90..e96ffcdec19 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/modules/business-controllers/operation.js +++ b/components/device-mgt/org.wso2.carbon.device.mgt.ui/src/main/resources/jaggeryapps/devicemgt/app/modules/business-controllers/operation.js @@ -16,123 +16,119 @@ * under the License. */ -/* - @Deprecated New - */ +var operationModule = function () { + var log = new Log("/app/modules/business-controllers/operation.js"); + var utility = require('/app/modules/utility.js').utility; + var constants = require('/app/modules/constants.js'); + var devicemgtProps = require("/app/modules/conf-reader/main.js")["conf"]; + var serviceInvokers = require("/app/modules/oauth/token-protected-service-invokers.js")["invokers"]; + + var publicMethods = {}; + var privateMethods = {}; + + /** + * This method reads the token from the Token client and return the access token. + * If the token pair s not set in the session this will send a redirect to the login page. + */ + function getAccessToken(deviceType, owner, deviceId) { + var TokenClient = Packages.org.wso2.carbon.device.mgt.iot.apimgt.TokenClient; + var accessTokenClient = new TokenClient(deviceType); + var accessTokenInfo = accessTokenClient.getAccessToken(owner, deviceId); + return accessTokenInfo.getAccess_token(); + } + + privateMethods.getOperationsFromFeatures = function (deviceType, operationType) { + var url = devicemgtProps["httpsURL"] + constants.ADMIN_SERVICE_CONTEXT + "/features/" + deviceType; + var featuresList = serviceInvokers.XMLHttp.get(url, function (responsePayload) { + var features = responsePayload; + var featureList = []; + var feature; + for (var i = 0; i < features.length; i++) { + feature = {}; + var analyticStreams = utility.getDeviceTypeConfig(deviceType)["analyticStreams"]; + if (analyticStreams) { + for (var stream in analyticStreams) { + if (analyticStreams[stream].name == features[i].name) { + feature.ui_unit = analyticStreams[stream].ui_unit; + break; + } + } + } + + feature["operation"] = features[i].code; + feature["name"] = features[i].name; + feature["description"] = features[i].description; + feature["deviceType"] = deviceType; + feature["params"] = []; + var metaData = features[i].metadataEntries; + if (metaData) { + for (var j = 0; j < metaData.length; j++) { + feature["params"].push(metaData[j].value); + } + featureList.push(feature); + } + } + return featureList; + }, function (responsePayload) { + var response = {}; + response["status"] = "error"; + return response; + } + ); + return featuresList; + }; + + publicMethods.getControlOperations = function (deviceType) { + var operations = privateMethods.getOperationsFromFeatures(deviceType, "operation"); + for (var op in operations) { + var iconPath = utility.getOperationIcon(deviceType, operations[op].operation); + if (iconPath) { + operations[op]["icon"] = iconPath; + } + } + return operations; + }; + + publicMethods.getMonitorOperations = function (deviceType) { + return privateMethods.getOperationsFromFeatures(deviceType, "monitor"); + }; + + publicMethods.handlePOSTOperation = function (deviceType, operation, deviceId, params) { + var user = session.get(constants.USER_SESSION_KEY); + var endPoint = devicemgtProps["httpsURL"] + '/' + deviceType + "/controller/" + operation; + var header = '{"owner":"' + user.username + '","deviceId":"' + deviceId + + '","protocol":"mqtt", "sessionId":"' + session.getId() + '", "' + + constants.AUTHORIZATION_HEADER + '":"' + constants.BEARER_PREFIX + + getAccessToken(deviceType, user.username, deviceId) + '"}'; + return post(endPoint, params, JSON.parse(header), "json"); + }; + + publicMethods.handleGETOperation = function (deviceType, operation, operationName, deviceId) { + var user = session.get(constants.USER_SESSION_KEY); + var endPoint = devicemgtProps["httpsURL"] + '/' + deviceType + "/controller/" + operation; + var header = '{"owner":"' + user.username + '","deviceId":"' + deviceId + + '","protocol":"mqtt", "' + constants.AUTHORIZATION_HEADER + '":"' + + constants.BEARER_PREFIX + getAccessToken(deviceType, user.username, deviceId) + + '"}'; + var result = get(endPoint, {}, JSON.parse(header), "json"); + if (result.data) { + var values = result.data.sensorValue.split(','); + if (operationName == 'gps') { + result.data.map = { + lat: parseFloat(values[0]), + lng: parseFloat(values[1]) + } + } else { + var sqSum = 0; + for (var v in values) { + sqSum += Math.pow(values[v], 2); + } + result.data[operationName] = Math.sqrt(sqSum); + } + delete result.data['sensorValue']; + } + return result; + }; -//var operationModule = function () { -// var log = new Log("/app/modules/business-controllers/operation.js"); -// var utility = require('/app/modules/utility.js').utility; -// var constants = require('/app/modules/constants.js'); -// var devicemgtProps = require("/app/modules/conf-reader/main.js")["conf"]; -// var serviceInvokers = require("/app/modules/oauth/token-protected-service-invokers.js")["invokers"]; -// -// var publicMethods = {}; -// var privateMethods = {}; -// -// /** -// * This method reads the token from the Token client and return the access token. -// * If the token pair s not set in the session this will send a redirect to the login page. -// */ -// function getAccessToken(deviceType, owner, deviceId) { -// var TokenClient = Packages.org.wso2.carbon.device.mgt.iot.apimgt.TokenClient; -// var accessTokenClient = new TokenClient(deviceType); -// var accessTokenInfo = accessTokenClient.getAccessToken(owner, deviceId); -// return accessTokenInfo.getAccess_token(); -// } -// -// privateMethods.getOperationsFromFeatures = function (deviceType, operationType) { -// var url = devicemgtProps["httpsURL"] + constants.ADMIN_SERVICE_CONTEXT + "/features/" + deviceType; -// var featuresList = serviceInvokers.XMLHttp.get(url, function (responsePayload) { -// var features = responsePayload; -// var featureList = []; -// var feature; -// for (var i = 0; i < features.length; i++) { -// feature = {}; -// var analyticStreams = utility.getDeviceTypeConfig(deviceType)["analyticStreams"]; -// if (analyticStreams) { -// for (var stream in analyticStreams) { -// if (analyticStreams[stream].name == features[i].name) { -// feature.ui_unit = analyticStreams[stream].ui_unit; -// break; -// } -// } -// } -// -// feature["operation"] = features[i].code; -// feature["name"] = features[i].name; -// feature["description"] = features[i].description; -// feature["deviceType"] = deviceType; -// feature["params"] = []; -// var metaData = features[i].metadataEntries; -// if (metaData) { -// for (var j = 0; j < metaData.length; j++) { -// feature["params"].push(metaData[j].value); -// } -// featureList.push(feature); -// } -// } -// return featureList; -// }, function (responsePayload) { -// var response = {}; -// response["status"] = "error"; -// return response; -// } -// ); -// return featuresList; -// }; -// -// publicMethods.getControlOperations = function (deviceType) { -// var operations = privateMethods.getOperationsFromFeatures(deviceType, "operation"); -// for (var op in operations) { -// var iconPath = utility.getOperationIcon(deviceType, operations[op].operation); -// if (iconPath) { -// operations[op]["icon"] = iconPath; -// } -// } -// return operations; -// }; -// -// publicMethods.getMonitorOperations = function (deviceType) { -// return privateMethods.getOperationsFromFeatures(deviceType, "monitor"); -// }; -// -// publicMethods.handlePOSTOperation = function (deviceType, operation, deviceId, params) { -// var user = session.get(constants.USER_SESSION_KEY); -// var endPoint = devicemgtProps["httpsURL"] + '/' + deviceType + "/controller/" + operation; -// var header = '{"owner":"' + user.username + '","deviceId":"' + deviceId + -// '","protocol":"mqtt", "sessionId":"' + session.getId() + '", "' + -// constants.AUTHORIZATION_HEADER + '":"' + constants.BEARER_PREFIX + -// getAccessToken(deviceType, user.username, deviceId) + '"}'; -// return post(endPoint, params, JSON.parse(header), "json"); -// }; -// -// publicMethods.handleGETOperation = function (deviceType, operation, operationName, deviceId) { -// var user = session.get(constants.USER_SESSION_KEY); -// var endPoint = devicemgtProps["httpsURL"] + '/' + deviceType + "/controller/" + operation; -// var header = '{"owner":"' + user.username + '","deviceId":"' + deviceId + -// '","protocol":"mqtt", "' + constants.AUTHORIZATION_HEADER + '":"' + -// constants.BEARER_PREFIX + getAccessToken(deviceType, user.username, deviceId) + -// '"}'; -// var result = get(endPoint, {}, JSON.parse(header), "json"); -// if (result.data) { -// var values = result.data.sensorValue.split(','); -// if (operationName == 'gps') { -// result.data.map = { -// lat: parseFloat(values[0]), -// lng: parseFloat(values[1]) -// } -// } else { -// var sqSum = 0; -// for (var v in values) { -// sqSum += Math.pow(values[v], 2); -// } -// result.data[operationName] = Math.sqrt(sqSum); -// } -// delete result.data['sensorValue']; -// } -// return result; -// }; -// -// return publicMethods; -//}(); \ No newline at end of file + return publicMethods; +}(); \ No newline at end of file