diff --git a/components/device-types/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.analytics/src/main/resources/carbonapps/androidsense/android_active_stack_chart_gadget/Android_Active_Stack_Chart/conf.json b/components/device-types/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.analytics/src/main/resources/carbonapps/androidsense/android_active_stack_chart_gadget/Android_Active_Stack_Chart/conf.json
deleted file mode 100644
index 3c8d3bd0f..000000000
--- a/components/device-types/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.analytics/src/main/resources/carbonapps/androidsense/android_active_stack_chart_gadget/Android_Active_Stack_Chart/conf.json
+++ /dev/null
@@ -1,17 +0,0 @@
-{
- "chart-conf": {
- "chart-name": "bar-chart",
- "color": "action",
- "gadget-name": "Android Active Stack Chart",
- "maxLength": "45",
- "mode": "stack",
- "x": "timestamp",
- "y": "duration"
- },
- "provider-conf": {
- "limit": "45",
- "provider-name": "batch",
- "query": "",
- "tableName": "ANDROID_ACTIVE_STAT_PER_DAY"
- }
-}
\ No newline at end of file
diff --git a/components/device-types/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.analytics/src/main/resources/carbonapps/androidsense/android_active_stack_chart_gadget/Android_Active_Stack_Chart/gadget-controller.jag b/components/device-types/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.analytics/src/main/resources/carbonapps/androidsense/android_active_stack_chart_gadget/Android_Active_Stack_Chart/gadget-controller.jag
deleted file mode 100644
index f84538a40..000000000
--- a/components/device-types/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.analytics/src/main/resources/carbonapps/androidsense/android_active_stack_chart_gadget/Android_Active_Stack_Chart/gadget-controller.jag
+++ /dev/null
@@ -1,42 +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.
- *
- */
-(function () {
-
- response.contentType = 'application/json';
- var PROVIDER_CONF = 'provider-conf';
- var PROVIDER_NAME = 'provider-name';
-
- var action = request.getParameter("action");
- var data = request.getContent();
- var providerConf = data[PROVIDER_CONF];
- var providerAPI = require('js/core/' + providerConf[PROVIDER_NAME] + '-provider-api.js');
-
- if (action === 'getSchema') {
- print(providerAPI.getSchema(providerConf));
- return;
- } else if(action === 'getData'){
- print(providerAPI.getData(providerConf));
- return;
- }
-
-}());
-
-
-%>
diff --git a/components/device-types/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.analytics/src/main/resources/carbonapps/androidsense/android_active_stack_chart_gadget/Android_Active_Stack_Chart/gadget.json b/components/device-types/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.analytics/src/main/resources/carbonapps/androidsense/android_active_stack_chart_gadget/Android_Active_Stack_Chart/gadget.json
deleted file mode 100644
index 7435ba90f..000000000
--- a/components/device-types/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.analytics/src/main/resources/carbonapps/androidsense/android_active_stack_chart_gadget/Android_Active_Stack_Chart/gadget.json
+++ /dev/null
@@ -1,14 +0,0 @@
-{
- "id": "Android_Active_Stack_Chart",
- "title": "Android Active Stack Chart",
- "type": "gadget",
- "thumbnail": "gadget/Android_Active_Stack_Chart/thumbnail.png",
- "data": {
- "url": "gadget/Android_Active_Stack_Chart/gadget.xml"
- },
- "toolbarButtons":{
- "default":{
- "maximize": false
- }
- }
-}
diff --git a/components/device-types/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.analytics/src/main/resources/carbonapps/androidsense/android_active_stack_chart_gadget/Android_Active_Stack_Chart/gadget.xml b/components/device-types/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.analytics/src/main/resources/carbonapps/androidsense/android_active_stack_chart_gadget/Android_Active_Stack_Chart/gadget.xml
deleted file mode 100644
index b1bec1194..000000000
--- a/components/device-types/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.analytics/src/main/resources/carbonapps/androidsense/android_active_stack_chart_gadget/Android_Active_Stack_Chart/gadget.xml
+++ /dev/null
@@ -1,56 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- ]]>
-
-
diff --git a/components/device-types/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.analytics/src/main/resources/carbonapps/androidsense/android_active_stack_chart_gadget/Android_Active_Stack_Chart/js/core/bar-chart-api.js b/components/device-types/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.analytics/src/main/resources/carbonapps/androidsense/android_active_stack_chart_gadget/Android_Active_Stack_Chart/js/core/bar-chart-api.js
deleted file mode 100644
index 2901cd5fe..000000000
--- a/components/device-types/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.analytics/src/main/resources/carbonapps/androidsense/android_active_stack_chart_gadget/Android_Active_Stack_Chart/js/core/bar-chart-api.js
+++ /dev/null
@@ -1,147 +0,0 @@
-/*
- * Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
- *
- * Licensed 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 getConfig, validate, isProviderRequired, draw, update;
-
-(function() {
-
- var CHART_LOCATION = '/extensions/chart-templates/';
-
- /**
- * return the config to be populated in the chart configuration UI
- * @param schema
- */
- getConfig = function(schema) {
- var chartConf = require(CHART_LOCATION + '/bar-chart/config.json').config;
- /*
- dynamic logic goes here
- */
-
- var columns = [];
-
- columns.push("None");
- for(var i=0; i < schema.length; i++) {
- columns.push(schema[i]["fieldName"]);
- }
-
- for(var i=0; i < chartConf.length; i++) {
- if (chartConf[i]["fieldName"] == "color") {
- chartConf[i]["valueSet"] = columns;
- break;
- }
- }
-
- return chartConf;
- };
-
- /**
- * validate the user inout for the chart configuration
- * @param chartConfig
- */
- validate = function(chartConfig) {
- return true;
- };
-
- /**
- * TO be used when provider configuration steps need to be skipped
- */
- isProviderRequired = function() {
-
- }
-
-
- /**
- * return the gadget content
- * @param chartConfig
- * @param schema
- * @param data
- */
- draw = function(placeholder, chartConfig, _schema, data) {
- var schema = toVizGrammarSchema(_schema);
- var view = {
- id: "chart-0",
- schema: schema,
- chartConfig: buildChartConfig(chartConfig),
- data: function() {
- if(data) {
- var result = [];
- data.forEach(function(item) {
- var row = [];
- schema[0].metadata.names.forEach(function(name) {
- if(name === chartConfig.x){
- var date = new Date(item[name]);
- var month = date.getMonth() + 1;
- month = ("0" + month).slice(-2);
- row.push(date.getDate()+'/'+month+'/'+ date.getFullYear());
-// row.push(item[name]);
- } else{
- if(name === chartConfig.y){
- row.push(item[name] / (1000*60*60));
- } else{
- row.push(item[name]);
- }
- }
- });
- result.push(row);
- });
- wso2gadgets.onDataReady(result);
- }
- }
-
- };
-
- try {
- wso2gadgets.init(placeholder, view);
- var view = wso2gadgets.load("chart-0");
- } catch (e) {
- console.error(e);
- }
-
- };
-
- /**
- *
- * @param data
- */
- update = function(data) {
- wso2gadgets.onDataReady(data,"append");
- }
-
- buildChartConfig = function (_chartConfig) {
- var conf = {};
- conf.x = _chartConfig.x;
- conf.charts = [];
- conf.maxLength = _chartConfig.maxLength;
- conf.charts[0] = {
- type : "bar",
- y: _chartConfig.y
- };
-
- if (_chartConfig.color != "None") {
- conf.charts[0].color = _chartConfig.color;
- conf.charts[0].mode = _chartConfig.mode;
- }
- conf.legendOffset = -30;
- conf.padding = {"top": 10, "left": 100, "bottom": 70, "right": 0};
- conf.xTitle = "Date";
- conf.yTitle = "Duration (Hours)";
- conf.xAxisAngle = "true";
- console.log('chart config : ');
- console.log(conf);
- return conf;
- };
-
-
-}());
diff --git a/components/device-types/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.analytics/src/main/resources/carbonapps/androidsense/android_active_stack_chart_gadget/Android_Active_Stack_Chart/js/core/batch-provider-api.js b/components/device-types/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.analytics/src/main/resources/carbonapps/androidsense/android_active_stack_chart_gadget/Android_Active_Stack_Chart/js/core/batch-provider-api.js
deleted file mode 100644
index 9e0f2d443..000000000
--- a/components/device-types/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.analytics/src/main/resources/carbonapps/androidsense/android_active_stack_chart_gadget/Android_Active_Stack_Chart/js/core/batch-provider-api.js
+++ /dev/null
@@ -1,195 +0,0 @@
-/*
- * Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
- *
- * Licensed 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 getConfig, validate, getMode, getSchema, getData, registerCallBackforPush;
-
-(function() {
-
- var PROVIDERS_LOCATION = '/extensions/providers/';
-
- var PROVIDER_NAME = 'batch';
- var TYPE = "type";
- var TABLE_NAME = "tableName";
- var HTTPS_TRANSPORT = "https";
- var CONTENT_TYPE_JSON = "application/json";
- var AUTHORIZATION_HEADER = "Authorization";
- var USER_TOKEN = "user";
- var TENANT_DOMAIN = "domain";
- var CONST_AT = "@";
- var USERNAME = "username";
- var HTTP_USER_NOT_AUTHENTICATED = 403;
- var JS_MAX_VALUE = "9007199254740992";
- var JS_MIN_VALUE = "-9007199254740992";
-
- var typeMap = {
- "bool" : "string",
- "boolean" : "string",
- "string" : "string",
- "int" : "number",
- "integer" : "number",
- "long" : "number",
- "double" : "number",
- "float" : "number",
- "time": "time"
- };
-
- var log = new Log();
- var carbon = require('carbon');
- var configs = require('/configs/designer.json');
- var utils = require('/modules/utils.js');
- var JSUtils = Packages.org.wso2.carbon.analytics.jsservice.Utils;
- var AnalyticsCachedJSServiceConnector = Packages.org.wso2.carbon.analytics.jsservice.AnalyticsCachedJSServiceConnector;
- var AnalyticsCache = Packages.org.wso2.carbon.analytics.jsservice.AnalyticsCachedJSServiceConnector.AnalyticsCache;
- var cacheTimeoutSeconds = 5;
- var loggedInUser = null;
-
- if (configs.cacheTimeoutSeconds) {
- cacheTimeoutSeconds = parseInt(configs.cacheTimeoutSeconds);
- }
- var cacheSizeBytes = 1024 * 1024 * 1024; // 1GB
- if (configs.cacheSizeBytes) {
- cacheSizeBytes = parseInt(configs.cacheSizeBytes);
- }
- response.contentType = CONTENT_TYPE_JSON;
-
- var authParam = request.getHeader(AUTHORIZATION_HEADER);
- if (authParam != null) {
- credentials = JSUtils.authenticate(authParam);
- loggedInUser = credentials[0];
- } else {
- var token = session.get(USER_TOKEN);
- if (token != null) {
- loggedInUser = token[USERNAME] + CONST_AT + token[TENANT_DOMAIN];
- } else {
- log.error("user is not authenticated!");
- response.status = HTTP_USER_NOT_AUTHENTICATED;
- print('{ "status": "Failed", "message": "User is not authenticated." }');
- return;
- }
- }
-
- var cache = application.get("AnalyticsWebServiceCache");
- if (cache == null) {
- cache = new AnalyticsCache(cacheTimeoutSeconds, cacheSizeBytes);
- application.put("AnalyticsWebServiceCache", cache);
- }
- var connector = new AnalyticsCachedJSServiceConnector(cache);
-
- /**
- * require the existing config.json and push any dynamic fields that needs to be populated in the UI
- */
- getConfig = function() {
- var formConfig = require(PROVIDERS_LOCATION + '/' + PROVIDER_NAME + '/config.json');
- var tables;
- try {
- tables = JSON.parse(connector.getTableList(loggedInUser).getMessage());
- } catch (e) {
- log.error(e);
- }
- var configs = formConfig.config;
- configs.forEach(function(config) {
- if (config.fieldName === TABLE_NAME) {
- config.valueSet = tables;
- }
- });
- return formConfig;
- }
-
- /**
- * validate the user input of provider configuration
- * @param providerConfig
- */
- validate = function(providerConfig) {
- /*
- validate the form and return
-
- */
- return true;
- }
-
- /**
- * returns the data mode either push or pull
- */
- getMode = function() {
- return "PULL";
- }
-
- /**
- * returns an array of column names & types
- * @param providerConfig
- */
- getSchema = function(providerConfig) {
- var schema = [];
- var tableName = providerConfig["tableName"];
- var result = connector.getTableSchema(loggedInUser, tableName).getMessage();
- result = JSON.parse(result);
-
- var columns = result.columns;
- Object.getOwnPropertyNames(columns).forEach(function(name, idx, array) {
- var type = "ordinal";
- // log.info(columns[name]);
- if(name === 'timestamp'){
- type = 'string';
- }
- else if(columns[name]['type']) {
- type = columns[name]['type'];
- }
- schema.push({
- fieldName: name,
- fieldType: typeMap[type.toLowerCase()]
- });
- });
- //log.info(schema);
- return schema;
- };
-
- /**
- * returns the actual data
- * @param providerConfig
- * @param limit
- */
- getData = function(providerConfig, limit) {
- var tableName = providerConfig.tableName;
- var query = providerConfig.query;
- var limit = 100;
- if (providerConfig.limit) {
- limit = providerConfig.limit;
- }
- var result;
- //if there's a filter present, we should perform a Lucene search instead of reading the table
- if (query) {
- var filter = {
- "query": query,
- "start": 0,
- "count": limit
- };
- result = connector.search(loggedInUser, tableName, stringify(filter)).getMessage();
- } else {
- var from = JS_MIN_VALUE;
- var to = JS_MAX_VALUE;
- result = connector.getRecordsByRange(loggedInUser, tableName, from, to, 0, limit, null).getMessage();
-
- }
- result = JSON.parse(result);
- var data = [];
- for (var i = 0; i < result.length; i++) {
- var values = result[i].values;
- data.push(values);
- }
- //log.info(data);
- return data;
- };
-
-}());
diff --git a/components/device-types/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.analytics/src/main/resources/carbonapps/androidsense/android_active_stack_chart_gadget/Android_Active_Stack_Chart/js/core/gadget-core.js b/components/device-types/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.analytics/src/main/resources/carbonapps/androidsense/android_active_stack_chart_gadget/Android_Active_Stack_Chart/js/core/gadget-core.js
deleted file mode 100644
index 9dfe8683b..000000000
--- a/components/device-types/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.analytics/src/main/resources/carbonapps/androidsense/android_active_stack_chart_gadget/Android_Active_Stack_Chart/js/core/gadget-core.js
+++ /dev/null
@@ -1,85 +0,0 @@
-/*
-* Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
-*
-* Licensed 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 () {
- var gadgetLocation;
- var conf;
- var schema;
- var pref = new gadgets.Prefs();
-
- var refreshInterval;
- var providerData;
-
- var CHART_CONF = 'chart-conf';
- var PROVIDER_CONF = 'provider-conf';
-
- var REFRESH_INTERVAL = 'refreshInterval';
-
-var init = function () {
- $.ajax({
- url: gadgetLocation + '/conf.json',
- method: "GET",
- contentType: "application/json",
- async: false,
- success: function (data) {
- conf = JSON.parse(data);
- $.ajax({
- url: gadgetLocation + '/gadget-controller.jag?action=getSchema',
- method: "POST",
- data: JSON.stringify(conf),
- contentType: "application/json",
- async: false,
- success: function (data) {
- schema = data;
- }
- });
-
- getProviderData();
-
- }
- });
-};
-
-var getProviderData = function (){
- $.ajax({
- url: gadgetLocation + '/gadget-controller.jag?action=getData',
- method: "POST",
- data: JSON.stringify(conf),
- contentType: "application/json",
- async: false,
- success: function (data) {
- providerData = data;
- }
- });
- return providerData;
-};
-
-
-var drawGadget = function (){
-
- draw('#canvas', conf[CHART_CONF], schema, providerData);
- setInterval(function() {
- draw('#canvas', conf[CHART_CONF], schema, getProviderData());
- },pref.getInt(REFRESH_INTERVAL));
-
-};
-
-getGadgetLocation(function (gadget_Location) {
- gadgetLocation = gadget_Location;
- init();
- drawGadget();
-
-});
-});
diff --git a/components/device-types/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.analytics/src/main/resources/carbonapps/androidsense/android_active_stack_chart_gadget/Android_Active_Stack_Chart/js/core/gadget-util.js b/components/device-types/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.analytics/src/main/resources/carbonapps/androidsense/android_active_stack_chart_gadget/Android_Active_Stack_Chart/js/core/gadget-util.js
deleted file mode 100644
index 91c5f16f4..000000000
--- a/components/device-types/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.analytics/src/main/resources/carbonapps/androidsense/android_active_stack_chart_gadget/Android_Active_Stack_Chart/js/core/gadget-util.js
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
- *
- * Licensed 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 getGadgetLocation = function (callback) {
- var gadgetLocation = "/portal/store/carbon.super/fs/gadget/Android_Active_Stack_Chart";
- var PATH_SEPERATOR = "/";
- if (gadgetLocation.search("store") != -1) {
- wso2.gadgets.identity.getTenantDomain(function (tenantDomain) {
- var gadgetPath = gadgetLocation.split(PATH_SEPERATOR);
- var modifiedPath = '';
- for (var i = 1; i < gadgetPath.length; i++) {
- if (i === 3) {
- modifiedPath = modifiedPath.concat(PATH_SEPERATOR, tenantDomain);
- } else {
- modifiedPath = modifiedPath.concat(PATH_SEPERATOR, gadgetPath[i])
- }
- }
- callback(modifiedPath);
- });
- } else {
- callback(gadgetLocation);
- }
-}
\ No newline at end of file
diff --git a/components/device-types/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.analytics/src/main/resources/carbonapps/androidsense/android_active_stack_chart_gadget/Android_Active_Stack_Chart/thumbnail.png b/components/device-types/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.analytics/src/main/resources/carbonapps/androidsense/android_active_stack_chart_gadget/Android_Active_Stack_Chart/thumbnail.png
deleted file mode 100644
index 5d985d6e4..000000000
Binary files a/components/device-types/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.analytics/src/main/resources/carbonapps/androidsense/android_active_stack_chart_gadget/Android_Active_Stack_Chart/thumbnail.png and /dev/null differ
diff --git a/components/device-types/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.analytics/src/main/resources/carbonapps/androidsense/android_active_stack_chart_gadget/artifact.xml b/components/device-types/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.analytics/src/main/resources/carbonapps/androidsense/android_active_stack_chart_gadget/artifact.xml
deleted file mode 100644
index a9b477ca5..000000000
--- a/components/device-types/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.analytics/src/main/resources/carbonapps/androidsense/android_active_stack_chart_gadget/artifact.xml
+++ /dev/null
@@ -1,23 +0,0 @@
-
-
-
-
- Android_Active_Stack_Chart
-
-