You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@griffin.apache.org by gu...@apache.org on 2017/05/04 03:04:18 UTC

[10/51] [partial] incubator-griffin git commit: refactor arch

http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/f629d0f4/griffin-ui/js/controllers/metrics-ctrl.js
----------------------------------------------------------------------
diff --git a/griffin-ui/js/controllers/metrics-ctrl.js b/griffin-ui/js/controllers/metrics-ctrl.js
deleted file mode 100644
index 223cca4..0000000
--- a/griffin-ui/js/controllers/metrics-ctrl.js
+++ /dev/null
@@ -1,180 +0,0 @@
-/*
-	Copyright (c) 2016 eBay Software Foundation.
-	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.
-*/
-define(['./module'], function(controllers) {
-    'use strict';
-    controllers.controller('MetricsCtrl', ['$scope', '$http', '$config', '$location', '$routeParams', '$timeout', '$compile', '$route', '$barkChart', '$rootScope', function($scope, $http, $config, $location, $routeParams, $timeout, $compile, $route, $barkChart, $rootScope) {
-        console.log('Route parameter: ' + $routeParams.sysName);
-
-        var echarts = require('echarts');
-
-        pageInit();
-
-        function pageInit() {
-          $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) {
-              orgNode = new Object();
-              $scope.orgs.push(orgNode);
-              orgNode.name = sys.name;
-              orgNode.dq = sys.dq;
-
-              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);
-            });
-            $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;
-                }
-
-              }
-            }
-
-            $timeout(function() {
-              redraw($scope.dashboard);
-            });
-
-          });
-        }
-
-
-        $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));
-
-                });
-            });
-        }
-
-        $scope.assetOptions = [];
-
-        $scope.changeOrg = function() {
-          $scope.selectedAssetIndex = undefined;
-          $scope.assetOptions = [];
-          $scope.dashboard = [];
-          if($scope.selectedOrgIndex === ""){
-            $scope.dashboard = angular.copy($scope.originalData);
-          } 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);
-              }
-            });
-          }
-          // redraw($scope.dashboard);
-          $timeout(function() {
-              redraw($scope.dashboard);
-            }, 0);
-        };
-
-        $scope.changeAsset = function() {
-          $scope.dashboard = [];
-          if($scope.selectedOrgIndex == ""){
-            $scope.dashboard = angular.copy($scope.originalData);
-          } else {
-            var org = angular.copy($scope.originalData[$scope.selectedOrgIndex]);
-            $scope.dashboard.push(org);
-          }
-          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);
-          }
-        });
-
-        /*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));
-          });
-
-        }
-
-        $scope.getSample = function(item) {
-          $rootScope.$broadcast('downloadSample', item.name);
-        };
-
-        
-    }
-    ]);
-});

http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/f629d0f4/griffin-ui/js/controllers/module.js
----------------------------------------------------------------------
diff --git a/griffin-ui/js/controllers/module.js b/griffin-ui/js/controllers/module.js
deleted file mode 100644
index 624c962..0000000
--- a/griffin-ui/js/controllers/module.js
+++ /dev/null
@@ -1,18 +0,0 @@
-/*
-	Copyright (c) 2016 eBay Software Foundation.
-	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.
-*/
-define(['angular'], function (ng) {
-    'use strict';
-    return ng.module('app.controllers', []);
-});

http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/f629d0f4/griffin-ui/js/controllers/mydashboard-ctrl.js
----------------------------------------------------------------------
diff --git a/griffin-ui/js/controllers/mydashboard-ctrl.js b/griffin-ui/js/controllers/mydashboard-ctrl.js
deleted file mode 100644
index 3cc215d..0000000
--- a/griffin-ui/js/controllers/mydashboard-ctrl.js
+++ /dev/null
@@ -1,84 +0,0 @@
-/*
-	Copyright (c) 2016 eBay Software Foundation.
-	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.
-*/
-define(['./module'], function(controllers) {
-    'use strict';
-    controllers.controller('MyDashboardCtrl', ['$scope', '$http', '$config', '$location', 'toaster', '$timeout', '$route', '$filter', '$compile', '$barkChart', '$rootScope', function($scope, $http, $config, $location, toaster, $timeout, $route, $filter, $compile, $barkChart, $rootScope) {
-
-        var echarts = require('echarts');
-
-        pageInit();
-
-        function pageInit() {
-          $scope.$emit('initReq');
-
-          var url_dashboard = $config.uri.getmydashboard + $scope.ntAccount;
-          $http.get(url_dashboard).success(function(res) {
-              $scope.dashboard = res;
-              angular.forEach(res, function(sys) {
-                angular.forEach(sys.metrics, function(metric) {
-                  var chartData = metric.details;
-                  chartData.sort(function(a, b){
-                    return a.timestamp - b.timestamp;
-                  });
-
-                });
-              });
-              $scope.originalData = angular.copy(res);
-              $timeout(function() {
-                redraw($scope.dashboard);
-              }, 0);
-          });
-
-        }
-
-        var redraw = function(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));
-                });
-            });
-        }
-
-        $scope.$on('resizeHandler', function() {
-            if($route.current.$$route.controller == 'MyDashboardCtrl') {
-                console.log('mydashboard resize');
-                redraw($scope.dashboard);
-            }
-        });
-
-        /*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));
-          });
-
-        }
-
-        $scope.getSample = function(item) {
-          $rootScope.$broadcast('downloadSample', item.name);
-        };
-
-    }]);
-});

http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/f629d0f4/griffin-ui/js/controllers/nav-ctrl.js
----------------------------------------------------------------------
diff --git a/griffin-ui/js/controllers/nav-ctrl.js b/griffin-ui/js/controllers/nav-ctrl.js
deleted file mode 100644
index 8808000..0000000
--- a/griffin-ui/js/controllers/nav-ctrl.js
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
-	Copyright (c) 2016 eBay Software Foundation.
-	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.
-*/
-define(['./module'], function (controllers) {
-    'use strict';
-    controllers.controller('NavCtrl', ['$scope', '$http', '$config', '$location', '$cookies', '$rootScope', '$timeout', function ($scope, $http, $config, $location, $cookies, $rootScope, $timeout) {
-      console.log('Navigation controller');
-      var cookieObjs = $cookies.getAll();
-      if(cookieObjs.ntAccount){
-        $rootScope.ntAccount = cookieObjs.ntAccount;
-        $rootScope.fullName = cookieObjs.fullName;
-      }else{
-        window.location.replace('/login/login.html');
-      }
-
-      var adminGroup = ['lzhixing', 'yosha', 'wenzhao', 'aiye', 'lshao'];
-	    $rootScope.adminAccess = (adminGroup.indexOf($scope.ntAccount)!=-1);
-
-      // $scope.test = 'test';
-      $scope.isActive = function (route) {
-          return $location.path().indexOf(route) == 0;
-          //return $location.path() == route;
-      }
-
-      var timer = null;
-      $("#searchBox").off("keyup");
-      $("#searchBox").on("keyup", function(event){
-        if(timer){
-          $timeout.cancel(timer);
-        }
-        var searchValue = event.target.value;
-
-        if(searchValue != undefined){
-            timer = $timeout(function(){
-              $rootScope.keyword = searchValue.trim();
-            }, 500);
-        }
-      });
-
-      $scope.$on('$routeChangeStart', function(next, current) {
-        $("#searchBox").val('');
-        $rootScope.keyword = '';
-      });
-
-      $scope.logout = function(){
-        $rootScope.ntAccount = undefined;
-        $rootScope.fullName = undefined;
-        $cookies.remove('ntAccount');
-        $cookies.remove('fullName');
-        window.location.replace('/login/login.html');
-      }
-
-    }]);
-});

