Repository: incubator-griffin
Updated Branches:
  refs/heads/master 07ed8a267 -> 06ddc548c


Yxr

update ui metric

Author: Yang <[email protected]>

Closes #18 from RachelYang2/yxr.


Project: http://git-wip-us.apache.org/repos/asf/incubator-griffin/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-griffin/commit/06ddc548
Tree: http://git-wip-us.apache.org/repos/asf/incubator-griffin/tree/06ddc548
Diff: http://git-wip-us.apache.org/repos/asf/incubator-griffin/diff/06ddc548

Branch: refs/heads/master
Commit: 06ddc548c9aa6e18e790460e610df84f4f75e21f
Parents: 07ed8a2
Author: Yang <[email protected]>
Authored: Thu May 11 07:45:21 2017 +0800
Committer: William Guo <[email protected]>
Committed: Thu May 11 07:45:21 2017 +0800

----------------------------------------------------------------------
 .../src/main/resources/application.properties   |   6 +-
 .../font-awesome/fonts/FontAwesome.otf          | Bin 209181 -> 109688 bytes
 .../font-awesome/fonts/fontawesome-webfont.eot  | Bin 126223 -> 70807 bytes
 .../font-awesome/fonts/fontawesome-webfont.ttf  | Bin 182555 -> 142072 bytes
 .../font-awesome/fonts/fontawesome-webfont.woff | Bin 151593 -> 83588 bytes
 .../fonts/fontawesome-webfont.woff.bak          | Bin 151593 -> 0 bytes
 .../fonts/fontawesome-webfont.woff2             | Bin 120891 -> 66624 bytes
 ui/js/controllers/metrics-ctrl.js               | 209 ++++++-----
 ui/js/controllers/sidebar-ctrl.js               |  25 +-
 ui/js/services/bark-chart.js                    | 357 +------------------
 ui/js/services/services.js                      |  24 +-
 ui/pages/metrics/dashboard.html                 |  50 ++-
 ui/pages/rules/rules.html                       |   4 +-
 ui/sidebar.html                                 | 104 +++---
 14 files changed, 230 insertions(+), 549 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/06ddc548/service/src/main/resources/application.properties
----------------------------------------------------------------------
diff --git a/service/src/main/resources/application.properties 
b/service/src/main/resources/application.properties
index b836678..0244bec 100644
--- a/service/src/main/resources/application.properties
+++ b/service/src/main/resources/application.properties
@@ -1,6 +1,6 @@
-spring.datasource.url= jdbc:mysql://localhost:3306/metastore
-spring.datasource.username =root
-spring.datasource.password =cxr123
+spring.datasource.url= jdbc:mysql://10.249.75.250:3306/metastore
+spring.datasource.username =griffin
+spring.datasource.password =123456
 
 spring.datasource.driver-class-name=com.mysql.jdbc.Driver
 

http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/06ddc548/service/src/main/resources/public/bower_components/font-awesome/fonts/FontAwesome.otf
----------------------------------------------------------------------
diff --git 
a/service/src/main/resources/public/bower_components/font-awesome/fonts/FontAwesome.otf
 
b/service/src/main/resources/public/bower_components/font-awesome/fonts/FontAwesome.otf
index c397ec5..3ed7f8b 100644
Binary files 
a/service/src/main/resources/public/bower_components/font-awesome/fonts/FontAwesome.otf
 and 
b/service/src/main/resources/public/bower_components/font-awesome/fonts/FontAwesome.otf
 differ

http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/06ddc548/service/src/main/resources/public/bower_components/font-awesome/fonts/fontawesome-webfont.eot
----------------------------------------------------------------------
diff --git 
a/service/src/main/resources/public/bower_components/font-awesome/fonts/fontawesome-webfont.eot
 
b/service/src/main/resources/public/bower_components/font-awesome/fonts/fontawesome-webfont.eot
index 228ea98..9b6afae 100644
Binary files 
a/service/src/main/resources/public/bower_components/font-awesome/fonts/fontawesome-webfont.eot
 and 
b/service/src/main/resources/public/bower_components/font-awesome/fonts/fontawesome-webfont.eot
 differ

http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/06ddc548/service/src/main/resources/public/bower_components/font-awesome/fonts/fontawesome-webfont.ttf
----------------------------------------------------------------------
diff --git 
a/service/src/main/resources/public/bower_components/font-awesome/fonts/fontawesome-webfont.ttf
 
b/service/src/main/resources/public/bower_components/font-awesome/fonts/fontawesome-webfont.ttf
index 2af1798..26dea79 100644
Binary files 
a/service/src/main/resources/public/bower_components/font-awesome/fonts/fontawesome-webfont.ttf
 and 
b/service/src/main/resources/public/bower_components/font-awesome/fonts/fontawesome-webfont.ttf
 differ

http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/06ddc548/service/src/main/resources/public/bower_components/font-awesome/fonts/fontawesome-webfont.woff
----------------------------------------------------------------------
diff --git 
a/service/src/main/resources/public/bower_components/font-awesome/fonts/fontawesome-webfont.woff
 
b/service/src/main/resources/public/bower_components/font-awesome/fonts/fontawesome-webfont.woff
index 07a162e..dc35ce3 100644
Binary files 
a/service/src/main/resources/public/bower_components/font-awesome/fonts/fontawesome-webfont.woff
 and 
b/service/src/main/resources/public/bower_components/font-awesome/fonts/fontawesome-webfont.woff
 differ

http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/06ddc548/service/src/main/resources/public/bower_components/font-awesome/fonts/fontawesome-webfont.woff.bak
----------------------------------------------------------------------
diff --git 
a/service/src/main/resources/public/bower_components/font-awesome/fonts/fontawesome-webfont.woff.bak
 
b/service/src/main/resources/public/bower_components/font-awesome/fonts/fontawesome-webfont.woff.bak
deleted file mode 100644
index 07a162e..0000000
Binary files 
a/service/src/main/resources/public/bower_components/font-awesome/fonts/fontawesome-webfont.woff.bak
 and /dev/null differ

