using clister alias instead of cluster id for navigating from stratos to 
dashboard


Project: http://git-wip-us.apache.org/repos/asf/stratos/repo
Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/de80e44c
Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/de80e44c
Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/de80e44c

Branch: refs/heads/stratos-4.1.x
Commit: de80e44cb60ab3879cb089fe01248dcfe096c4b6
Parents: 224b230
Author: Thanuja <[email protected]>
Authored: Mon Sep 28 15:31:51 2015 +0530
Committer: Imesh Gunaratne <[email protected]>
Committed: Mon Sep 28 18:44:19 2015 +0530

----------------------------------------------------------------------
 .../theme0/js/custom/applications_topology.js   |  2 +-
 .../capps/jaggery-files/clusters.jag            |  2 +-
 .../capps/jaggery-files/member-count.jag        |  6 +-
 .../capps/jaggery-files/member-info.jag         |  4 +-
 .../capps/jaggery-files/member-status.jag       |  4 +-
 .../capps/jaggery-files/schema.jag              |  2 +-
 .../das/metering-service/capps/mysqlscript.sql  |  4 +-
 .../js/member-details-filter.js                 | 71 ++++++++++-----
 .../js/member-status-filter.js                  | 92 ++++++++++----------
 .../member_count.xml                            |  8 +-
 10 files changed, 109 insertions(+), 86 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/stratos/blob/de80e44c/components/org.apache.stratos.manager.console/console/themes/theme0/js/custom/applications_topology.js
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.manager.console/console/themes/theme0/js/custom/applications_topology.js
 