http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/f629d0f4/griffin-ui/js/controllers/rule-ctrl.js
----------------------------------------------------------------------
diff --git a/griffin-ui/js/controllers/rule-ctrl.js b/griffin-ui/js/controllers/rule-ctrl.js
deleted file mode 100644
index a82c3e1..0000000
--- a/griffin-ui/js/controllers/rule-ctrl.js
+++ /dev/null
@@ -1,174 +0,0 @@
-/*
-	Copyright (c) 2016 eBay Software Foundation.
-	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.
-*/
-define(['./module'], function (controllers) {
-    'use strict';
-    controllers.controller('RuleCtrl', ['$scope', '$http', '$config', '$location', '$timeout', '$route', 'toaster', '$filter', function ($scope, $http, $config, $location, $timeout, $route, toaster, $filter) {
-      console.log('rule controller');
-
-      $scope.statusList = $filter('strarr')('modelstatus');
-      $scope.systemList = $filter('strarr')('modelsystem');
-      $scope.typeList = $filter('strarr')('modeltype');
-
-      var allModels = $config.uri.allModels;
-      var ts = null;
-      var start = 0;
-      var number = 10;
-      var originalRowCollection = undefined;
-
-      $scope.paging = function(tableState){
-        console.log(tableState);
-        ts = tableState;
-
-        // tableState.pagination.numberOfPages = $scope.rowCollection.length/10 + 1;
-        start = tableState.pagination.start || 0;
-        number = tableState.pagination.number || 10;
-
-        if(start == 0 && !$scope.rowCollection){
-         $http.get(allModels).success(function(data) {
-           data.sort(function(a,b){
-             return -(a.createDate - b.createDate);
-           });
-           originalRowCollection = angular.copy(data);
-           $scope.rowCollection = angular.copy(data);
-
-           $scope.displayed = $scope.rowCollection.slice(start, start+number);
-           tableState.pagination.numberOfPages = Math.ceil($scope.rowCollection.length/number);
-         });
-        }else{
-         $scope.displayed = $scope.rowCollection.slice(start, start+number);
-        }
-      };
-
-      var include = function(keyword, str) {
-        if(keyword == undefined || keyword == null){
-          return true;
-        } else if(str == undefined || str == null){
-          return false;
-        } else{
-          var value = keyword.trim().toLowerCase();
-          return str.trim().toLowerCase().includes(value);
-        }
-      };
-
-      var findValue = function(keyword, assetItem) {
-        var date = $filter('date')(assetItem.createDate, 'M/d/yy h:mm a', '-0700')
-        return include(keyword, assetItem.name)
-          || include(keyword, assetItem.description)
-          || include(keyword, assetItem.owner)
-          || include(keyword, $filter('strmap')(assetItem.system, $scope.systemList))
-          || include(keyword, $filter('strmap')(assetItem.status, $scope.statusList))
-          || include(keyword, $filter('strmap')(assetItem.type, $scope.typeList))
-          || include(keyword, date);
-      };
-
-      $scope.$watch('keyword', function(newValue){
-        if(originalRowCollection){
-          start = 0;
-          if(newValue == undefined || newValue == ''){
-            $scope.rowCollection = angular.copy(originalRowCollection);
-          }else{
-            var result = [];
-            for (var i = 0; i < originalRowCollection.length; i++) {
-              var item = originalRowCollection[i];
-              if(findValue(newValue, item)){
-                result.push(item);
-              }
-            };
-            $scope.rowCollection = angular.copy(result);
-          }
-          $scope.displayed = $scope.rowCollection.slice(start, start+number);
-          ts.pagination.numberOfPages = Math.ceil($scope.rowCollection.length/number);
-        }
-      });
-
-
-      $scope.remove = function remove(row) {
-        var getModelUrl = $config.uri.getModel + '/' +row.name;
-        $http.get(getModelUrl).success(function(data){
-  			  $scope.deletedRow = data;
-
-  		  });
-        // $scope.deletedRow = row;
-        $scope.deletedBriefRow = row;
-        $('#deleteConfirmation').modal('show');
-
-
-
-      }
-
-      $scope.confirmDelete = function(){
-        var row =   $scope.deletedBriefRow;
-        var deleteModelUrl = $config.uri.deleteModel + '/' + row.name;
-        $http.delete(deleteModelUrl).success(function(){
-
-          var index = $scope.rowCollection.indexOf(row);
-          $scope.rowCollection.splice(index, 1);
-
-          index = $scope.displayed.indexOf(row);
-          $scope.displayed.splice(index, 1);
-
-          $('#deleteConfirmation').modal('hide');
-
-        }).error(function(data, status){
-          toaster.pop('error', 'Error when deleting record', data);
-        });
-      }
-
-
-
-      $scope.edit = function edit() {
-      }
-
-      $scope.$on('$viewContentLoaded', function() {
-        $scope.$emit('initReq');
-      });
-
-
-/*
-       function createRowCollection(){
-         var data = [];
-         for (var j = 0; j < 22; j++) {
-              data.push(createRandomItem());
-          }
-
-          return data;
-       }
-
-       function createRandomItem() {
-         var nameList = ['ViewItem', 'Search', 'BidEvent', 'user_dna', 'LAST_ITEMS_VIEWED'],
-             systemList = ['Bullseye', 'PDS', 'GPS', 'IDLS', 'Hadoop'],
-             dateList = ['2016-03-10', '2016-03-12', '2016-03-15', '2016-03-19', '2016-03-20'],
-             statusList = [0, 1, 2];
-
-           var
-               name = nameList[Math.floor(Math.random() * 5)],
-               system = Math.floor(Math.random() * 7),
-               type = Math.floor(Math.random() * 4),
-               description = 'Only for demo purpose',
-               createDate = dateList[Math.floor(Math.random() * 5)],
-               status = Math.floor(Math.random() * 3);
-
-           return{
-               name: name,
-               system: system,
-               type: type,
-               description: description,
-               createDate: createDate,
-               status:status
-           };
-       }
-*/
-    }]);
-});