http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/06ddc548/service/src/main/resources/public/bower_components/font-awesome/fonts/fontawesome-webfont.woff2
----------------------------------------------------------------------
diff --git 
a/service/src/main/resources/public/bower_components/font-awesome/fonts/fontawesome-webfont.woff2
 
b/service/src/main/resources/public/bower_components/font-awesome/fonts/fontawesome-webfont.woff2
index b4a6b33..500e517 100644
Binary files 
a/service/src/main/resources/public/bower_components/font-awesome/fonts/fontawesome-webfont.woff2
 and 
b/service/src/main/resources/public/bower_components/font-awesome/fonts/fontawesome-webfont.woff2
 differ

http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/06ddc548/ui/js/controllers/metrics-ctrl.js
----------------------------------------------------------------------
diff --git a/ui/js/controllers/metrics-ctrl.js 
b/ui/js/controllers/metrics-ctrl.js
index 223cca4..18d07b7 100644
--- a/ui/js/controllers/metrics-ctrl.js
+++ b/ui/js/controllers/metrics-ctrl.js
@@ -25,149 +25,168 @@ define(['./module'], function(controllers) {
           $scope.$emit('initReq');
 
           var url_dashboard = $config.uri.dashboard + 
($routeParams.sysName?('/'+$routeParams.sysName):'');
-
-          $http.get(url_dashboard, {cache:true}).success(function(res) {
-            $scope.dashboard = res;
-            // console.log(res);
-            $scope.orgs = [];
-
-            var orgNode = null;
-            angular.forEach(res, function(sys) {
+          var url_organization = $config.uri.organization;
+          $http.get(url_organization).success(function(res){
+              $scope.orgs = [];
+              var orgNode = null;
+              angular.forEach(res, function(sys) {
               orgNode = new Object();
               $scope.orgs.push(orgNode);
-              orgNode.name = sys.name;
-              orgNode.dq = sys.dq;
-
+              orgNode.name = sys;
               orgNode.assetMap = {};
-
-              angular.forEach(sys.metrics, function(metric) {
-                if(!metric.assetName){
-                  metric.assetName = 'unknown';
-                }
-                
if(Object.getOwnPropertyNames(orgNode.assetMap).indexOf(metric.assetName) == 
-1){//not existed
-                  orgNode.assetMap[metric.assetName] = {};
-
-                }
-                var chartData = metric.details;
-                chartData.sort(function(a, b){
-                  return a.timestamp - b.timestamp;
-                });
-
-                orgNode.assetMap[metric.assetName].details = chartData;
-
-
               });
+          });
 
-                $scope.orgs.push(orgNode);
+          $http.get(url_dashboard, {  "query": {
+                                      "bool":{
+                                      "filter":[
+                                              {"term" : {"name": "test" }}
+                                      ]
+                                      }
+                                      },cache:true}).success(function(res) {
+            $scope.dashboard = res;
+            angular.forEach(res.hits.hits, function(sys) {
+                var chartData = sys._source;
+                chartData.sortData = function(a,b){
+                    return a.tmst - b.tmst;
+                }
             });
             $scope.originalData = angular.copy(res);
-            // console.log($scope.originalData);
-            if($routeParams.sysName && $scope.originalData && 
$scope.originalData.length > 0){
-              for(var i = 0; i < $scope.originalData.length; i ++){
-                if($scope.originalData[i].name == $routeParams.sysName){
-                  $scope.selectedOrgIndex = i;
-                  $scope.changeOrg();
-                  $scope.orgSelectDisabled = true;
-                  break;
+            $scope.myData = angular.copy($scope.originalData.hits.hits);
+            $scope.metricName = [];
+            for(var i = 0;i<$scope.myData.length;i++){
+                $scope.metricName.push($scope.myData[i]._source.name);
+            }
+            $scope.metricNameUnique = [];
+            $scope.dataData = [];
+            angular.forEach($scope.metricName,function(name){
+                if($scope.metricNameUnique.indexOf(name) === -1){
+                    $scope.dataData[$scope.metricNameUnique.length] = new 
Array();
+                    $scope.metricNameUnique.push(name);
                 }
+            });
+            $scope.numberOfName = $scope.metricNameUnique.length;
 
-              }
+            for(var i = 0;i<$scope.myData.length;i++){
+                for(var j = 0 ;j<$scope.metricNameUnique.length;j++){
+                    
if($scope.myData[i]._source.name==$scope.metricNameUnique[j]){
+                        $scope.dataData[j].push($scope.myData[i]);
+                    }
+                }
             }
+            $scope.original = angular.copy($scope.dataData);
+//            angular.forEach($scope.dataData,function(data){
+//
+//            })
+//            if($routeParams.sysName && $scope.originalData && 
$scope.originalData.length > 0){
+//              for(var i = 0; i < $scope.originalData.length; i ++){
+//                if($scope.originalData[i].name == $routeParams.sysName){
+//                  $scope.selectedOrgIndex = i;
+//                  $scope.changeOrg();
+//                  $scope.orgSelectDisabled = true;
+//                  break;
+//                }
+//
+//              }
+//            }
+
 
             $timeout(function() {
-              redraw($scope.dashboard);
+              redraw($scope.dataData);
             });
 
           });
         }
-
-
         $scope.$watch('selectedOrgIndex', function(newValue){
           console.log(newValue);
         });
 
         var redraw = function(data) {
-          // console.log(data);
-
           $scope.chartHeight = $('.chartItem:eq(0)').width()*0.8+'px';
-
             angular.forEach(data, function(sys, parentIndex) {
-                var parentIndex = parentIndex
-                angular.forEach(sys.metrics, function(metric, index) {
-
-                    $('#thumbnail'+parentIndex+'-'+index).get(0).style.width = 
$('#thumbnail'+parentIndex+'-'+index).parent().width()+'px';
-                    $('#thumbnail'+parentIndex+'-'+index).get(0).style.height 
= $scope.chartHeight;
-
-                    var thumbnailChart = 
echarts.init($('#thumbnail'+parentIndex+'-'+index).get(0), 'dark');
-                    thumbnailChart.setOption($barkChart.getOptionThum(metric));
-
-                });
-            });
-        }
+                var tmp = document.getElementById('thumbnail'+parentIndex);
+                tmp.style.width = 
$('#thumbnail'+parentIndex).parent().width()+'px';
+                tmp.style.height = $scope.chartHeight;
+                var abcChart = echarts.init(tmp, 'dark');
+                abcChart.setOption($barkChart.getOptionThum(sys));
+            });}
 
         $scope.assetOptions = [];
 
-        $scope.changeOrg = function() {
+        $scope.changeOrg = function(data) {
+        $scope.selectedOrgIndex = data;
+        var url_organization = $config.uri.organization;
           $scope.selectedAssetIndex = undefined;
           $scope.assetOptions = [];
-          $scope.dashboard = [];
+          $scope.dataData = [];
           if($scope.selectedOrgIndex === ""){
-            $scope.dashboard = angular.copy($scope.originalData);
+            $scope.dataData = angular.copy($scope.original);
+            $timeout(function() {
+               redraw($scope.dataData);
+            }, 0);
           } else {
-            var org = 
angular.copy($scope.originalData[$scope.selectedOrgIndex]);
-            $scope.dashboard.push(org);
-            angular.forEach(org.metrics, function(metric, index) {
-              if($scope.assetOptions.indexOf(metric.assetName) == -1) {
-                $scope.assetOptions.push(metric.assetName);
-              }
+            
$http.get(url_organization+'/'+$scope.orgs[data].name).success(function(res){
+                $scope.assetOptions = res;
+                angular.forEach($scope.original,function(data){
+                    if(res.indexOf(data[0]._source.name)!= -1){
+//                        $scope.dataData[$scope.dataData.length-1] = new 
Array();
+                        $scope.dataData.push(data);
+                    }
+                });
+                $timeout(function() {
+                  redraw($scope.dataData);
+                }, 0);
             });
+
           }
-          // redraw($scope.dashboard);
-          $timeout(function() {
-              redraw($scope.dashboard);
-            }, 0);
+          console.log($scope.dataData);
+          console.log(typeof($scope.dataData));
         };
 
         $scope.changeAsset = function() {
-          $scope.dashboard = [];
+          var url_organization = $config.uri.organization;
+          $scope.dataData = [];
           if($scope.selectedOrgIndex == ""){
-            $scope.dashboard = angular.copy($scope.originalData);
+            $scope.dataData = angular.copy($scope.original);
+            $timeout(function() {
+              redraw($scope.dataData);
+            }, 0);
           } else {
-            var org = 
angular.copy($scope.originalData[$scope.selectedOrgIndex]);
-            $scope.dashboard.push(org);
+           
$http.get(url_organization+'/'+$scope.orgs[$scope.selectedOrgIndex].name).success(function(res){
+               angular.forEach($scope.original,function(data){
+                   
if(res[$scope.selectedAssetIndex].indexOf(data[0]._source.name)!= -1){
+                       $scope.dataData.push(data);
+                   }
+               });
+//               if($scope.selectedAssetIndex != undefined && 
$scope.selectedAssetIndex != ''){
+//                 var asset = $scope.assetOptions[$scope.selectedAssetIndex];
+//                 var oldMetrics = angular.copy($scope.dataData);
+//                 angular.forEach(oldMetrics, function(sys,index) {
+////                   $scope.dataData[index]=[];
+//                   if(sys[0]._source.name == asset) {
+//                     $scope.dataData.push(sys);
+//                   }
+//                 });
+//               }
+               console.log($scope.dataData);
+               $timeout(function() {
+                   redraw($scope.dataData);
+               }, 0);
+           });
           }
-          if($scope.selectedAssetIndex != undefined && 
$scope.selectedAssetIndex != ''){
-            var asset = $scope.assetOptions[$scope.selectedAssetIndex];
-            angular.forEach($scope.dashboard, function(sys) {
-              var oldMetrics = sys.metrics;
-              sys.metrics = [];
-              angular.forEach(oldMetrics, function(metric, index) {
-                if(metric.assetName == asset) {
-                  sys.metrics.push(metric);
-                }
-              });
-            });
-          }
-          $timeout(function() {
-              redraw($scope.dashboard);
-            }, 0);
+
         }
 
         $scope.$on('resizeHandler', function() {
           if($route.current.$$route.controller == 'MetricsCtrl') {
             console.log('metrics resize');
-            redraw($scope.dashboard);
+            redraw($scope.dataData);
           }
         });
 
         /*click the chart to be bigger*/
         $scope.showBig = function(t){
-          var metricDetailUrl = $config.uri.metricdetail + '/' + t.name;
-          // var metricDetailUrl = '/js/mock_data/anom.json';
-          $http.get(metricDetailUrl).success(function (data){
-            $rootScope.showBigChart($barkChart.getOptionBig(data));
-          });
-
+            $rootScope.showBigChart($barkChart.getOptionBig(t));
         }
 
         $scope.getSample = function(item) {

http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/06ddc548/ui/js/controllers/sidebar-ctrl.js
----------------------------------------------------------------------
diff --git a/ui/js/controllers/sidebar-ctrl.js 
b/ui/js/controllers/sidebar-ctrl.js
index b5b6d23..65a7cbd 100644
--- a/ui/js/controllers/sidebar-ctrl.js
+++ b/ui/js/controllers/sidebar-ctrl.js
@@ -20,26 +20,29 @@ define(['./module'], function(controllers) {
 
         pageInit();
 
+        function renderDataAssetPie(status){
+            resizePieChart();
+            $scope.dataAssetPieChart = echarts.init($('#data-asset-pie')[0], 
'dark');
+            
$scope.dataAssetPieChart.setOption($barkChart.getOptionPie(status));
+        }
 
         function pageInit() {
-          var url = $config.uri.statistics;
+//          var url = $config.uri.statistics;
 
-          $http.get(url).success(function(res) {
-              $scope.datasets = res.assets;
-              $scope.metrics = res.metrics;
-              renderDataAssetPie(res.status);
+//          $http.get(url).success(function(res) {
+//              $scope.datasets = res.assets;
+//              $scope.metrics = res.metrics;
+              $scope.status = new Object();
+              $scope.status.health = '100';
+              $scope.status.invalid = '6';
 
+              renderDataAssetPie($scope.status);
               sideBarList();
-          });
+//          });
 
 
         }
 
-        var renderDataAssetPie = function(status) {
-            resizePieChart();
-            $scope.dataAssetPieChart = echarts.init($('#data-asset-pie')[0], 
'dark');
-            
$scope.dataAssetPieChart.setOption($barkChart.getOptionPie(status));
-        }
 
         $scope.$watch(function(){return $routeParams.sysName;}, 
function(value){
           console.log('Watched value: ' + value);

http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/06ddc548/ui/js/services/bark-chart.js
----------------------------------------------------------------------
diff --git a/ui/js/services/bark-chart.js b/ui/js/services/bark-chart.js
index 05a10c0..b67a4bb 100644
--- a/ui/js/services/bark-chart.js
+++ b/ui/js/services/bark-chart.js
@@ -71,7 +71,7 @@ define(['./module'], function (services) {
     var data = getMetricData(metric);
     var option = {
       title: {
-        text:  metric.name,
+        text:  metric[0]._source.name,
         left: 'center',
         textStyle: {
             fontWeight: 'normal',
@@ -88,7 +88,7 @@ define(['./module'], function (services) {
       tooltip : {
           trigger: 'axis',
           formatter : function(params) {
-            return getTooltip(params, metric.metricType);
+            return getTooltip(params);
           },
           position: function(point, params, dom) {
               return getTooltipPosition(point, params, dom);
@@ -128,36 +128,19 @@ define(['./module'], function (services) {
   }
 
   function formatter_yaxis_name(metric) {
-      if (metric.dq <= 100) {
-          return 'dq (%)';
-      } else {
-          return 'dq (k)';
-      }
+//      if (metric.hits.hits <= 100) {
+          return 'accuracy (%)';
+//      } else {
+//          return 'dq (k)';
+//      }
   }
 
-  function getTooltip(params, metricType) {
+  function getTooltip(params) {
     var result = '';
     if (params.length > 0) {
-
-        if(metricType == 'Bollinger'){
-          result = new 
Date(getUTCTimeStamp(params[0].data[0])).toUTCString().replace('GMT', '')+
-                      '<br /> Value : ' + params[2].data[1] +
-                      '<br /> Average : ' + params[3].data[1] +
-                      '<br /> Bands : ' + params[0].data[1] + '--' + 
params[1].data[1];
-        }else if(metricType == 'Trend'){
-          result = new 
Date(getUTCTimeStamp(params[0].data[0])).toUTCString().replace('GMT', '')+
-                      '<br /> Value : ' + params[0].data[1] +
-                      '<br /> -7 days : ' + params[1].data[1];
-        }else if(metricType == 'MAD'){
-          result = new 
Date(getUTCTimeStamp(params[0].data[0])).toUTCString().replace('GMT', '')+
-                      '<br /> Value : ' + params[2].data[1] +
-                      '<br /> Bands : ' + params[0].data[1] + '--' + 
params[1].data[1];
-        }else if(metricType == 'Count' || metricType == ''){
           result = new 
Date(getUTCTimeStamp(params[0].data[0])).toUTCString().replace('GMT', '')+
                       '<br /> Value : ' + params[0].data[1];
-        }
     }
-
     return result;
   }
 
@@ -184,7 +167,7 @@ define(['./module'], function (services) {
       tooltip : {
           trigger: 'axis',
           formatter : function(params) {
-            return getTooltip(params, metric.metricType);
+            return getTooltip(params);
           }
       },
       xAxis : {
@@ -210,15 +193,7 @@ define(['./module'], function (services) {
 
   function getSeries(metric) {
     var series = {};
-    if(metric.metricType == 'Bollinger'){
-      series = getSeriesBollinger(metric);
-    }else if(metric.metricType == 'Trend'){
-      series = getSeriesTrend(metric);
-    }else if(metric.metricType == 'MAD'){
-      series = getSeriesMAD(metric);
-    }else if(metric.metricType == 'Count' || metric.metricType == ''){
-      series = getSeriesCount(metric);
-    }
+    series = getSeriesCount(metric);
     return series;
   }
 
@@ -226,9 +201,9 @@ define(['./module'], function (services) {
     var data = getMetricData(metric);
     var option = {
       title: {
-        text:  metric.name,
-        link: '/#/viewrule/' + metric.name,
-        target: 'self',
+        text:  metric[0]._source.name,
+//        link: '/#/viewrule/' + metric.name,
+//        target: 'self',
         left: 'center',
         textStyle: {
             fontSize: 25
@@ -241,16 +216,16 @@ define(['./module'], function (services) {
       },
       dataZoom: [{
         type: 'inside',
-        start: 75,
+        start: 0,
         throttle: 50
       },{
         show: true,
-        start: 75
+        start: 0
       }],
       tooltip : {
           trigger: 'axis',
           formatter : function(params) {
-            return getTooltip(params, metric.metricType);
+            return getTooltip(params);
           }
       },
       xAxis : {
@@ -270,152 +245,20 @@ define(['./module'], function (services) {
       animation: true
     };
     option.series = getSeries(metric);
-    if (metric.metricType == 'MAD') {
-        option.series = getMADBigSeries(option.series);
-    } else if (metric.metricType == 'Bollinger') {
-        option.series = getBollingerBigSeries(option.series);
-    }
     return option;
   }
 
-  function getBollingerBigSeries(series) {
-      var dataLow = series[0].data;
-      var data = series[2].data;
-      var result = [];
-      for (var i = 0; i < data.length; i++) {
-          if (data[i][1] < dataLow[i][1]) {
-              var item = {};
-              item.coord = data[i];
-              var diff = Number(dataLow[i][1])-Number(data[i][1]);
-              item.label = {
-                  normal: {
-                      formatter: 'low '+diff
-                  }
-              };
-              item.itemStyle = {
-                  normal: {
-                      color: '#c23531'
-                  }
-              };
-              result.push(item);
-          }
-      }
-      series[2].markPoint = {};
-      series[2].markPoint.data = result;
-      console.log(series);
-      return series;
-  }
-
-  function getMADBigSeries(series) {
-      var dataLow = series[0].data;
-      var data = series[2].data;
-      var result = [];
-      for (var i = 0; i < data.length; i++) {
-          if (data[i][1] < dataLow[i][1]) {
-              var item = {};
-              item.coord = data[i];
-              var diff = Number(dataLow[i][1])-Number(data[i][1]);
-              item.label = {
-                  normal: {
-                      formatter: Math.round(diff/1000) + 'K below lower band'
-                  }
-              };
-              item.itemStyle = {
-                  normal: {
-                      color: '#c23531'
-                  }
-              };
-              result.push(item);
-          }
-      }
-      series[2].markPoint = {};
-      series[2].markPoint.data = result;
-      console.log(series);
-      return series;
-  }
-
   function getMetricData(metric) {
     var data = [];
-    var chartData = metric.details;
+    var chartData = metric;
     for(var i = 0; i < chartData.length; i++){
-        data.push([formatTimeStamp(chartData[i].timestamp), 
parseFloat(chartData[i].value.toFixed(2))]);
+        data.push([formatTimeStamp(chartData[i]._source.tmst), 
parseFloat((chartData[i]._source.matched/chartData[i]._source.total).toFixed(2))]);
     }
 
     data.sort(function(a, b){
       return a[0] - b[0];
     });
-    return data;
-  }
 
-  function getSeriesMADLow(metric) {
-    var data = [];
-    var chartData = metric.details;
-    for (var i = 0; i < chartData.length; i++) {
-      data.push([formatTimeStamp(chartData[i].timestamp), 
Number(chartData[i].mad.lower)]);
-    }
-    data.sort(function(a, b){
-      return a[0] - b[0];
-    });
-    return data;
-  }
-
-  function getSeriesMADUp(metric) {
-    var data = [];
-    var chartData = metric.details;
-    for (var i = 0; i < chartData.length; i++) {
-      data.push([formatTimeStamp(chartData[i].timestamp), 
Number(chartData[i].mad.upper-chartData[i].mad.lower)]);
-    }
-    data.sort(function(a, b){
-      return a[0] - b[0];
-    });
-    return data;
-  }
-
-  function getSeriesBollingerLow(metric) {
-    var data = [];
-    var chartData = metric.details;
-    for (var i = 0; i < chartData.length; i++) {
-      data.push([formatTimeStamp(chartData[i].timestamp), 
Number(chartData[i].bolling.lower)]);
-    }
-    data.sort(function(a, b){
-      return a[0] - b[0];
-    });
-    return data;
-  }
-
-  function getSeriesBollingerUp(metric) {
-    var data = [];
-    var chartData = metric.details;
-    for (var i = 0; i < chartData.length; i++) {
-      data.push([formatTimeStamp(chartData[i].timestamp), 
Number(chartData[i].bolling.upper-chartData[i].bolling.lower)]);
-    }
-    data.sort(function(a, b){
-      return a[0] - b[0];
-    });
-    return data;
-  }
-
-  function getSeriesBollingerMean(metric) {
-    var data = [];
-    var chartData = metric.details;
-    for (var i = 0; i < chartData.length; i++) {
-      data.push([formatTimeStamp(chartData[i].timestamp), 
Number(chartData[i].bolling.mean)]);
-    }
-    data.sort(function(a, b){
-      return a[0] - b[0];
-    });
-    return data;
-  }
-
-  function getSeriesTrendComparision(metric) {
-    var data = [];
-    var chartData = metric.details;
-    for (var i = 0; i < chartData.length; i++) {
-      data.push([formatTimeStamp(chartData[i].timestamp), 
Number(chartData[i].comparisionValue)]);
-    }
-    data.sort(function(a, b){
-      return a[0] - b[0];
-    });
     return data;
   }
 
@@ -445,169 +288,5 @@ define(['./module'], function (services) {
       return series;
   }
 
-  function getSeriesTrend(metric) {
-    var series = [];
-    var data = getMetricData(metric);
-    var dataComparision = getSeriesTrendComparision(metric);
-    series.push({
-          type: 'line',
-          smooth:true,
-          data: data,
-          lineStyle: {
-            normal: {
-                color: '#d48265'
-            }
-          },
-          itemStyle: {
-              normal: {
-                  color: '#d48265'
-              }
-          }
-      });
-      series.push({
-          type: 'line',
-          smooth:true,
-          data: dataComparision,
-          lineStyle: {
-            normal: {
-                color: '#f15c80',
-                type: 'dashed'
-            }
-          },
-          itemStyle: {
-              normal: {
-                  color: '#f15c80'
-              }
-          }
-      });
-      return series;
-  }
-
-  function getSeriesBollinger(metric) {
-    var series = [];
-      var dataLow = getSeriesBollingerLow(metric);
-      var dataUp = getSeriesBollingerUp(metric);
-      var dataMean = getSeriesBollingerMean(metric);
-      var data = getMetricData(metric);
-      series.push({
-          name: 'L',
-          type: 'line',
-          smooth:true,
-          data: dataLow,
-          lineStyle: {
-              normal: {
-                  opacity: 0
-              }
-          },
-          stack: 'MAD-area',
-          symbol: 'none'
-      });
-      series.push({
-          name: 'U',
-          type: 'line',
-          smooth:true,
-          data: dataUp,
-          lineStyle: {
-              normal: {
-                  opacity: 0
-              }
-          },
-          areaStyle: {
-              normal: {
-                  color: '#eee',
-                  opacity: 0.2
-              }
-          },
-          stack: 'MAD-area',
-          symbol: 'none'
-      });
-      series.push({
-          type: 'line',
-          smooth:true,
-          data: data,
-          lineStyle: {
-            normal: {
-                color: '#d48265'
-            }
-          },
-          itemStyle: {
-              normal: {
-                  color: '#d48265'
-              }
-          }
-      });
-      series.push({
-          type: 'line',
-          smooth:true,
-          data: dataMean,
-          lineStyle: {
-            normal: {
-                color: '#f15c80',
-                type: 'dashed'
-            }
-          },
-          itemStyle: {
-              normal: {
-                  color: '#f15c80'
-              }
-          }
-      });
-      return series;
-  }
-
-  function getSeriesMAD(metric) {
-      var series = [];
-      var dataLow = getSeriesMADLow(metric);
-      var dataUp = getSeriesMADUp(metric);
-      var data = getMetricData(metric);
-      series.push({
-          name: 'L',
-          type: 'line',
-          smooth:true,
-          data: dataLow,
-          lineStyle: {
-              normal: {
-                  opacity: 0
-              }
-          },
-          stack: 'MAD-area',
-          symbol: 'none'
-      });
-      series.push({
-          name: 'U',
-          type: 'line',
-          smooth:true,
-          data: dataUp,
-          lineStyle: {
-              normal: {
-                  opacity: 0
-              }
-          },
-          areaStyle: {
-              normal: {
-                  color: '#eee',
-                  opacity: 0.2
-              }
-          },
-          stack: 'MAD-area',
-          symbol: 'none'
-      });
-      series.push({
-          type: 'line',
-          smooth:true,
-          data: data,
-          lineStyle: {
-            normal: {
-                color: '#d48265'
-            }
-          },
-          itemStyle: {
-              normal: {
-                  color: '#d48265'
-              }
-          }
-      });
-      return series;
-  }
 
 });

http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/06ddc548/ui/js/services/services.js
----------------------------------------------------------------------
diff --git a/ui/js/services/services.js b/ui/js/services/services.js
index da6311f..ccf2d7a 100644
--- a/ui/js/services/services.js
+++ b/ui/js/services/services.js
@@ -34,24 +34,8 @@ define(['./module'], function (services) {
           uri: {
               base: BACKEND_SERVER + API_ROOT_PATH,
 
-              //mock data
-              // statistics:'/js/mock_data/statistics.json',
-              //briefmetrics:'/js/mock_data/briefmetrics.json',
-              //heatmap: '/js/mock_data/briefmetrics.json',
-              // dbtree: '/js/mock_data/dbtree1.json',
-              // schemadefinition: '/js/mock_data/schemadefinition.json',
-              // rulemetric: '/js/mock_data/rulemetric.json',
-              // dashboard: '/js/mock_data/briefmetrics.json' ,
-              // allModels: "http://localhost:8080/"; + API_ROOT_PATH + 
'/model/allModels',
-              // newModel: "http://localhost:8080/"; + API_ROOT_PATH + 
'/model/newModel' ,
-              // deleteModel: "http://localhost:8080"; + API_ROOT_PATH + 
'/model/deleteModel' ,
-
-              //real data
-              //data asset
-//              dbtree: BACKEND_SERVER + API_ROOT_PATH + 
'/dataassets/metadata',
               dbtree:BACKEND_SERVER + '/metadata/hive/alltables',
-                schemadefinition: BACKEND_SERVER + '/metadata/hive',
-//              dataassetlist: BACKEND_SERVER + API_ROOT_PATH + '/dataassets',
+              schemadefinition: BACKEND_SERVER + '/metadata/hive',
               dataassetlist: BACKEND_SERVER + 
'/metadata/hive/default/alltables',
 
               adddataasset: BACKEND_SERVER + API_ROOT_PATH + '/dataassets',
@@ -70,16 +54,16 @@ define(['./module'], function (services) {
               heatmap: BACKEND_SERVER + API_ROOT_PATH + '/metrics/heatmap' ,
               metricdetail: BACKEND_SERVER + API_ROOT_PATH + 
'/metrics/complete',
               rulemetric: BACKEND_SERVER + API_ROOT_PATH + '/metrics/brief',
-              dashboard: BACKEND_SERVER + API_ROOT_PATH + '/metrics/dashboard' 
,
+//              dashboard: BACKEND_SERVER + API_ROOT_PATH + 
'/metrics/dashboard' ,
+              organization:'http://10.249.75.250:8080/org',
 
+              
dashboard:'http://10.64.199.198:9200/griffin/accuracy/_search?pretty',
               metricsample: BACKEND_SERVER + API_ROOT_PATH + '/metrics/sample',
               metricdownload: BACKEND_SERVER + API_ROOT_PATH + 
'/metrics/download',
 
               //Models
-//              allModels: BACKEND_SERVER + API_ROOT_PATH + '/models' ,
               allModels: BACKEND_SERVER + '/measures',
               deleteModel:BACKEND_SERVER + '/measures/deleteByName',
-//              deleteModel: BACKEND_SERVER + API_ROOT_PATH + '/models',
               getModel: BACKEND_SERVER + '/measures/findByName',
               enableModel: BACKEND_SERVER + API_ROOT_PATH + 
'/models/enableModel',
 

http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/06ddc548/ui/pages/metrics/dashboard.html
----------------------------------------------------------------------
diff --git a/ui/pages/metrics/dashboard.html b/ui/pages/metrics/dashboard.html
index b899fc0..b63bfcf 100644
--- a/ui/pages/metrics/dashboard.html
+++ b/ui/pages/metrics/dashboard.html
@@ -15,45 +15,41 @@
 <div id="dashboard" class="bs-component" >
        <div  class="container-fluid">
                <div class="row col-lg-12" style="margin-top: 15px;">
-             <div class="form-group">
+                       <div class="form-group">
                <span>
                    <label>Organization: </label>
-                   <select ng-disabled="orgSelectDisabled" 
class="form-control" style="padding: 4px 6px;height: 30px;width: 
230px;background-color: #d1d3d2;display: inline-block;margin-left: 10px;" 
ng-model="selectedOrgIndex" ng-change="changeOrg()">
+                   <select ng-disabled="orgSelectDisabled" 
class="form-control" style="padding: 4px 6px;height: 30px;width: 
230px;background-color: #d1d3d2;display: inline-block;margin-left: 10px;" 
ng-model="selectedOrgIndex" ng-change="changeOrg(selectedOrgIndex)">
                    <option value="">-- All --</option>
-                   <option ng-repeat="opt in originalData" value="{{$index}}" 
ng-selected="selectedOrgIndex==$index">{{opt.name}}</option>
+                   <option ng-repeat="opt in orgs" value="{{$index}}" 
ng-selected="selectedOrgIndex==$index">{{opt.name}}</option>
                    </select>
                </span>
-               <span style="padding-left:30px;">
+                               <span style="padding-left:30px;">
                    <label>Data Asset: </label>
                    <select class="form-control" style="padding: 4px 
6px;height: 30px;width: 230px;background-color: #d1d3d2;display: 
inline-block;margin-left: 10px;"  ng-model="selectedAssetIndex" 
ng-change="changeAsset()">
                    <option value="">-- All --</option>
                    <option ng-repeat="opt in assetOptions" 
value="{{$index}}">{{opt}}</option>
                    </select>
                </span>
-             </div>
-           </div>
-               <div ng-repeat="outerItems in dashboard">
-                       <div class="row" >
-                               <div class="col-sm-12 col-md-12 col-lg-12">
-                                       <h4>{{outerItems.name}}</h4>
-                               </div>
-                       </div>
-                       <div class="row">
-
-                               <div class="col-sm-6 col-md-4 col-xs-12 
col-lg-3 chartItem"  ng-repeat="items in outerItems.metrics" 
style="margin-bottom:30px;">
-
-                                               <div class="row-fluid" 
style="cursor: pointer;">
-                                                       <div 
id={{'thumbnail'+$parent.$index+'-'+$index}} ng-click="showBig(items)" 
class="thumb-chart" style="border: 2px solid;"></div>
-                                                         <p class="text-right">
-                                                                       <a href 
ng-click="getSample(items)" style="font-size: 11px;">
-                                                                               
<u>Download&nbsp;Sample</u>
-                                                                       </a>
-                                                               </p>
-                                               </div>
-                               </div>
+                       </div>
+               </div>
+               <div ng-repeat="opt in orgs" value="{{$index}}">
+                       <div class="row" >
+                               <div class="col-sm-12 col-md-12 col-lg-12">
+                                       <h4>{{opt.name}}</h4>
                                </div>
-
                        </div>
+                       <div class="row">
+                               <div class="col-sm-6 col-md-4 col-xs-12 
col-lg-3 chartItem" style="margin-bottom:30px;" ng-repeat="outerItems in 
dataData " >
+                                       <div class="row-fluid" style="cursor: 
pointer;">
+                                               <div id={{'thumbnail'+$index}}  
ng-click="showBig(outerItems)"  class="thumb-chart" style="border: 2px 
solid;"></div>
+                                               <p class="text-right">
+                                                       <a href 
ng-click="getSample(items)" style="font-size: 11px;">
+                                                               
<u>Download&nbsp;Sample</u>
+                                                       </a>
+                                               </p>
+                                       </div>
+                               </div>
+                       </div>
+               </div>
        </div>
-
 </div>

http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/06ddc548/ui/pages/rules/rules.html
----------------------------------------------------------------------
diff --git a/ui/pages/rules/rules.html b/ui/pages/rules/rules.html
index 0fd5373..cd5a908 100644
--- a/ui/pages/rules/rules.html
+++ b/ui/pages/rules/rules.html
@@ -33,7 +33,7 @@
                 <th st-ratio="20">Description</th>
                 <!--<th st-ratio="15">Create Date</th>-->
                 <!--<th st-ratio="10">Model Stage</th>-->
-                <!--<th st-ratio="5">Owner</th>-->
+                <th st-ratio="5">Organization</th>
                 <th st-ratio="5">Action</th>
             </tr>
             </thead>
@@ -48,7 +48,7 @@
                 <td>{{row.description}}</td>
                 <!--<td>{{row.createDate | date:'short':'-0700'}}</td>-->
                 <!--<td><label class="label" 
ng-class="row.status==0?'label-default':row.status==1?'label-info':'label-success'"
 >{{row.status|strmap:'modelstatus'}}</label></td>-->
-                <!--<td>{{row.owner}}</td>-->
+                <td>{{row.organization}}</td>
                 <td>
                     &nbsp;
                     <a ng-class="" href="" ng-click="remove(row)" 
title="delete">

http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/06ddc548/ui/sidebar.html
----------------------------------------------------------------------
diff --git a/ui/sidebar.html b/ui/sidebar.html
index 1a9fdd9..13dfd6a 100644
--- a/ui/sidebar.html
+++ b/ui/sidebar.html
@@ -15,69 +15,69 @@
 
 <div id="rightbar" ng-controller="SideBarCtrl" class="" 
style="background-color:#262626;">
 
-  <div id="side-bar-stats" class="row" style="border-bottom:5px solid 
#060606;margin-left:0;margin-right:0">
+    <div id="side-bar-stats" class="row" style="border-bottom:5px solid 
#060606;margin-left:0;margin-right:0">
 
-    <!--<div class="row-container">-->
-      <div class="col-xs-12 col-md-12 col-lg-6 " id="sidebar-option">
+        <!--<div class="row-container">-->
+        <div class="col-xs-12 col-md-12 col-lg-6 " id="sidebar-option">
 
-        <div >
+            <div >
 
-          <div class="sidebar-stat-center">
-              <img src="/img/sidebar1.png" >
-              <span><a class="bark-link" 
href="#/dataassets">{{datasets}}&nbsp;Data Assets</a></span>
-          </div>
+                <div class="sidebar-stat-center">
+                    <img src="/img/sidebar1.png" >
+                    <span><a class="bark-link" href="#/dataassets">&nbsp;Data 
Assets</a></span>
+                </div>
 
-          <div class="sidebar-stat-center">
-              <img src="/img/sidebar2.png">
-              <span><a class="bark-link" href="#/metrics">{{metrics}}&nbsp;DQ 
Metrics</a></span>
-          </div>
+                <div class="sidebar-stat-center">
+                    <img src="/img/sidebar2.png">
+                    <span><a class="bark-link" href="#/metrics">&nbsp;DQ 
Metrics</a></span>
+                </div>
 
-        </div>
+            </div>
 
-      </div>
-      <div class="col-xs-12 col-md-12 col-lg-6">
-        <div id="data-asset-pie"></div>
-      </div>
-    <!--</div>-->
-  </div>
+        </div>
+        <div class="col-xs-12 col-md-12 col-lg-6">
+            <div id="data-asset-pie"></div>
+        </div>
+        <!--</div>-->
+    </div>
 
 
-  <div id="side-bar-metrics" class="row" 
style="margin-top:20px;overflow-y:auto;overflow-x:hidden;margin-left:0;margin-right:0;height:1px;">
-      <div ng-repeat="outerItems in briefmetrics">
-          <div class="well" 
style="padding:0px;background:transparent;border:0px;position:relative; ">
-            <!-- <img class="bullseye" src="/img/bullseye.png" title="image1" 
> -->
-            <div class="col-sm-4 col-lg-4 col-md-4 "><h4 ><a 
href="#/metrics/{{outerItems.name}}"> {{outerItems.name}}</a></h4></div>
-            <div class="col-sm-3 col-lg-3 col-md-3 " style="display: 
flex;justify-content: center;height:46px;"><div ng-class="outerItems.dq >=90 ? 
'led-green':'led-yellow'" style="align-self: center;"></div></div>
-            <div class="col-sm-5 col-lg-5 col-md-5 " style="display: 
flex;justify-content: center;height:46px;"><a style="align-self: center;" 
class="btn btn-primary" href="https://github.com/eBay/DQSolution/issues"; 
target="_blank">Report&nbsp;issue</a></div>
-          </div>
-          <br/>
-          <div class="well side-bar-scroll">
-            <div class="panel-group" ng-repeat="items in outerItems.metrics" 
style="margin-bottom:0px;background:transparent;">
-              <div class="panel panel-default" 
style="position:relative;background:transparent;">
-                <div class="panel-heading" style="background:transparent;">
-                  <h4 class="panel-title side-metrics">
-                      <a data-toggle="collapse" 
href={{"#"+outerItems.name+$index}} ng-init="items.tag=true" 
ng-click="items.tag=!items.tag;draw(items, $parent.$index, $index);" >
-                        <i class="faChevron" ng-class="items.tag ? 'fa 
fa-caret-right':'fa fa-caret-down'" style="width:10px"></i>
+    <div id="side-bar-metrics" class="row" 
style="margin-top:20px;overflow-y:auto;overflow-x:hidden;margin-left:0;margin-right:0;height:1px;">
+        <div ng-repeat="outerItems in briefmetrics">
+            <div class="well" 
style="padding:0px;background:transparent;border:0px;position:relative; ">
+                <!-- <img class="bullseye" src="/img/bullseye.png" 
title="image1" > -->
+                <div class="col-sm-4 col-lg-4 col-md-4 "><h4 ><a 
href="#/metrics/{{outerItems.name}}"> {{outerItems.name}}</a></h4></div>
+                <div class="col-sm-3 col-lg-3 col-md-3 " style="display: 
flex;justify-content: center;height:46px;"><div ng-class="outerItems.dq >=90 ? 
'led-green':'led-yellow'" style="align-self: center;"></div></div>
+                <div class="col-sm-5 col-lg-5 col-md-5 " style="display: 
flex;justify-content: center;height:46px;"><a style="align-self: center;" 
class="btn btn-primary" href="https://github.com/eBay/DQSolution/issues"; 
target="_blank">Report&nbsp;issue</a></div>
+            </div>
+            <br/>
+            <div class="well side-bar-scroll">
+                <div class="panel-group" ng-repeat="items in 
outerItems.metrics" style="margin-bottom:0px;background:transparent;">
+                    <div class="panel panel-default" 
style="position:relative;background:transparent;">
+                        <div class="panel-heading" 
style="background:transparent;">
+                            <h4 class="panel-title side-metrics">
+                                <a data-toggle="collapse" 
href={{"#"+outerItems.name+$index}} ng-init="items.tag=true" 
ng-click="items.tag=!items.tag;draw(items, $parent.$index, $index);" >
+                                    <i class="faChevron" ng-class="items.tag ? 
'fa fa-caret-right':'fa fa-caret-down'" style="width:10px"></i>
 
-                        <i class="fa fa-line-chart faArrows"></i>
-                        <span class="side-date">{{items.timestamp | 
date:'MM/dd HH:mm':'-0700'}}</span>
-                        &nbsp;&nbsp;
-                        <span class="side-name" 
title="{{items.name}}">{{items.name |strShorten}}</span>
-                        <span ng-if="items.dq <= 100" class="pull-right" 
ng-class="items.dqfail?'side-percent-red':'side-percent'">{{items.dq | 
number:2}}%</span>
-                        <span ng-if="items.dq > 100" class="pull-right" 
ng-class="items.dqfail?'side-percent-red':''">{{items.dq/1000 | 
number:0}}K</span>
-                      </a>
-                    </h4>
-                  </div>
-                  <div id={{outerItems.name+$index}} class="panel-collapse 
collapse">
-                    <!-- <div class="panel-body">
-                      <highchart config="items.chartId">
-                    </div> -->
-                    <div class="panel-body" style="cursor:pointer;padding:0px 
15px;">
-                      <div id={{'chart'+$parent.$index+'-'+$index}} 
class="side-chart"></div>
+                                    <i class="fa fa-line-chart faArrows"></i>
+                                    <span class="side-date">{{items.timestamp 
| date:'MM/dd HH:mm':'-0700'}}</span>
+                                    &nbsp;&nbsp;
+                                    <span class="side-name" 
title="{{items.name}}">{{items.name |strShorten}}</span>
+                                    <span ng-if="items.dq <= 100" 
class="pull-right" 
ng-class="items.dqfail?'side-percent-red':'side-percent'">{{items.dq | 
number:2}}%</span>
+                                    <span ng-if="items.dq > 100" 
class="pull-right" 
ng-class="items.dqfail?'side-percent-red':''">{{items.dq/1000 | 
number:0}}K</span>
+                                </a>
+                            </h4>
+                        </div>
+                        <div id={{outerItems.name+$index}} 
class="panel-collapse collapse">
+                            <!-- <div class="panel-body">
+                              <highchart config="items.chartId">
+                            </div> -->
+                            <div class="panel-body" 
style="cursor:pointer;padding:0px 15px;">
+                                <div id={{'chart'+$parent.$index+'-'+$index}} 
class="side-chart"></div>
+                            </div>
+                        </div>
                     </div>
-                  </div>
                 </div>
-              </div>
             </div>
         </div>
     </div>

Reply via email to