b/components/org.apache.stratos.manager.console/console/themes/theme0/js/custom/applications_topology.js
index 3e3b35a..2bba203 100644
--- 
a/components/org.apache.stratos.manager.console/console/themes/theme0/js/custom/applications_topology.js
+++ 
b/components/org.apache.stratos.manager.console/console/themes/theme0/js/custom/applications_topology.js
@@ -216,7 +216,7 @@ function update(source) {
                     "<strong>HostNames: </strong>" + d.hostNames + "<br/>" +
                     "<strong>Service Name: </strong>" + d.serviceName + 
"<br/>" +
                     "<strong>Status: </strong>" + d.status + "<br/>" +
-                    "<button class='btn btn-info show-usage' id=" + d.name + " 
name='clusterUsage' onClick='showClusterUsage(this.id)'>Show Usage</button>";
+                    "<button class='btn btn-info show-usage' id=" + d.alias + 
" name='clusterUsage' onClick='showClusterUsage(this.id)'>Show Usage</button>";
             } else if (d.type == 'members') {
                 if ((typeof d.ports != 'undefined') && (d.ports.length > 0)) {
                     var portsHTML = "<strong>Ports: </strong></br>";

http://git-wip-us.apache.org/repos/asf/stratos/blob/de80e44c/extensions/das/metering-service/capps/jaggery-files/clusters.jag
----------------------------------------------------------------------
diff --git a/extensions/das/metering-service/capps/jaggery-files/clusters.jag 
b/extensions/das/metering-service/capps/jaggery-files/clusters.jag
index c404872..0fbe608 100644
--- a/extensions/das/metering-service/capps/jaggery-files/clusters.jag
+++ b/extensions/das/metering-service/capps/jaggery-files/clusters.jag
@@ -27,7 +27,7 @@
 
     try {
         var applicationId = request.getParameter('applicationId');
-        var result = db.query("SELECT DISTINCT ClusterAlias, ClusterId FROM 
MEMBER_COUNT WHERE ApplicationId ='" + applicationId + "'");
+        var result = db.query("SELECT DISTINCT ClusterAlias FROM MEMBER_COUNT 
WHERE ApplicationId = ?", applicationId);
 
         if (result != null) {
             print(result);

http://git-wip-us.apache.org/repos/asf/stratos/blob/de80e44c/extensions/das/metering-service/capps/jaggery-files/member-count.jag
----------------------------------------------------------------------
diff --git 
a/extensions/das/metering-service/capps/jaggery-files/member-count.jag 
b/extensions/das/metering-service/capps/jaggery-files/member-count.jag
index 5fd0714..a4dbd39 100644
--- a/extensions/das/metering-service/capps/jaggery-files/member-count.jag
+++ b/extensions/das/metering-service/capps/jaggery-files/member-count.jag
@@ -82,9 +82,9 @@
         var clusterId = request.getParameter("clusterId");
 
         if (clusterId == ALL_CLUSTERS) {
-            result = db.query("SELECT FROM_UNIXTIME(CEILING( Time/('" + 
x_axis_interval + "'*1000)) *'" + x_axis_interval + "', '%Y:%m:%d %h:%i') AS 
Time, SUM(CreatedInstanceCount) AS CreatedInstanceCount , 
SUM(InitializedInstanceCount) AS InitializedInstanceCount , 
SUM(ActiveInstanceCount) AS ActiveInstanceCount, SUM(TerminatedInstanceCount) 
AS TerminatedInstanceCount FROM " + tableName + " WHERE ApplicationId='" + 
applicationId + "' AND Time > ROUND(UNIX_TIMESTAMP(CURTIME(4)) * 1000-'" + 
interval + "' ) AND Time <= ROUND(UNIX_TIMESTAMP(CURTIME(4)) * 1000) GROUP BY 
FROM_UNIXTIME( CEILING( Time/('" + x_axis_interval + "'*1000)) 
*'"+x_axis_interval+"', '%Y:%m:%d %h:%i'), ApplicationId");
-        }else{
-            result = db.query("SELECT FROM_UNIXTIME(CEILING( Time/('" + 
x_axis_interval + "'*1000)) *'"+x_axis_interval+"', '%Y:%m:%d %h:%i') AS Time, 
SUM(CreatedInstanceCount) AS CreatedInstanceCount , 
SUM(InitializedInstanceCount) AS InitializedInstanceCount , 
SUM(ActiveInstanceCount) AS ActiveInstanceCount, SUM(TerminatedInstanceCount) 
AS TerminatedInstanceCount FROM " + tableName + " WHERE ApplicationId='" + 
applicationId + "' AND ClusterId='" + clusterId + "' AND Time > 
ROUND(UNIX_TIMESTAMP(CURTIME(4)) * 1000-'" + interval + "' ) AND Time <= 
ROUND(UNIX_TIMESTAMP(CURTIME(4)) * 1000) GROUP BY FROM_UNIXTIME( CEILING( 
Time/('" + x_axis_interval + "'*1000)) *'"+x_axis_interval+"', '%Y:%m:%d 
%h:%i')");
+            result = db.query("SELECT FROM_UNIXTIME(CEILING( Time/('" + 
x_axis_interval + "'*1000)) *'" + x_axis_interval + "', '%Y:%m:%d %h:%i') AS 
Time, SUM(CreatedInstanceCount) AS CreatedInstanceCount , 
SUM(InitializedInstanceCount) AS InitializedInstanceCount , 
SUM(ActiveInstanceCount) AS ActiveInstanceCount, SUM(TerminatedInstanceCount) 
AS TerminatedInstanceCount FROM " + tableName + " WHERE ApplicationId=? AND 
Time > ROUND(UNIX_TIMESTAMP(CURTIME(4)) * 1000-'" + interval + "' ) AND Time <= 
ROUND(UNIX_TIMESTAMP(CURTIME(4)) * 1000) GROUP BY FROM_UNIXTIME( CEILING( 
Time/('" + x_axis_interval + "'*1000)) *'"+x_axis_interval+"', '%Y:%m:%d 
%h:%i'), ApplicationId", applicationId);
+        } else {
+            result = db.query("SELECT FROM_UNIXTIME(CEILING( Time/('" + 
x_axis_interval + "'*1000)) *'" + x_axis_interval + "', '%Y:%m:%d %h:%i') AS 
Time, SUM(CreatedInstanceCount) AS CreatedInstanceCount , 
SUM(InitializedInstanceCount) AS InitializedInstanceCount , 
SUM(ActiveInstanceCount) AS ActiveInstanceCount, SUM(TerminatedInstanceCount) 
AS TerminatedInstanceCount FROM " + tableName + " WHERE ApplicationId=? AND 
ClusterAlias=? AND Time > ROUND(UNIX_TIMESTAMP(CURTIME(4)) * 1000-'" + interval 
+ "' ) AND Time <= ROUND(UNIX_TIMESTAMP(CURTIME(4)) * 1000) GROUP BY 
FROM_UNIXTIME( CEILING( Time/('" + x_axis_interval + "'*1000)) 
*'"+x_axis_interval+"', '%Y:%m:%d %h:%i')",applicationId, clusterId);
         }
         print(result);
 

http://git-wip-us.apache.org/repos/asf/stratos/blob/de80e44c/extensions/das/metering-service/capps/jaggery-files/member-info.jag
----------------------------------------------------------------------
diff --git 
a/extensions/das/metering-service/capps/jaggery-files/member-info.jag 
b/extensions/das/metering-service/capps/jaggery-files/member-info.jag
index 3325ca7..7eba04c 100644
--- a/extensions/das/metering-service/capps/jaggery-files/member-info.jag
+++ b/extensions/das/metering-service/capps/jaggery-files/member-info.jag
@@ -55,9 +55,9 @@
         var clusterId = request.getParameter("clusterId");
 
         if (clusterId == ALL_CLUSTERS) {
-            result = db.query("SELECT * FROM " + tableName + " WHERE MemberId 
IN (SELECT DISTINCT MemberId FROM ANALYTICS_PROCESSED_DATA_STORE.MEMBER_STATUS 
WHERE ApplicationId='" + applicationId + "')");
+            result = db.query("SELECT * FROM " + tableName + " WHERE MemberId 
IN (SELECT DISTINCT MemberId FROM ANALYTICS_PROCESSED_DATA_STORE.MEMBER_STATUS 
WHERE ApplicationId= ?)", applicationId);
         } else {
-            result = db.query("SELECT * FROM " + tableName + " WHERE MemberId 
IN (SELECT DISTINCT MemberId FROM ANALYTICS_PROCESSED_DATA_STORE.MEMBER_STATUS 
WHERE ApplicationId='" + applicationId + "' AND ClusterId='" + clusterId + 
"')");
+            result = db.query("SELECT * FROM " + tableName + " WHERE MemberId 
IN (SELECT DISTINCT MemberId FROM ANALYTICS_PROCESSED_DATA_STORE.MEMBER_STATUS 
WHERE ApplicationId= ? AND ClusterAlias= ?)", applicationId, clusterId);
         }
         print(result);
     }

http://git-wip-us.apache.org/repos/asf/stratos/blob/de80e44c/extensions/das/metering-service/capps/jaggery-files/member-status.jag
----------------------------------------------------------------------
diff --git 
a/extensions/das/metering-service/capps/jaggery-files/member-status.jag 
b/extensions/das/metering-service/capps/jaggery-files/member-status.jag
index 0ac5e15..7650c1a 100644
--- a/extensions/das/metering-service/capps/jaggery-files/member-status.jag
+++ b/extensions/das/metering-service/capps/jaggery-files/member-status.jag
@@ -75,9 +75,9 @@
         var clusterId = request.getParameter("clusterId");
 
         if (clusterId == ALL_CLUSTERS) {
-            result = db.query("SELECT FROM_UNIXTIME(Time/1000, '%Y:%m:%d 
%h:%i:%s') AS Time, MemberId, MemberStatus FROM " + tableName + " WHERE 
ApplicationId='" + applicationId + "' AND Time > 
ROUND(UNIX_TIMESTAMP(CURTIME(4)) * 1000-'" + interval + "' ) AND Time <= 
ROUND(UNIX_TIMESTAMP(CURTIME(4)) * 1000) ORDER BY MemberID, Time");
+            result = db.query("SELECT FROM_UNIXTIME(Time/1000, '%Y:%m:%d 
%h:%i:%s') AS Time, MemberId, MemberStatus FROM " + tableName + " WHERE 
ApplicationId= ? AND Time > ROUND(UNIX_TIMESTAMP(CURTIME(4)) * 1000-'" + 
interval + "' ) AND Time <= ROUND(UNIX_TIMESTAMP(CURTIME(4)) * 1000) ORDER BY 
MemberID, Time", applicationId);
         }else {
-            result = db.query("SELECT FROM_UNIXTIME(Time/1000, '%Y:%m:%d 
%h:%i:%s') AS Time, MemberId, MemberStatus FROM " + tableName + " WHERE 
ApplicationId='" + applicationId + "' AND ClusterId='" + clusterId + "' AND 
Time > ROUND(UNIX_TIMESTAMP(CURTIME(4)) * 1000-'" + interval + "' ) AND Time <= 
ROUND(UNIX_TIMESTAMP(CURTIME(4)) * 1000) ORDER BY MemberID, Time");
+            result = db.query("SELECT FROM_UNIXTIME(Time/1000, '%Y:%m:%d 
%h:%i:%s') AS Time, MemberId, MemberStatus FROM " + tableName + " WHERE 
ApplicationId= ? AND ClusterAlias= ? AND Time > 
ROUND(UNIX_TIMESTAMP(CURTIME(4)) * 1000-'" + interval + "' ) AND Time <= 
ROUND(UNIX_TIMESTAMP(CURTIME(4)) * 1000) ORDER BY MemberID, Time", 
applicationId, clusterId);
         }
         print(result);
     }

http://git-wip-us.apache.org/repos/asf/stratos/blob/de80e44c/extensions/das/metering-service/capps/jaggery-files/schema.jag
----------------------------------------------------------------------
diff --git a/extensions/das/metering-service/capps/jaggery-files/schema.jag 
b/extensions/das/metering-service/capps/jaggery-files/schema.jag
index 29c0ca7..7dc33db 100644
--- a/extensions/das/metering-service/capps/jaggery-files/schema.jag
+++ b/extensions/das/metering-service/capps/jaggery-files/schema.jag
@@ -49,7 +49,7 @@
     var db = new Database("WSO2_ANALYTICS_PROCESSED_DATA_STORE_DB");
 
     try {
-        var result = db.query("SELECT COLUMN_NAME,DATA_TYPE FROM 
INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA='ANALYTICS_PROCESSED_DATA_STORE' 
AND TABLE_NAME = '" + tableName + "'");
+        var result = db.query("SELECT COLUMN_NAME,DATA_TYPE FROM 
INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA='ANALYTICS_PROCESSED_DATA_STORE' 
AND TABLE_NAME = ?", tableName);
         if (result != null) {
             print(result);
         }

http://git-wip-us.apache.org/repos/asf/stratos/blob/de80e44c/extensions/das/metering-service/capps/mysqlscript.sql
----------------------------------------------------------------------
diff --git a/extensions/das/metering-service/capps/mysqlscript.sql 
b/extensions/das/metering-service/capps/mysqlscript.sql
index 76d6409..f198060 100644
--- a/extensions/das/metering-service/capps/mysqlscript.sql
+++ b/extensions/das/metering-service/capps/mysqlscript.sql
@@ -1,4 +1,4 @@
-CREATE TABLE ANALYTICS_PROCESSED_DATA_STORE.MEMBER_STATUS(TenantId int, Time 
long, ApplicationId VARCHAR(150), ClusterId VARCHAR(150), MemberId 
VARCHAR(150), MemberStatus VARCHAR(50));
-CREATE TABLE ANALYTICS_PROCESSED_DATA_STORE.MEMBER_COUNT(Time long, 
ApplicationId VARCHAR(150), ClusterId VARCHAR(150), ClusterAlias VARCHAR(150), 
CreatedInstanceCount int, InitializedInstanceCount int, ActiveInstanceCount 
int, TerminatedInstanceCount int);
+CREATE TABLE ANALYTICS_PROCESSED_DATA_STORE.MEMBER_STATUS(Time long, 
ApplicationId VARCHAR(150), ClusterAlias VARCHAR(150), MemberId VARCHAR(150), 
MemberStatus VARCHAR(50));
+CREATE TABLE ANALYTICS_PROCESSED_DATA_STORE.MEMBER_COUNT(Time long, 
ApplicationId VARCHAR(150), ClusterAlias VARCHAR(150), CreatedInstanceCount 
int, InitializedInstanceCount int, ActiveInstanceCount int, 
TerminatedInstanceCount int);
 CREATE TABLE ANALYTICS_PROCESSED_DATA_STORE.SCALING_DETAILS(Time VARCHAR(50), 
ScalingDecisionId VARCHAR(150), ClusterId VARCHAR(150), MinInstanceCount INT, 
MaxInstanceCount INT, RIFPredicted INT, RIFThreshold INT ,RIFRequiredInstances 
INT, MCPredicted INT, MCThreshold INT, MCRequiredInstances INT ,LAPredicted 
INT, LAThreshold INT,LARequiredInstances INT,RequiredInstanceCount INT 
,ActiveInstanceCount INT, AdditionalInstanceCount INT, ScalingReason 
VARCHAR(150));
 CREATE TABLE ANALYTICS_PROCESSED_DATA_STORE.MEMBER_INFORMATION(MemberId 
VARCHAR(150), InstanceType VARCHAR(150), ImageId VARCHAR(150), HostName 
VARCHAR(150), PrivateIPAddresses VARCHAR(150), PublicIPAddresses VARCHAR(150), 
Hypervisor VARCHAR(150), CPU VARCHAR(10) , RAM VARCHAR(10), OSName 
VARCHAR(150), OSVersion VARCHAR(150));

http://git-wip-us.apache.org/repos/asf/stratos/blob/de80e44c/extensions/das/metering-service/capps/stratos-metering-service/Gadget_Member_Details_Filter/Member_Details_Filter/js/member-details-filter.js
----------------------------------------------------------------------
diff --git 
a/extensions/das/metering-service/capps/stratos-metering-service/Gadget_Member_Details_Filter/Member_Details_Filter/js/member-details-filter.js
 
b/extensions/das/metering-service/capps/stratos-metering-service/Gadget_Member_Details_Filter/Member_Details_Filter/js/member-details-filter.js
index 312988c..bbc4312 100644
--- 
a/extensions/das/metering-service/capps/stratos-metering-service/Gadget_Member_Details_Filter/Member_Details_Filter/js/member-details-filter.js
+++ 
b/extensions/das/metering-service/capps/stratos-metering-service/Gadget_Member_Details_Filter/Member_Details_Filter/js/member-details-filter.js
@@ -22,23 +22,51 @@ var applicationId;
 var clusterId;
 
 $(document).ready(function () {
-
     loadApplication();
 
-    $('body').on('change', '#application-filter', function () {
-        var e = document.getElementById("application-filter");
-        applicationId = e.options[e.selectedIndex].text;
-        loadCluster(applicationId);
-        publish();
-    })
-    $('body').on('change', '#cluster-filter', function () {
-        var e = document.getElementById("cluster-filter");
-        clusterId = e.options[e.selectedIndex].value;
-        publish();
-    })
+    setTimeout(function () {
+        if (applicationId != null) {
+            loadCluster(applicationId);
+            $('#' + window.frameElement.id).ready(function () {
+                
$(this).contents().find('body').contents().find('#application-filter').val(applicationId);
+                publish();
+            });
+        }
+    }, 2000);
+
+    setTimeout(function () {
+        if (clusterId != null) {
+            $('#' + window.frameElement.id).ready(function () {
+                
$(this).contents().find('body').contents().find('#cluster-filter').val(clusterId);
+                publish();
+            });
+        }
+    }, 3000);
 
 });
 
+gadgets.HubSettings.onConnect = function () {
+    gadgets.Hub.subscribe("request-params", function (topic, data) {
+        applicationId = data.applicationId;
+        clusterId = data.clusterId;
+        console.log("Application Id: " + applicationId);
+        console.log("Cluster Id: " + clusterId);
+    });
+};
+
+$('body').on('change', '#application-filter', function () {
+    var e = document.getElementById("application-filter");
+    applicationId = e.options[e.selectedIndex].value;
+    loadCluster(applicationId);
+    publish();
+});
+
+$('body').on('change', '#cluster-filter', function () {
+    var e = document.getElementById("cluster-filter");
+    clusterId = e.options[e.selectedIndex].value;
+    publish();
+});
+
 function loadApplication() {
     console.log("Getting Application Ids");
     $.ajax({
@@ -71,11 +99,9 @@ function loadCluster(application) {
         dataType: 'json',
         success: function (result) {
             var elem = document.getElementById('cluster-filter');
-            var clusterIds = [];
             var clusterAlias = [];
             var records = JSON.parse(JSON.stringify(result));
             records.forEach(function (record) {
-                clusterIds.push(record.ClusterId);
                 clusterAlias.push(record.ClusterAlias);
             });
 
@@ -88,24 +114,23 @@ function loadCluster(application) {
 
             var optionList = "";
 
-            optionList+= "<option value= 'All Clusters'>All Clusters</option>";
-            for (i = 0; i < clusterIds.length; i = i + 1) {
-                optionList += "<option value='" + clusterIds[i] + "'>" + 
clusterAlias[i] + "</option>";
+            optionList += "<option value= 'All Clusters'>All 
Clusters</option>";
+            for (i = 0; i < clusterAlias.length; i = i + 1) {
+                optionList += "<option value='" + clusterAlias[i] + "'>" + 
clusterAlias[i] + "</option>";
             }
 
             clusterList.innerHTML = optionList;
             document.getElementById('cluster').appendChild(clusterList);
         }
     });
-    var e = document.getElementById("cluster-filter");
-    clusterId = e.options[e.selectedIndex].value;
+    if (clusterId == null) {
+        var e = document.getElementById("cluster-filter");
+        clusterId = e.options[e.selectedIndex].value
+    }
 }
 
 function publish() {
-    var application = applicationId;
-    var cluster = clusterId;
-    var data = {applicationId: application, clusterId: cluster};
-
+    var data = {applicationId: applicationId, clusterId: clusterId};
     gadgets.Hub.publish("member-details-filter", data);
     console.log("Publishing filter values: " + JSON.stringify(data));
 }

http://git-wip-us.apache.org/repos/asf/stratos/blob/de80e44c/extensions/das/metering-service/capps/stratos-metering-service/Gadget_Member_Status_Filter/Member_Status_Filter/js/member-status-filter.js
----------------------------------------------------------------------
diff --git 
a/extensions/das/metering-service/capps/stratos-metering-service/Gadget_Member_Status_Filter/Member_Status_Filter/js/member-status-filter.js
 
b/extensions/das/metering-service/capps/stratos-metering-service/Gadget_Member_Status_Filter/Member_Status_Filter/js/member-status-filter.js
index f4678f7..da08330 100644
--- 
a/extensions/das/metering-service/capps/stratos-metering-service/Gadget_Member_Status_Filter/Member_Status_Filter/js/member-status-filter.js
+++ 
b/extensions/das/metering-service/capps/stratos-metering-service/Gadget_Member_Status_Filter/Member_Status_Filter/js/member-status-filter.js
@@ -18,53 +18,56 @@
  * under the License.
  *
  */
+
 var applicationId;
 var clusterId;
 var time = '30 Min';
-var vars;
 $(document).ready(function () {
-    var query = parent.window.location.search.substring(1);
-    vars = query.split("&");
-
-    applicationId = getRequestParam('applicationId');
-    clusterId = getRequestParam('clusterId');
+    loadApplication();
 
-    console.log("Application Id: " + applicationId);
-    console.log("Cluster Id: " + clusterId);
+    setTimeout(function () {
+        if (applicationId != null) {
+            loadCluster(applicationId);
+            $('#' + window.frameElement.id).ready(function () {
+                
$(this).contents().find('body').contents().find('#application-filter').val(applicationId);
+                publish(time);
+            });
+        }
+    }, 2000);
 
-    loadApplication();
-    if (applicationId != null) {
-        document.getElementById("application-filter").value = applicationId;
-        loadCluster(applicationId);
-        gadgets.HubSettings.onConnect = function () {
-            publish(time);
+    setTimeout(function () {
+        if (clusterId != null) {
+            $('#' + window.frameElement.id).ready(function () {
+                
$(this).contents().find('body').contents().find('#cluster-filter').val(clusterId);
+                publish(time);
+            });
         }
-    }
+    }, 3000);
 
-    $('body').on('change', '#application-filter', function () {
-        var e = document.getElementById("application-filter");
-        applicationId = e.options[e.selectedIndex].value;
-        loadCluster(applicationId);
-        publish(time);
-    })
-    $('body').on('change', '#cluster-filter', function () {
-        var e = document.getElementById("cluster-filter");
-        clusterId = e.options[e.selectedIndex].value;
-        publish(time);
-    })
 
+});
 
+gadgets.HubSettings.onConnect = function () {
+    gadgets.Hub.subscribe("request-params", function (topic, data) {
+        applicationId = data.applicationId;
+        clusterId = data.clusterId;
+        console.log("Application Id: " + applicationId);
+        console.log("Cluster Id: " + clusterId);
+    });
+};
+
+$('body').on('change', '#application-filter', function () {
+    var e = document.getElementById("application-filter");
+    applicationId = e.options[e.selectedIndex].value;
+    loadCluster(applicationId);
+    publish(time);
 });
 
-function getRequestParam(variable) {
-    for (var i = 0; i < vars.length; i++) {
-        var pair = vars[i].split("=");
-        if (pair[0] == variable) {
-            return pair[1];
-        }
-    }
-    return null;
-}
+$('body').on('change', '#cluster-filter', function () {
+    var e = document.getElementById("cluster-filter");
+    clusterId = e.options[e.selectedIndex].value;
+    publish(time);
+});
 
 function loadApplication() {
     console.log("Getting Application Ids");
@@ -97,11 +100,9 @@ function loadCluster(application) {
         dataType: 'json',
         success: function (result) {
             var elem = document.getElementById('cluster-filter');
-            var clusterIds = [];
             var clusterAlias = [];
             var records = JSON.parse(JSON.stringify(result));
             records.forEach(function (record, i) {
-                clusterIds.push(record.ClusterId);
                 clusterAlias.push(record.ClusterAlias);
             });
 
@@ -115,27 +116,24 @@ function loadCluster(application) {
             var optionList = "";
 
             optionList += "<option value= 'All Clusters'>All 
Clusters</option>";
-            for (i = 0; i < clusterIds.length; i = i + 1) {
-                optionList += "<option value='" + clusterIds[i] + "'>" + 
clusterAlias[i] + "</option>";
+            for (i = 0; i < clusterAlias.length; i = i + 1) {
+                optionList += "<option value='" + clusterAlias[i] + "'>" + 
clusterAlias[i] + "</option>";
             }
 
             clusterList.innerHTML = optionList;
             document.getElementById('cluster').appendChild(clusterList);
         }
     });
-    if (clusterId != null) {
-        document.getElementById("cluster-filter").value = clusterId;
-    } else {
+    if (clusterId == null) {
         var e = document.getElementById("cluster-filter");
         clusterId = e.options[e.selectedIndex].value;
     }
+
 }
 
-function publish(time) {
-    var application = applicationId;
-    var cluster = clusterId;
-    var time = time;
-    var data = {applicationId: application, clusterId: cluster, timeInterval: 
time};
+function publish(timeInterval) {
+    time = timeInterval;
+    var data = {applicationId: applicationId, clusterId: clusterId, 
timeInterval: time};
     gadgets.Hub.publish("member-status-filter", data);
     console.log("Publishing filter values: " + JSON.stringify(data));
 }

http://git-wip-us.apache.org/repos/asf/stratos/blob/de80e44c/extensions/das/metering-service/capps/stratos-metering-service/SparkScript_MemberLifecycle/member_count.xml
----------------------------------------------------------------------
diff --git 
a/extensions/das/metering-service/capps/stratos-metering-service/SparkScript_MemberLifecycle/member_count.xml
 
b/extensions/das/metering-service/capps/stratos-metering-service/SparkScript_MemberLifecycle/member_count.xml
index 8a25d6f..efebc24 100644
--- 
a/extensions/das/metering-service/capps/stratos-metering-service/SparkScript_MemberLifecycle/member_count.xml
+++ 
b/extensions/das/metering-service/capps/stratos-metering-service/SparkScript_MemberLifecycle/member_count.xml
@@ -30,7 +30,7 @@
         using CarbonJDBC options (dataSource 
"WSO2_ANALYTICS_PROCESSED_DATA_STORE_DB", tableName "MEMBER_COUNT");
 
         ;WITH MemberCount as
-        (select application_id, cluster_id, cluster_alias,
+        (select application_id, cluster_alias,
         count(case when member_status='Created' and timestamp &gt; 
current_time(null)-10000 and
         timestamp&lt;= current_time(null) then 1 else NULL end) as 
created_instance_count,
         count(case when member_status='Initialized' and timestamp &gt; 
current_time(null)-10000 and
@@ -39,16 +39,16 @@
         timestamp&lt;= current_time(null) then 1 else NULL end) as 
active_instance_count,
         count(case when member_status='Terminated' and timestamp &gt; 
current_time(null)-10000 and
         timestamp&lt;= current_time(null) then 1 else NULL end) as 
terminated_instance_count
-        from memberstatus group by application_id, cluster_id, cluster_alias)
+        from memberstatus group by application_id, cluster_alias)
         INSERT INTO table member_count
-        select current_time(null), application_id, cluster_id, cluster_alias,
+        select current_time(null), application_id, cluster_alias,
         
created_instance_count,initialized_instance_count,active_instance_count,
         terminated_instance_count from MemberCount;
 
         create temporary table member_status_new
         using CarbonJDBC options (dataSource 
"WSO2_ANALYTICS_PROCESSED_DATA_STORE_DB", tableName "MEMBER_STATUS");
 
-        INSERT OVERWRITE TABLE member_status_new select timestamp, 
application_id, cluster_id, member_id,
+        INSERT OVERWRITE TABLE member_status_new select timestamp, 
application_id, cluster_alias, member_id,
         member_status from memberstatus;
     </Script>
     <CronExpression>0/10 * * * * ?</CronExpression>

Reply via email to