http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/f629d0f4/griffin-ui/js/controllers/sidebar-ctrl.js
----------------------------------------------------------------------
diff --git a/griffin-ui/js/controllers/sidebar-ctrl.js b/griffin-ui/js/controllers/sidebar-ctrl.js
deleted file mode 100644
index b5b6d23..0000000
--- a/griffin-ui/js/controllers/sidebar-ctrl.js
+++ /dev/null
@@ -1,139 +0,0 @@
-/*
-	Copyright (c) 2016 eBay Software Foundation.
-	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.
-*/
-define(['./module'], function(controllers) {
-    'use strict';
-    controllers.controller('SideBarCtrl', ['$scope', '$http', '$config', '$filter', '$timeout', '$compile', '$routeParams', '$barkChart', '$rootScope', function($scope, $http, $config, $filter, $timeout, $compile, $routeParams, $barkChart, $rootScope) {
-
-        var echarts = require('echarts');
-
-        pageInit();
-
-
-        function pageInit() {
-          var url = $config.uri.statistics;
-
-          $http.get(url).success(function(res) {
-              $scope.datasets = res.assets;
-              $scope.metrics = res.metrics;
-              renderDataAssetPie(res.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);
-          if(value){
-            sideBarList(value);
-          }else{
-            $scope.briefmetrics = $scope.backup_metrics;
-          }
-        });
-
-        $scope.draw = function(metric, parentIndex, index) {
-
-            var chartId = 'chart' + parentIndex + '-' + index;
-            document.getElementById(chartId).style.width = ($('.panel-heading').innerWidth()-20)+'px';
-            document.getElementById(chartId).style.height = '200px';
-            var myChart = echarts.init($('#'+chartId).get(0), 'dark');
-            metric.myOption = $barkChart.getOptionSide(metric);
-            myChart.setOption(metric.myOption);
-
-            $('#'+chartId).unbind('click');
-            $('#'+chartId).click(function() {
-              showBig($scope.briefmetrics[parentIndex].metrics[index]);
-            });
-
-        };
-
-        var showBig = function(metric){
-          var metricDetailUrl = $config.uri.metricdetail + '/' + metric.name;
-          $http.get(metricDetailUrl).success(function (data){
-            $rootScope.showBigChart($barkChart.getOptionBig(data));
-          });
-        }
-
-        function sideBarList(sysName){
-          var url_briefmetrics = $config.uri.briefmetrics + (sysName?('/'+ sysName):'');
-          $http.get(url_briefmetrics, {cache:true}).success(function(res) {
-              $scope.briefmetrics = res;
-
-              angular.forEach(res, function(sys) {
-                if(sys.metrics && sys.metrics.length > 0){
-                  sys.metrics.sort(function(a, b){
-                    if(a.dqfail == b.dqfail){ //If it's green, sort by timestamp
-                      return b.timestamp - a.timestamp;
-                    }else{  //sort by dq
-                      return -(a.dqfail - b.dqfail);
-                    }
-                  });
-                }
-              });
-
-              if(!sysName){
-                $scope.backup_metrics = angular.copy(res);
-              }
-
-              $timeout(function() {
-                resizeSideChart();
-              }, 0);
-          });
-        }
-
-        $(window).resize(function() {
-            console.log('sidebar resize');
-            if(window.innerWidth < 992) {
-              $('#rightbar').css('display', 'none');
-            } else {
-              $('#rightbar').css('display', 'block');
-              resizePieChart();
-              $scope.dataAssetPieChart.resize();
-              resizeSideChart();
-            }
-        });
-
-        function resizeSideChart() {
-            $('#side-bar-metrics').css({
-                height: $('#mainContent').height()-$('#side-bar-stats').outerHeight()+70
-            });
-
-            console.log($scope.briefmetrics);
-            angular.forEach($scope.briefmetrics, function(sys, sysIndex) {
-              var sysIndex = sysIndex;
-              angular.forEach(sys.metrics, function(metric, index) {
-                if (!metric.tag) {
-                  $scope.draw(metric, sysIndex, index);
-                }
-              })
-            });
-        }
-
-        function resizePieChart() {
-          $('#data-asset-pie').css({
-              height: $('#data-asset-pie').parent().width(),
-              width: $('#data-asset-pie').parent().width()
-          });
-        }
-    }
-    ]);
-});

http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/f629d0f4/griffin-ui/js/controllers/subscribemodel-ctrl.js
----------------------------------------------------------------------
diff --git a/griffin-ui/js/controllers/subscribemodel-ctrl.js b/griffin-ui/js/controllers/subscribemodel-ctrl.js
deleted file mode 100644
index e13bfd1..0000000
--- a/griffin-ui/js/controllers/subscribemodel-ctrl.js
+++ /dev/null
@@ -1,406 +0,0 @@
-/*
-	Copyright (c) 2016 eBay Software Foundation.
-	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.
-*/
-define(['./module'], function(controllers) {
-    'use strict';
-    controllers.controller('SubscribeModelCtrl', ['$scope', '$http', '$config', '$location', 'toaster', '$timeout', '$route', '$filter', function($scope, $http, $config, $location, toaster, $timeout, $route, $filter) {
-        var dbtreeUrl = $config.uri.dbtree;
-        var schemaDefinitionUrl = $config.uri.schemadefinition;
-        var subscribeUrl = $config.uri.getsubscribe;
-        var allModelsUrl = $config.uri.allModels;
-
-        $scope.ruleSystems = $filter('strarr')('modelsystem');
-        $scope.ruleTypes = $filter('strarr')('modeltype');
-
-        $http.get(dbtreeUrl).success(function(data) {
-            var dbList = [];
-            if (data && data.length > 0) {
-                data.forEach(function(db) {
-                    var dbNode = {
-                        name: db.platform,
-                        fullname: db.platform,
-                        l1: true,
-                        children: []
-                    };
-                    dbList.push(dbNode);
-                    if (db.systems && db.systems.length > 0) {
-                        db.systems.forEach(function(system) {
-                            var dsNode = {
-                                name: system.name,
-                                fullname: db.platform + '#' + system.name,
-                                l2: true,
-                                children: []
-                            };
-                            dbNode.children.push(dsNode);
-                            dsNode.parent = dbNode;
-
-
-                            if (system.assets && system.assets.length > 0) {
-                                system.assets.sort(function(a, b){
-                                  return (a.name<b.name?-1:(a.name>b.name?1:0));
-                                });
-                                system.assets.forEach(function(schema) {
-                                    var schemaNode = {
-                                        id: schema.id,
-                                        name: schema.name,
-                                        fullname: db.platform + '#' + system.name + '#' + schema.name,
-                                        l3: true
-                                    };
-                                    schemaNode.parent = dsNode;
-                                    dsNode.children.push(schemaNode);
-                                });
-                            }
-                        });
-                    }
-
-                });
-            }
-            $scope.dbList = dbList;
-            $scope.dbListTarget = angular.copy(dbList);
-
-            $http.get(subscribeUrl + $scope.ntAccount).success(function(data){
-                $scope.oldSubscription = data;
-                //updateModelsTable();
-                initializeModelsTable();
-                // $scope.changeCB();
-            });
-
-
-
-
-
-        });
-
-        $http.get(allModelsUrl).success(function(data){
-            $scope.allModels = data;
-        });
-
-        var findPlatformIndex = function(pl, subscribes){
-            for (var i = 0; i < subscribes.length; i++) {
-                if(subscribes[i].platform == pl){
-                    return i;
-                }
-            };
-            return -1;
-        };
-
-        var findSystemIndex = function(sys, systems){
-            for (var i = 0; i < systems.length; i++) {
-                if(systems[i].system == sys){
-                    return i;
-                }
-            };
-            return -1;
-        };
-
-        var getSubscribes = function(){
-            var subscribes = [];
-            var checkedList = angular.element('input:checked');
-            angular.forEach(checkedList, function(item){
-                var value = item.value;
-                var res = value.split('#');
-                if(res.length == 2) {
-                    var pl = res[0];
-                    var sys = res[1];
-                    var plIndex = findPlatformIndex(pl, subscribes);
-                    if(plIndex == -1) {
-                        var newPlatform = {
-                            "platform": pl,
-                            "selectAll": false,
-                            "systems": [{
-                                "system": sys,
-                                "selectAll": true,
-                                "dataassets": []
-                            }]
-                        }
-                        subscribes.push(newPlatform);
-                    } else{
-                        var sysIndex = findSystemIndex(sys, subscribes[plIndex].systems);
-                        if(sysIndex == -1) {
-                            var newSys = {
-                                "system": sys,
-                                "selectAll": true,
-                                "dataassets": []
-                            };
-                            subscribes[plIndex].systems.push(newSys);
-                        }else{
-                            subscribes[plIndex].systems[sysIndex].selectAll = true;
-                        }
-                    }
-                } else if(res.length == 3){
-                    var pl = res[0];
-                    var sys = res[1];
-                    var asset = res[2];
-                    var plIndex = findPlatformIndex(pl, subscribes);
-                    if(plIndex == -1) {
-                        var newPlatform = {
-                            "platform": pl,
-                            "selectAll": false,
-                            "systems":[{
-                                "system": sys,
-                                "selectAll": false,
-                                "dataassets": [asset]
-                            }]
-
-                        };
-                        subscribes.push(newPlatform);
-                    } else{
-                        var sysIndex = findSystemIndex(sys, subscribes[plIndex].systems);
-                        if(sysIndex == -1) {
-                            var newSys = {
-                                "system": sys,
-                                "selectAll": false,
-                                "dataassets": [asset]
-                            };
-                            subscribes[plIndex].systems.push(newSys);
-                        }else{
-                            subscribes[plIndex].systems[sysIndex].dataassets.push(asset);
-                        }
-                    }
-                }
-            })
-            return subscribes;
-        };
-
-        $scope.$on('$viewContentLoaded', function() {
-            $scope.$emit('initReq');
-            resizeWindow();
-        });
-
-        $scope.$on('resizeHandler', function(e) {
-            if ($route.current.$$route.controller == "SubscribeModelCtrl") {
-                resizeWindow();
-            }
-        });
-
-        function resizeWindow() {
-            console.log(window.innerHeight);
-            console.log($('.formStep').offset().top);
-            console.log($('#footerwrap').outerHeight());
-                    $('.formStep').innerHeight(window.innerHeight  -  $('.formStep').offset().top - $('#footerwrap').outerHeight());
-                    $('fieldset').height(window.innerHeight  -  $('fieldset').offset().top - $('#footerwrap').outerHeight()- $('.btn-container').height() -80);
-                    $('.y-scrollable').css({
-                        'max-height': $('fieldset').height()
-                    });
-
-        }
-
-        $scope.form = {
-            submit: function(form) {
-                var subscribes = angular.copy(getSubscribes());
-                var sid = ($scope.oldSubscription=="")?null:$scope.oldSubscription._id;
-                var requestData = {
-                    "id": sid,
-                    // "id": $scope.ntAccount,
-                    "ntaccount": $scope.ntAccount,
-                    "subscribes": subscribes
-                };
-                this.data = requestData;
-                // $('#confirm').modal('show');
-                var newsubscribeUrl = $config.uri.newsubscribe;
-                $http.post(newsubscribeUrl, this.data).success(function(data){
-                    $location.path('/mydashboard').replace();
-                }).error(function(data){
-                    console.log("Fail to new subscription.");
-                });
-            },
-            save: function(form) {
-                var newsubscribeUrl = $config.uri.newsubscribe;
-                $http.post(newsubscribeUrl, this.data).success(function(data){
-                    $('#confirm').on('hidden.bs.modal', function(e) {
-                        $('#confirm').off('hidden.bs.modal');
-                        $location.path('/mydashboard').replace();
-                        $scope.$apply();
-                    });
-                    $('#confirm').modal('hide');
-                }).error(function(data){
-                    console.log("Fail to new subscription.");
-                });
-            }
-        };
-
-        var findAssetId = function(assetname, sysname, pfname, dbList){
-            for (var i = 0; i < dbList.length; i++) {
-                var platform = dbList[i];
-                if(platform.name == pfname){
-                    for (var j = 0; j < platform.children.length; j++) {
-                        var sys = platform.children[j];
-                        if(sys.name == sysname){
-                            for (var k = 0; k < sys.children.length; k++) {
-                                var asset = sys.children[k];
-                                if(assetname==asset.name) {
-                                    return asset.id;
-                                }
-                            };
-                        }
-                    };
-                }
-            };
-            return -1;
-        };
-
-          var getModelsInfo = function(assetname, sysname, allModels) {
-            var result = [];
-            angular.forEach(allModels, function(model) {
-                if(model.assetName == assetname
-                    && $scope.ruleSystems[model.system] == sysname) {
-                    var item = {
-                        'systemName': sysname,
-                        'assetName': assetname,
-                        'modelName': model.name,
-                        'modelType': $scope.ruleTypes[model.type],
-                        'desc': model.description
-                    }
-                    result.push(item);
-                }
-            });
-            return result;
-          }
-
-          var initializeModelsTable = function(){
-            if($scope.oldSubscription == undefined || $scope.oldSubscription == "" || $scope.oldSubscription.subscribes == undefined){
-                return;
-            }
-            $scope.schemaCollection = [];
-            var subscribes = $scope.oldSubscription.subscribes;
-            angular.forEach(subscribes, function(platform){
-                angular.forEach(platform.systems, function(sys){
-                    angular.forEach(sys.dataassets, function(asset){
-                        var models = getModelsInfo(asset, sys.system, $scope.allModels);
-                        $scope.schemaCollection = $scope.schemaCollection.concat(models);
-                    })
-                })
-            });
-
-          };
-
-          var updateModelsTable = function(){
-            $scope.schemaCollection = [];
-            var subscribes = angular.copy(getSubscribes());
-            angular.forEach(subscribes, function(platform){
-                angular.forEach(platform.systems, function(sys){
-                    angular.forEach(sys.dataassets, function(asset){
-                        var models = getModelsInfo(asset, sys.system, $scope.allModels);
-                        $scope.schemaCollection = $scope.schemaCollection.concat(models);
-                    })
-                })
-            });
-
-          };
-
-        $scope.isChecked = function(node) {
-            if($scope.oldSubscription == undefined || $scope.oldSubscription == "" || $scope.oldSubscription.subscribes == undefined){
-                return false;
-            } else {
-                var oldSubscribes = $scope.oldSubscription.subscribes;
-                if(node.l2){
-                    for (var i = 0; i < oldSubscribes.length; i++) {
-                        var subscribe = oldSubscribes[i];
-                        if(subscribe.platform == node.parent.name){
-                            for (var j = 0; j < subscribe.systems.length; j++) {
-                                var sys = subscribe.systems[j];
-                                if(sys.system == node.name && sys.selectAll){
-                                    return true;
-                                }
-                            };
-                        }
-                    };
-                }else if(node.l3){
-                    for (var i = 0; i < oldSubscribes.length; i++) {
-                        var subscribe = oldSubscribes[i];
-                        if(subscribe.platform == node.parent.parent.name){
-                            for (var j = 0; j < subscribe.systems.length; j++) {
-                                var sys = subscribe.systems[j];
-                                if(sys.system == node.parent.name){
-                                    for (var k = 0; k < sys.dataassets.length; k++) {
-                                        var asset = sys.dataassets[k];
-                                        if(asset == node.name) {
-                                            return true;
-                                        }
-                                    };
-                                }
-                            };
-                        }
-                    };
-                }
-            }
-            return false;
-        };
-
-        // setTimeout(function() {
-        //     updateModelsTable();
-        // }, 1000);
-
-        $scope.changeCB = function(node, evt) {
-            // $('input[type="checkbox"]').change(function(e) {
-
-                  var checked = $(evt.target).prop("checked"),
-                      container = $(evt.target).parent(),
-                      siblings = container.siblings();
-
-                  container.find('input[type="checkbox"]').prop({
-                    indeterminate: false,
-                    checked: checked
-                  });
-
-
-                   function checkSiblings(el) {
-
-                    var parent = el.parent().parent().parent(),
-                        all = true;
-
-                    el.siblings().each(function() {
-                      return all = ($(this).children('input[type="checkbox"]').prop("checked") === checked);
-                    });
-
-                    if (all && checked) {
-
-                      parent.children('input[type="checkbox"]').prop({
-                        indeterminate: false,
-                        checked: checked
-                      });
-
-                      checkSiblings(parent);
-
-                    } else if (all && !checked) {
-
-                      parent.children('input[type="checkbox"]').prop("checked", checked);
-                      parent.children('input[type="checkbox"]').prop("indeterminate", (parent.find('input[type="checkbox"]:checked').length > 0));
-                      checkSiblings(parent);
-
-                    } else {
-
-                      el.parents("li").children('input[type="checkbox"]').prop({
-                        indeterminate: true,
-                        checked: false
-                      });
-
-                    }
-
-                  };
-
-                  checkSiblings(container);
-
-                  updateModelsTable();
-            //}
-            // setTimeout(function() {
-            //     updateModelsTable();
-            // }, 300);
-            //updateModelsTable();
-        }
-
-
-
-    }]);
-});

http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/f629d0f4/griffin-ui/js/controllers/viewrule-ctrl.js
----------------------------------------------------------------------
diff --git a/griffin-ui/js/controllers/viewrule-ctrl.js b/griffin-ui/js/controllers/viewrule-ctrl.js
deleted file mode 100644
index 8fa67c5..0000000
--- a/griffin-ui/js/controllers/viewrule-ctrl.js
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
-	Copyright (c) 2016 eBay Software Foundation.
-	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.
-*/
-define(['./module'], function (controllers) {
-    'use strict';
-    controllers.controller('ViewRuleCtrl', ['$filter', '$scope', '$http', '$config', '$location', 'toaster', '$timeout', '$routeParams', '$barkChart', '$route',  function ($filter, $scope, $http, $config, $location, toaster, $timeout, $routeParams, $barkChart, $route) {
-
-      var echarts = require('echarts');
-
-      pageInit();
-
-      function pageInit() {
-        $scope.$emit('initReq');
-
-        var getModelUrl = $config.uri.getModel+"/"+$routeParams.modelname;
-        $http.get(getModelUrl).success(function(data){
-          $scope.ruleData = data;
-        }).error(function(data){
-          // errorMessage(0, 'Save model failed, please try again!');
-          toaster.pop('error', data.message);
-        });
-
-        $scope.anTypes = ['', 'History Trend Detection', 'Bollinger Bands Detection', 'Deviation Detection'];
-
-        var url= $config.uri.rulemetric+"/"+$routeParams.modelname;
-
-        $http.get(url).success(function(res){
-            $scope.modelresultData = res;
-            if (res.details) {
-              $('#viewrule-chart').height(200);
-              $scope.ruleChart = echarts.init(document.getElementById('viewrule-chart'), 'dark');
-              $scope.ruleChart.setOption($barkChart.getOptionSide(res));
-
-            }
-            resizeWindow();
-        }).error(function(data) {
-          resizeWindow();
-          toaster.pop('error', data.message);
-        });
-      }
-
-      $scope.confirmDeploy = function(){
-        var deployModelUrl = $config.uri.enableModel + '/' + $scope.ruleData.basic.name;
-        var answer = confirm('Are you sure you want to deploy this model to production?')
-
-        if(answer){
-          $http.get(deployModelUrl).success(function(){
-            $scope.ruleData.basic.status = 2;
-            toaster.pop('info', 'Your model has been deployed to prduction!');
-          });
-        }
-
-      }
-
-
-      $scope.$on('resizeHandler', function(e) {
-            if ($route.current.$$route.controller == "ViewRuleCtrl") {
-                resizeWindow();
-            }
-        });
-
-      function resizeWindow(){
-
-            var h1 = $('#viewruleDefinition').height();
-            var h2 = $('#viewTestResult').height();
-            var height = Math.max(h1, h2);
-
-            $('#viewruleDefinition').height(height);
-            $('#viewTestResult').height(height);
-
-            if ($scope.ruleChart) {
-              $scope.ruleChart.resize();
-            }
-      }
-    }]);
-});

http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/f629d0f4/griffin-ui/js/directives/bigchart.js
----------------------------------------------------------------------
diff --git a/griffin-ui/js/directives/bigchart.js b/griffin-ui/js/directives/bigchart.js
deleted file mode 100644
index c8e3fc5..0000000
--- a/griffin-ui/js/directives/bigchart.js
+++ /dev/null
@@ -1,92 +0,0 @@
-/*
-	Copyright (c) 2016 eBay Software Foundation.
-	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.
-*/
-define(['./module'], function (directives) {
-    'use strict';
-    directives.directive( 'bigChart', ['$compile', '$timeout', function( $compile, $timeout ) {
-      return {
-        restrict: 'AE',
-        templateUrl: '/pages/template/bigchart.html',
-        // compile: function(element, attrs){
-        //   return {
-        //     pre: function(scope, element, attrs){
-        //       // $('#bigChartShow').remove();
-        //       console.log('pre');
-        //
-        //     },
-        //     post: function(scope, element, attrs){
-        //       console.log('post');
-        //     }
-        //   };
-        // },
-        // preLink: function( scope, element, attrs ){
-        //   $('#bigChartShow').remove();
-        // },
-        // postLink: function( scope, element, attrs ){
-        //   alert('hello');
-        // // },
-        link: function( scope, element, attrs ) {
-          console.log(scope);
-          var getWidth = function(){
-            return window.innerWidth;
-          }
-          var getHeight = function(){
-            return window.innerHeight;
-          }
-
-        //  $('#bigChartShow').remove();
-          // if($('big-chart')){
-          //   if($('big-chart').length > 1){
-          //     $($('big-chart')[0]).remove();
-          //   }
-          // }
-
-          $timeout(function(){
-            $('#bigChartShow').css({height:getHeight(),
-                                    width: getWidth()
-                                  });
-
-            $(window).resize(function(){
-                $('#bigChartShow').css({height:getHeight(),
-                            width: getWidth()
-                          });
-            });
-          });
-
-          // scope.$watch('chartConfig', function(newValue){
-          //   resizeChart(newValue);
-          // });
-
-          // scope.$on('$routeChangeStart', function(){
-          //   $('#mainWindow').show();
-          //   $('#bigChartContainer').hide();
-          // });
-
-          // function resizeChart(config){
-          //   $timeout(function(){
-          //     config.options.chart.width = getWidth();
-          //     config.options.chart.height = getHeight();
-          //   });
-          // }
-
-          scope.closeBigChart = function(){
-            console.log('close big chart!');
-            $('#bigChartContainer').hide();
-            $('#mainWindow').show();
-
-          }
-        }
-      };
-    }]);
-});

http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/f629d0f4/griffin-ui/js/directives/index.js
----------------------------------------------------------------------
diff --git a/griffin-ui/js/directives/index.js b/griffin-ui/js/directives/index.js
deleted file mode 100644
index 7bbb0e4..0000000
--- a/griffin-ui/js/directives/index.js
+++ /dev/null
@@ -1,15 +0,0 @@
-/*
-	Copyright (c) 2016 eBay Software Foundation.
-	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.
-*/
-define(['./treeview', './bigchart'], function () {});

http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/f629d0f4/griffin-ui/js/directives/module.js
----------------------------------------------------------------------
diff --git a/griffin-ui/js/directives/module.js b/griffin-ui/js/directives/module.js
deleted file mode 100644
index 3656955..0000000
--- a/griffin-ui/js/directives/module.js
+++ /dev/null
@@ -1,18 +0,0 @@
-/*
-	Copyright (c) 2016 eBay Software Foundation.
-	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.
- */
-define(['angular'], function (ng) {
-    'use strict';
-    return ng.module('app.directives', []);
-});

http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/f629d0f4/griffin-ui/js/directives/treeview.js
----------------------------------------------------------------------
diff --git a/griffin-ui/js/directives/treeview.js b/griffin-ui/js/directives/treeview.js
deleted file mode 100644
index 31e89c3..0000000
--- a/griffin-ui/js/directives/treeview.js
+++ /dev/null
@@ -1,252 +0,0 @@
-/*
-  The MIT License (MIT)
-
-  Copyright (c) 2013 Steve
-
-  Permission is hereby granted, free of charge, to any person obtaining a copy of
-  this software and associated documentation files (the "Software"), to deal in
-  the Software without restriction, including without limitation the rights to
-  use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
-  the Software, and to permit persons to whom the Software is furnished to do so,
-  subject to the following conditions:
-
-  The above copyright notice and this permission notice shall be included in all
-  copies or substantial portions of the Software.
-
-  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
-  FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
-  COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
-  IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-  CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-*/
-
-/*
-  Code copy from https://github.com/eu81273/angular.treeview
-*/
-define(['./module'], function (directives) {
-    'use strict';
-    directives.directive( 'treeModel', ['$compile', function( $compile ) {
-      return {
-        restrict: 'A',
-        link: function ( scope, element, attrs ) {
-          //tree id
-          // var treeId = attrs.treeId;
-
-          //tree model
-          var treeModel = attrs.treeModel;
-
-          //node id
-          var nodeId = attrs.nodeId || 'id';
-
-          //node label
-          var nodeLabel = attrs.nodeLabel || 'label';
-
-          //children
-          var nodeChildren = attrs.nodeChildren || 'children';
-
-          //select label function name
-          var labelSelect = attrs.labelSelect || 'selectNodeLabel';
-
-          var l1Icon = attrs.l1Icon || 'fa fa-database',
-              l2Icon = attrs.l2Icon || 'fa fa-table',
-              l3Icon = attrs.l3Icon || 'fa fa-file-text-o';
-
-          //tree template
-          var template =
-            '<ul>' +
-              '<li ng-repeat="node in ' + treeModel + '">' +
-                '<i class="collapsed fa fa-caret-right" ng-show="node.' + nodeChildren + '.length && node.collapsed" ng-click="selectNodeHead(node)"></i>' +
-                '<i class="expanded fa fa-caret-down" ng-show="node.' + nodeChildren + '.length && !node.collapsed" ng-click="selectNodeHead(node)"></i>' +
-                '<i class="' + l1Icon + '" ng-show="node.l1"></i>'  +
-                '<i class="' + l2Icon + '" ng-show="node.l2"></i>'  +
-                '<i class="normal '+ l3Icon + '" ng-hide="node.' + nodeChildren + '.length"></i> ' +
-                //'<span ng-class="node.selected" ng-click="selectNodeLabel(node)">{{node.' + nodeLabel + '}}</span>' +
-                '<span ng-class="node.selected" ng-click="' + labelSelect + '(node)">{{node.' + nodeLabel + '}}</span>' +
-                // '<div ng-hide="node.collapsed" tree-model="node.' + nodeChildren + '" node-id=' + nodeId + ' node-label=' + nodeLabel + ' node-children=' + nodeChildren + '></div>' +
-                '<div ng-hide="node.collapsed" tree-model="node.' + nodeChildren + '" node-id=' + nodeId + ' node-label=' + nodeLabel + ' node-children=' + nodeChildren + ' label-select=' + labelSelect +'></div>' +
-              '</li>' +
-            '</ul>';
-
-
-          //check tree id, tree model
-          // if( treeId && treeModel ) {
-
-            //root node
-            if( attrs.angularTreeview ) {
-
-
-
-              //if node head clicks,
-              scope.selectNodeHead = scope.selectNodeHead || function( selectedNode ){
-
-                //Collapse or Expand
-                selectedNode.collapsed = !selectedNode.collapsed;
-              };
-
-              //if node label clicks,
-              scope[labelSelect] = scope[labelSelect] || function( selectedNode ){
-
-                //remove highlight from previous node
-                if( scope.currentNode && scope.currentNode.selected ) {
-                  scope.currentNode.selected = undefined;
-                }
-
-                if(selectedNode.children && selectedNode.children.length > 0){
-                  scope.selectNodeHead(selectedNode);
-                }else{
-                  //set highlight to selected node
-                  selectedNode.selected = 'selected';
-                }
-
-                //set currentNode
-                scope.currentNode = selectedNode;
-              };
-            }
-
-
-
-            //Rendering template.
-            element.html('').append( $compile( template )( scope ) );
-          // }
-        }
-      };
-    }]);
-
-    directives.directive( 'treeModelCheck', ['$compile', function( $compile ) {
-      return {
-        restrict: 'A',
-        link: function ( scope, element, attrs ) {
-          //tree id
-          // var treeId = attrs.treeId;
-
-          //tree model
-          var treeModel = attrs.treeModelCheck;
-
-          //node id
-          var nodeId = attrs.nodeId || 'id';
-
-          //node label
-          var nodeLabel = attrs.nodeLabel || 'label';
-
-          //children
-          var nodeChildren = attrs.nodeChildren || 'children';
-
-          //select label function name
-          var labelSelect = attrs.labelSelect || 'selectNodeLabel';
-
-          var l1Icon = attrs.l1Icon || 'fa fa-database',
-              l2Icon = attrs.l2Icon || 'fa fa-table',
-              l3Icon = attrs.l3Icon || 'fa fa-file-text-o';
-
-          //tree template
-          var template =
-            '<ul>' +
-              '<li ng-repeat="node in ' + treeModel + '">' +
-                '<i class="collapsed fa fa-caret-right" ng-show="node.' + nodeChildren + '.length && node.collapsed" ng-click="selectNodeHead(node)"></i>' +
-                '<i class="expanded fa fa-caret-down" ng-show="node.' + nodeChildren + '.length && !node.collapsed" ng-click="selectNodeHead(node)"></i>' +
-                '<span class="normal" ng-show="node.l3"></span>' +
-                '<input type="checkbox" ng-checked="isChecked(node)" ng-click="changeCB(node, $event)" ng-if="node.l2 || node.l3" value="{{node.fullname}}"/>&nbsp;' +
-                '<i class="' + l1Icon + '" ng-show="node.l1"></i>'  +
-                '<i class="' + l2Icon + '" ng-show="node.l2"></i>'  +
-                '<i class="'+ l3Icon + '" ng-hide="node.' + nodeChildren + '.length"></i> ' +
-                //'<span ng-class="node.selected" ng-click="selectNodeLabel(node)">{{node.' + nodeLabel + '}}</span>' +
-                '<span ng-class="node.selected">{{node.' + nodeLabel + '}}</span>' +
-                // '<div ng-hide="node.collapsed" tree-model="node.' + nodeChildren + '" node-id=' + nodeId + ' node-label=' + nodeLabel + ' node-children=' + nodeChildren + '></div>' +
-                '<div ng-hide="node.collapsed" tree-model-check="node.' + nodeChildren + '" node-id=' + nodeId + ' node-label=' + nodeLabel + ' node-children=' + nodeChildren + ' label-select=' + labelSelect +'></div>' +
-              '</li>' +
-            '</ul>';
-
-
-          //check tree id, tree model
-          // if( treeId && treeModel ) {
-
-            //root node
-            if( attrs.angularTreeviewcheck ) {
-              // if checkbox clicks,
-              scope.changeCB = scope.changeCB || function( selectedNode){
-                $('input[type="checkbox"]').change(function(e) {
-                  var checked = $(this).prop("checked"),
-                      container = $(this).parent(),
-                      siblings = container.siblings();
-
-                  container.find('input[type="checkbox"]').prop({
-                    indeterminate: false,
-                    checked: checked
-                  });
-
-                  function checkSiblings(el) {
-
-                    var parent = el.parent().parent().parent(),
-                        all = true;
-
-                    el.siblings().each(function() {
-                      return all = ($(this).children('input[type="checkbox"]').prop("checked") === checked);
-                    });
-
-                    if (all && checked) {
-
-                      parent.children('input[type="checkbox"]').prop({
-                        indeterminate: false,
-                        checked: checked
-                      });
-
-                      checkSiblings(parent);
-
-                    } else if (all && !checked) {
-
-                      parent.children('input[type="checkbox"]').prop("checked", checked);
-                      parent.children('input[type="checkbox"]').prop("indeterminate", (parent.find('input[type="checkbox"]:checked').length > 0));
-                      checkSiblings(parent);
-
-                    } else {
-
-                      el.parents("li").children('input[type="checkbox"]').prop({
-                        indeterminate: true,
-                        checked: false
-                      });
-
-                    }
-
-                  }
-
-                  checkSiblings(container);
-                });
-              };
-              //if node head clicks,
-              scope.selectNodeHead = scope.selectNodeHead || function( selectedNode ){
-
-                //Collapse or Expand
-                selectedNode.collapsed = !selectedNode.collapsed;
-              };
-
-              //if node label clicks,
-              scope[labelSelect] = scope[labelSelect] || function( selectedNode ){
-
-                //remove highlight from previous node
-                if( scope.currentNode && scope.currentNode.selected ) {
-                  scope.currentNode.selected = undefined;
-                }
-
-                if(selectedNode.children && selectedNode.children.length > 0){
-                  scope.selectNodeHead(selectedNode);
-                }else{
-                  //set highlight to selected node
-                  selectedNode.selected = 'selected';
-                }
-
-                //set currentNode
-                scope.currentNode = selectedNode;
-              };
-            }
-
-
-
-            //Rendering template.
-            element.html('').append( $compile( template )( scope ) );
-          // }
-        }
-      };
-    }]);
-
-});

http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/f629d0f4/griffin-ui/js/filters/index.js
----------------------------------------------------------------------
diff --git a/griffin-ui/js/filters/index.js b/griffin-ui/js/filters/index.js
deleted file mode 100644
index bcd414c..0000000
--- a/griffin-ui/js/filters/index.js
+++ /dev/null
@@ -1,15 +0,0 @@
-/*
-	Copyright (c) 2016 eBay Software Foundation.
-	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.
-*/
-define([ './strshorten', './strmap'], function () {});

http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/f629d0f4/griffin-ui/js/filters/module.js
----------------------------------------------------------------------
diff --git a/griffin-ui/js/filters/module.js b/griffin-ui/js/filters/module.js
deleted file mode 100644
index 3b35aeb..0000000
--- a/griffin-ui/js/filters/module.js
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
-	Copyright (c) 2016 eBay Software Foundation.
-	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.
-*/
-define(['angular'], function (ng) {
-    'use strict';
-    return ng.module('app.filters', []).config(
-      ['$filterProvider', function($filterProvider){}]
-    );
-});

http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/f629d0f4/griffin-ui/js/filters/strmap.js
----------------------------------------------------------------------
diff --git a/griffin-ui/js/filters/strmap.js b/griffin-ui/js/filters/strmap.js
deleted file mode 100644
index daa8df7..0000000
--- a/griffin-ui/js/filters/strmap.js
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
-	Copyright (c) 2016 eBay Software Foundation.
-	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.
-*/
-define(['./module'], function (filters) {
-    'use strict';
-    var constants = {
-      modeltype: ['Accuracy', 'Validity', 'Anomaly Detection', 'Publish Metrics'],
-      scheduletype: ['Daily', 'Weekly', 'Monthly', 'Hourly'],
-      modelsystem: ['Bullseye', 'GPS', 'Hadoop', 'PDS', 'IDLS', 'Pulsar', 'Kafka', 'Sojourner', 'SiteSpeed', 'EDW'],
-      matchfunction: ['LENGTH', 'LOWER', 'UPPER', 'TRIM'],
-      //modelstatus: ['Testing', 'Need Verify', 'Deployed'],
-      modelstatus: ['Initial', 'Validation', 'Production'],
-      vatype: ['Defaut Count', 'Total Count', 'Null Count', 'Unique Count', 'Duplicate Count', 'Maximum', 'Minimum', 'Mean', 'Median', 'Regular Expression Matching', 'Pattern Frequency'],
-      antype: ['Default', 'History Trend Detection', 'Bollinger Bands Detection', 'Deviation Detection(Based on MAD)']
-    };
-
-    //get tha value by index from an array
-    filters.filter('strmap', function () {
-        return function (index, array) {
-            var result = index;
-            if(!!array && (array instanceof Array)  && index < array.length){
-              result = array[index];
-            }else if(typeof(array)==='string'){
-              if(constants[array] && index < constants[array].length){
-                result = constants[array][index];
-              }
-            }
-            return result;
-        }
-      });
-
-      //get the index of the value in array
-      filters.filter('stridx', function () {
-          return function (value, array) {
-              var result = -1;
-              if(!!array && (array instanceof Array)  && index < array.length){
-                result = array.indexOf(value);
-              }else if(typeof(array)==='string'){
-                if(constants[array]){
-                  result = constants[array].indexOf(value);
-                }
-              }
-              return result;
-          }
-        });
-
-        //Get the array by name
-        filters.filter('strarr', function () {
-            return function (name) {
-                return constants[name];
-            }
-          });
-
-
-});

http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/f629d0f4/griffin-ui/js/filters/strshorten.js
----------------------------------------------------------------------
diff --git a/griffin-ui/js/filters/strshorten.js b/griffin-ui/js/filters/strshorten.js
deleted file mode 100644
index f4dadf7..0000000
--- a/griffin-ui/js/filters/strshorten.js
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
-	Copyright (c) 2016 eBay Software Foundation.
-	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.
-*/
-define(['./module'], function (filters) {
-    'use strict';
-
-    // return filters.filter('strings', ['version', function (version) {
-    return filters.filter('strShorten', function () {
-        return function (text) {
-            var str = String(text);
-            var strLength = str.length;
-            var windowWidth = 2000;
-            try{
-              windowWidth = window.innerWidth;
-              console.log('Window Size: ' + windowWidth);
-            }catch(e){
-              console.error(e);
-            }
-
-            if(windowWidth < 1400 && strLength > 10){
-              return str.substring(0, 10) + '...';
-            }else if(windowWidth < 1600 && strLength > 20){
-              return str.substring(0, 20) + '...';
-            }else if(windowWidth < 1800 && strLength > 26){
-              return str.substring(0, 26) + '...';
-            }else if(windowWidth < 2000 && strLength > 30){
-              return str.substring(0, 30) + '...';
-            }else{
-              return str;
-            }
-        }
-      });
-    // }]);
-});

http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/f629d0f4/griffin-ui/js/main.js
----------------------------------------------------------------------
diff --git a/griffin-ui/js/main.js b/griffin-ui/js/main.js
deleted file mode 100644
index 8103358..0000000
--- a/griffin-ui/js/main.js
+++ /dev/null
@@ -1,88 +0,0 @@
-/*
-	Copyright (c) 2016 eBay Software Foundation.
-	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.
-*/
-
-//Reference: https://www.startersquad.com/blog/angularjs-requirejs/
-
-/*global require*/
-'use strict';
-
-require.config({
-	paths: {
-	    'domReady': '../bower_components/domReady/domReady',
-	    'angular': '../bower_components/angular/angular',
-			'angularRoute': '../bower_components/angular-route/angular-route',
-
-			'ngSmartTable': '../bower_components/angular-smart-table/dist/smart-table',
-			'ngAnimate': '../bower_components/angular-animate/angular-animate',
-			'ngToaster': '../bower_components/AngularJS-Toaster/toaster',
-			'ngCookies': '../bower_components/angular-cookies/angular-cookies',
-
-	    'jquery': '../bower_components/jquery/dist/jquery',
-	    'bootstrap': '../bower_components/bootstrap/dist/js/bootstrap',
-	    'spin': '../bower_components/spin.js/spin',
-	    'angularSpinner': '../bower_components/angular-spinner/angular-spinner',
-		'echarts': '../bower_components/echarts/dist/echarts',
-		'echarts-dark': '../bower_components/echarts/theme/dark'
-	},
-	shim: {
-		'angular': {
-			deps: ['jquery'],
-			exports: 'angular'
-		},
-		'angularRoute': {
-	        deps: ['angular'],
-	        exports: 'angularRoute'
-	    },
-		'ngSmartTable': {
-			deps: ['angular'],
-			exports: 'ngSmartTable'
-		},
-		'ngAnimate': {
-	        deps: ['angular'],
-	        exports: 'ngAnimate'
-	    },
-		'ngToaster': {
-			deps: ['angular', 'ngAnimate'],
-			exports: 'ngToaster'
-		},
-		'ngCookies': {
-			deps: ['angular'],
-			exports: 'ngCookies'
-		},
-	
-	    'jquery': {
-				exports: 'jquery'
-			},
-	    'bootstrap': {
-	      exports: 'bootstrap',
-	      deps: ['jquery']
-	    },
-	    'spin':{
-	    	exports: 'spin'
-	    },
-	    'angularSpinner':{
-	    	exports: 'angularSpinner',
-	    	deps: ['angular', 'spin']
-	    },
-		'echarts': {
-			exports: 'echarts'
-		},
-		'echarts-dark': {
-			deps: ['echarts'],
-			exports: 'echarts-dark'
-		}
-	},
-	deps: ['bs']
-});

http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/f629d0f4/griffin-ui/js/routes.js
----------------------------------------------------------------------
diff --git a/griffin-ui/js/routes.js b/griffin-ui/js/routes.js
deleted file mode 100644
index 099e3ee..0000000
--- a/griffin-ui/js/routes.js
+++ /dev/null
@@ -1,221 +0,0 @@
-/*
-	Copyright (c) 2016 eBay Software Foundation.
-	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.
-*/
-define(['./app'], function(app) {
-    'use strict';
-
-    return app.config(['$routeProvider', '$httpProvider', function($routeProvider, $httpProvider) {
-
-        $routeProvider.when('/', {
-            redirectTo: '/health'
-        });
-
-        $routeProvider.when('/health', {
-            templateUrl: '/pages/health/health.html',
-            controller: 'HealthCtrl'
-        });
-
-        $routeProvider.when('/rules', {
-            templateUrl: '/pages/rules/rules.html',
-            controller: 'RuleCtrl'
-        });
-
-        $routeProvider.when('/createrule0', {
-            templateUrl: '/pages/rules/createrule0.html',
-            controller: 'CreateRule0Ctrl'
-        });
-
-        $routeProvider.when('/createrule-ac', {
-            templateUrl: '/pages/rules/createrule-ac.html',
-            controller: 'CreateRuleACCtrl'
-        });
-
-        $routeProvider.when('/createrule-va', {
-            templateUrl: '/pages/rules/createrule-va.html',
-            controller: 'CreateRuleVACtrl'
-        });
-
-        $routeProvider.when('/createrule-an', {
-            templateUrl: '/pages/rules/createrule-an.html',
-            controller: 'CreateRuleANCtrl'
-        });
-
-        $routeProvider.when('/createrule-pu', {
-            templateUrl: '/pages/rules/createrule-pu.html',
-            controller: 'CreateRulePUCtrl'
-        });
-
-        $routeProvider.when('/viewrule/:modelname/:modeltype', {
-            templateUrl: '/pages/rules/viewrule.html',
-            controller: 'ViewRuleCtrl'
-        });
-
-        $routeProvider.when('/viewrule/:modelname', {
-            templateUrl: '/pages/rules/viewrule.html',
-            controller: 'ViewRuleCtrl'
-        });
-
-        $routeProvider.when('/metrics', {
-            templateUrl: '/pages/metrics/dashboard.html',
-            controller: 'MetricsCtrl'
-        });
-
-        $routeProvider.when('/metrics/:sysName', {
-            templateUrl: '/pages/metrics/dashboard.html',
-            controller: 'MetricsCtrl'
-        });
-
-        $routeProvider.when('/dataassets', {
-            templateUrl: '/pages/dataassets/dataassets.html',
-            controller: 'DataAssetsCtrl'
-        });
-
-        $routeProvider.when('/dataassets/:assetId', {
-            templateUrl: '/pages/dataassets/editdataasset.html',
-            controller: 'EditDataAssetCtrl'
-        });
-
-        $routeProvider.when('/createdataasset', {
-            templateUrl: '/pages/dataassets/createdataasset.html',
-            controller: 'CreateDataAssetCtrl'
-        });
-
-        $routeProvider.when('/mydashboard', {
-            templateUrl: '/pages/mydashboard/mydashboard.html',
-            controller: 'MyDashboardCtrl'
-        });
-
-        $routeProvider.when('/subscribemodel', {
-            templateUrl: '/pages/mydashboard/subscribemodel.html',
-            controller: 'SubscribeModelCtrl'
-        });
-
-        $routeProvider.when('/undercons', {
-            templateUrl: '/pages/template/undercons.html',
-            controller: null
-        });
-
-        $routeProvider.otherwise({
-            redirectTo: '/'
-        });
-
-        // $routeProvider.otherwise(function(){
-        //     console.log("otherwise");
-        // });
-
-
-        // $locationProvider.html5Mode({
-        //   enabled: true,
-        //   requireBase: false
-        // });
-
-        $httpProvider.interceptors.push(function($q, $location, $rootScope, $timeout, $window, $config) {
-            var requestArray = {};
-
-            return {
-                "request": function(config) {
-                    if (isSpinnerRequired($config, config.url)) {
-                        //There's a bug in angular-spinner, the event was sent to the component too early while the directive hasn't been compiled completely so that the spinner object hasn't be created
-                        //So let's delay 200 ms to browadcast the event
-                        $timeout(function() {
-                            if (!requestArray[config.url])
-                                requestArray[config.url] = 0;
-
-                            if (requestArray[config.url] >= 0) {
-                                $rootScope.$broadcast('us-spinner:spin', false);
-                                requestArray[config.url]++;
-                            } else {
-                                requestArray[config.url] = 0;
-                            }
-
-                            console.log(config.url + ": " + requestArray[config.url]);
-                        }, 200);
-
-                    }
-                    return config || $q.when(config);
-                },
-                "response": function(response) {
-                    if (isSpinnerRequired($config, response.config.url)) {
-                        $timeout(function() {
-                            if (!requestArray[response.config.url])
-                                requestArray[response.config.url] = 0;
-
-                            $rootScope.$broadcast('us-spinner:stop', false);
-                            requestArray[response.config.url]--;
-
-                            console.log(response.config.url + ": " + requestArray[response.config.url]);
-                        }, 0);
-                    }
-                    return response || $q.when(response);
-                },
-
-                "responseError": function(response) {
-
-                    if (isSpinnerRequired($config, response.config.url)) {
-                        $timeout(function() {
-                            if (!requestArray[response.config.url])
-                                requestArray[response.config.url] = 0;
-
-                            $rootScope.$broadcast('us-spinner:stop', false);
-                            requestArray[response.config.url]--;
-
-                            console.log(response.config.url + ": " + requestArray[response.config.url]);
-                        }, 0);
-
-                    }
-                    //if(isApiCall(Config, response.config.url)){
-                    if (isSpinnerRequired($config, response.config.url)) {
-                        $rootScope.error = response.status + " " + response.statusText;
-                        $rootScope.errorMsg = response.data;
-                        console.error(response.data);
-                        if (response.status == 0 && !response.data) {
-                            $window.alert("The connection to server failed, please ensure you've configured proxy to https://c2sproxy.vip.ebay.com/wpad.dat. If still fails, please contact DL-eBay-lshao-All@ebay.com");
-                            // console.error("status: " + response.status);
-                            // console.error("data: " + response.data);
-                        }
-                        //Disable error handling temporarily
-                        //$location.path("error");
-                    }
-
-                    return $q.reject(response);
-
-                }
-            }
-
-        });
-
-    }]);
-});
-
-function isSpinnerRequired(Config, url){
-    var names = [
-        "dbtree",
-        "getdataasset",
-        "allModels",
-        "getModel",
-        "heatmap",
-        "metricdetail",
-        "dashboard",
-        "getmydashboard",
-        "getsubscribe"
-    ];
-
-    var uriArray = Config.uri;
-    for(var i = 0; i < names.length; i ++){
-        if(url.indexOf(uriArray[names[i]])>=0)
-            return true;
-    }
-
-    return false;
-}