You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@gearpump.apache.org by hu...@apache.org on 2016/04/26 11:42:39 UTC

[29/49] incubator-gearpump git commit: GEARPUMP-11, fix code style

http://git-wip-us.apache.org/repos/asf/incubator-gearpump/blob/c176e448/services/dashboard/views/apps/app/executors_table.js
----------------------------------------------------------------------
diff --git a/services/dashboard/views/apps/app/executors_table.js b/services/dashboard/views/apps/app/executors_table.js
index c835228..ee2f258 100644
--- a/services/dashboard/views/apps/app/executors_table.js
+++ b/services/dashboard/views/apps/app/executors_table.js
@@ -5,7 +5,7 @@
 
 angular.module('dashboard')
 
-  .directive('executorTable', function() {
+  .directive('executorTable', function () {
     'use strict';
 
     return {
@@ -16,7 +16,7 @@ angular.module('dashboard')
         executors: '=executorsBind'
       },
       controller: ['$scope', '$sortableTableBuilder', 'i18n',
-        function($scope, $stb, i18n) {
+        function ($scope, $stb, i18n) {
           $scope.whatIsExecutor = i18n.terminology.appExecutor;
           $scope.table = {
             cols: [
@@ -30,22 +30,24 @@ angular.module('dashboard')
 
           function updateTable(executors) {
             $scope.table.rows = $stb.$update($scope.table.rows,
-              _.map(executors, function(executor) {
+              _.map(executors, function (executor) {
                 return {
                   status: {
                     tooltip: executor.status,
                     condition: executor.isRunning ? 'good' : '',
                     shape: 'stripe'
                   },
-                  id: {href: executor.pageUrl, text: executor.executorId === -1 ?
-                    'AppMaster' : 'Executor ' + executor.executorId},
+                  id: {
+                    href: executor.pageUrl, text: executor.executorId === -1 ?
+                      'AppMaster' : 'Executor ' + executor.executorId
+                  },
                   worker: {href: executor.workerPageUrl, text: 'Worker ' + executor.workerId},
                   tasks: executor.taskCount || 0
                 };
               }));
           }
 
-          $scope.$watch('executors', function(executors) {
+          $scope.$watch('executors', function (executors) {
             updateTable(executors);
           });
         }]

http://git-wip-us.apache.org/repos/asf/incubator-gearpump/blob/c176e448/services/dashboard/views/apps/app/overview.js
----------------------------------------------------------------------
diff --git a/services/dashboard/views/apps/app/overview.js b/services/dashboard/views/apps/app/overview.js
index 2d16d62..b6c505d 100644
--- a/services/dashboard/views/apps/app/overview.js
+++ b/services/dashboard/views/apps/app/overview.js
@@ -6,7 +6,7 @@
 angular.module('dashboard')
 
   .config(['$stateProvider',
-    function($stateProvider) {
+    function ($stateProvider) {
       'use strict';
 
       $stateProvider
@@ -18,7 +18,7 @@ angular.module('dashboard')
     }])
 
   .controller('AppOverviewCtrl', ['$scope', 'helper', '$propertyTableBuilder', 'models',
-    function($scope, helper, $ptb, models) {
+    function ($scope, helper, $ptb, models) {
       'use strict';
 
       $scope.appSummary = [
@@ -29,7 +29,7 @@ angular.module('dashboard')
         $ptb.button('Quick Links').done()
       ];
 
-      $scope.$watch('app', function(app) {
+      $scope.$watch('app', function (app) {
         $ptb.$update($scope.appSummary, [
           app.appId,
           app.actorPath,
@@ -45,9 +45,9 @@ angular.module('dashboard')
 
       $scope.alerts = [];
       models.$get.appAlerts($scope.app.appId)
-        .then(function(alerts0) {
+        .then(function (alerts0) {
           $scope.alerts = alerts0.$data();
-          alerts0.$subscribe($scope, function(alerts) {
+          alerts0.$subscribe($scope, function (alerts) {
             $scope.alerts = alerts;
           });
         });

http://git-wip-us.apache.org/repos/asf/incubator-gearpump/blob/c176e448/services/dashboard/views/apps/apps.html
----------------------------------------------------------------------
diff --git a/services/dashboard/views/apps/apps.html b/services/dashboard/views/apps/apps.html
index c4999a3..cfb46e4 100644
--- a/services/dashboard/views/apps/apps.html
+++ b/services/dashboard/views/apps/apps.html
@@ -14,7 +14,7 @@
       </div>
     </div>
     <div class="col-md-3 col-sm-6 text-right">
-       <!--FILTER-->
+      <!--FILTER-->
     </div>
     <div class="col-md-3 hidden-sm hidden-xs">
       <searchbox
@@ -34,6 +34,7 @@
     <div class="table-no-data">
       <h2 class="glyphicon glyphicon-bullhorn"></h2>
       <h4>No application is running</h4>
+
       <p>Please submit an user application first.</p>
     </div>
   </sortable-table>

http://git-wip-us.apache.org/repos/asf/incubator-gearpump/blob/c176e448/services/dashboard/views/apps/apps.js
----------------------------------------------------------------------
diff --git a/services/dashboard/views/apps/apps.js b/services/dashboard/views/apps/apps.js
index 6707e36..ad26fd4 100644
--- a/services/dashboard/views/apps/apps.js
+++ b/services/dashboard/views/apps/apps.js
@@ -6,7 +6,7 @@
 angular.module('dashboard')
 
   .config(['$stateProvider',
-    function($stateProvider) {
+    function ($stateProvider) {
       'use strict';
 
       $stateProvider
@@ -15,7 +15,7 @@ angular.module('dashboard')
           templateUrl: 'views/apps/apps.html',
           controller: 'AppsCtrl',
           resolve: {
-            apps0: ['models', function(models) {
+            apps0: ['models', function (models) {
               return models.$get.apps();
             }]
           }
@@ -23,7 +23,7 @@ angular.module('dashboard')
     }])
 
   .controller('AppsCtrl', ['$scope', '$modal', '$state', '$sortableTableBuilder', '$dialogs', 'apps0',
-    function($scope, $modal, $state, $stb, $dialogs, apps0) {
+    function ($scope, $modal, $state, $stb, $dialogs, apps0) {
       'use strict';
 
       var submitWindow = $modal({
@@ -34,12 +34,12 @@ angular.module('dashboard')
         show: false
       });
 
-      $scope.openSubmitGearAppDialog = function() {
+      $scope.openSubmitGearAppDialog = function () {
         submitWindow.$scope.isStormApp = false;
         submitWindow.$promise.then(submitWindow.show);
       };
 
-      $scope.openSubmitStormAppDialog = function() {
+      $scope.openSubmitStormAppDialog = function () {
         submitWindow.$scope.isStormApp = true;
         submitWindow.$promise.then(submitWindow.show);
       };
@@ -75,7 +75,7 @@ angular.module('dashboard')
 
       function updateTable(apps) {
         $scope.appsTable.rows = $stb.$update($scope.appsTable.rows,
-          _.map(apps, function(app) {
+          _.map(apps, function (app) {
             var pageUrl = app.isRunning ? app.pageUrl : '';
             return {
               id: {href: pageUrl, text: app.appId},
@@ -86,20 +86,25 @@ angular.module('dashboard')
               submissionTime: app.submissionTime,
               startTime: app.startTime,
               stopTime: app.finishTime || '-',
-              view: {href: app.pageUrl, text: 'Details', class: 'btn-xs btn-primary', disabled: !app.isRunning},
+              view: {
+                href: app.pageUrl,
+                text: 'Details',
+                class: 'btn-xs btn-primary',
+                disabled: !app.isRunning
+              },
               config: {href: app.configLink, target: '_blank', text: 'Config', class: 'btn-xs'},
               kill: {
                 text: 'Kill', class: 'btn-xs', disabled: !app.isRunning,
-                click: function() {
-                  $dialogs.confirm('Are you sure to kill this application?', function() {
+                click: function () {
+                  $dialogs.confirm('Are you sure to kill this application?', function () {
                     app.terminate();
                   });
                 }
               },
               restart: {
                 text: 'Restart', class: 'btn-xs', disabled: !app.isRunning,
-                click: function() {
-                  $dialogs.confirm('Are you sure to restart this application?', function() {
+                click: function () {
+                  $dialogs.confirm('Are you sure to restart this application?', function () {
                     app.restart();
                   });
                 }
@@ -109,7 +114,7 @@ angular.module('dashboard')
       }
 
       updateTable(apps0.$data());
-      apps0.$subscribe($scope, function(apps) {
+      apps0.$subscribe($scope, function (apps) {
         updateTable(apps);
       });
     }])

http://git-wip-us.apache.org/repos/asf/incubator-gearpump/blob/c176e448/services/dashboard/views/apps/compose/compose.js
----------------------------------------------------------------------
diff --git a/services/dashboard/views/apps/compose/compose.js b/services/dashboard/views/apps/compose/compose.js
index 33e9263..8c70f32 100644
--- a/services/dashboard/views/apps/compose/compose.js
+++ b/services/dashboard/views/apps/compose/compose.js
@@ -6,7 +6,7 @@
 angular.module('dashboard')
 
   .config(['$stateProvider',
-    function($stateProvider) {
+    function ($stateProvider) {
       'use strict';
 
       $stateProvider
@@ -15,7 +15,7 @@ angular.module('dashboard')
           templateUrl: 'views/apps/compose/compose.html',
           controller: 'ComposeAppCtrl',
           resolve: {
-            partitioners: ['models', function(models) {
+            partitioners: ['models', function (models) {
               return models.$get.partitioners();
             }]
           }
@@ -25,7 +25,7 @@ angular.module('dashboard')
   // todo: remove the leading $ and rename $visNetworkStyle to vis, internal module does not have a $.
   .controller('ComposeAppCtrl', ['$scope', '$state', '$modal', '$contextmenu',
     'models', 'partitioners', '$visNetworkStyle', 'composeAppDialogs',
-    function($scope, $state, $modal, $contextmenu, models, partitioners, $vis, dialogs) {
+    function ($scope, $state, $modal, $contextmenu, models, partitioners, $vis, dialogs) {
       'use strict';
 
       var chooseProcessorDialog = dialogs.create({
@@ -40,11 +40,11 @@ angular.module('dashboard')
         controller: 'ComposeAppChooseEdgeCtrl'
       });
 
-      $scope.chooseProcessor = function(processor) {
+      $scope.chooseProcessor = function (processor) {
         var args = {
           processor: processor
         };
-        chooseProcessorDialog.show(args, function(processor) {
+        chooseProcessorDialog.show(args, function (processor) {
           if (!processor.hasOwnProperty('id')) {
             processor.id = newProcessorId();
           }
@@ -53,24 +53,25 @@ angular.module('dashboard')
         });
       };
 
-      $scope.chooseEdge = function(edge) {
+      $scope.chooseEdge = function (edge) {
         var args = {
           edge: edge,
           partitioners: partitioners,
           processors: {}
         };
-        angular.forEach($scope.visGraph.data.nodes, function(processor) {
+        angular.forEach($scope.visGraph.data.nodes, function (processor) {
           args.processors[processor.id] = {
             text: 'Processor ' + processor.id,
             subtext: processor.taskClass
           };
         });
-        chooseEdgeDialog.show(args, function(edge) {
+        chooseEdgeDialog.show(args, function (edge) {
           $scope.visGraph.data.edges.update(edge);
         });
       };
 
       var processorId = 0;
+
       function newProcessorId() {
         return processorId++;
       }
@@ -79,7 +80,7 @@ angular.module('dashboard')
         options: $vis.newOptions(/*height=*/'400px'),
         data: $vis.newData(),
         events: {
-          onDoubleClick: function(data) {
+          onDoubleClick: function (data) {
             if (data.nodes.length === 1) {
               var processor = $scope.visGraph.data.nodes.get(data.nodes[0]);
               $scope.chooseProcessor(processor);
@@ -90,19 +91,19 @@ angular.module('dashboard')
               $scope.chooseProcessor();
             }
           },
-          onContext: function(data) {
+          onContext: function (data) {
             if (data.hasOwnProperty('node')) {
-              $scope.selectItemModify = function() {
+              $scope.selectItemModify = function () {
                 $scope.chooseProcessor($scope.visGraph.data.nodes.get(data.node));
               };
-              $scope.selectItemDelete = function() {
+              $scope.selectItemDelete = function () {
                 deleteProcessor(data.node);
               };
             } else if (data.hasOwnProperty('edge')) {
-              $scope.selectItemModify = function() {
+              $scope.selectItemModify = function () {
                 $scope.chooseEdge($scope.visGraph.data.edges.get(data.edge));
               };
-              $scope.selectItemDelete = function() {
+              $scope.selectItemDelete = function () {
                 deleteEdge(data.edge);
               };
             } else {
@@ -111,7 +112,7 @@ angular.module('dashboard')
             var elem = document.getElementById('contextmenu');
             $contextmenu.popup(elem, data.pointer.DOM);
           },
-          onDeletePressed: function(selection) {
+          onDeletePressed: function (selection) {
             if (selection.nodes.length === 1) {
               deleteProcessor(selection.nodes[0]);
             } else if (selection.edges.length === 1) {
@@ -124,7 +125,7 @@ angular.module('dashboard')
       function deleteProcessor(processorId) {
         $scope.visGraph.data.nodes.remove(processorId);
         var edgeIds = _.chain($scope.visGraph.data.edges.get())
-          .filter(function(edge) {
+          .filter(function (edge) {
             return processorId == edge.from || processorId == edge.to;
           })
           .map('id')
@@ -139,32 +140,32 @@ angular.module('dashboard')
       $scope.files = {};
       $scope.submitted = false;
 
-      $scope.$watch('uploads', function(uploads) {
+      $scope.$watch('uploads', function (uploads) {
         $scope.files = {}; // todo: only one file can be uploaded once (issue 1450)
-        angular.forEach(uploads, function(file) {
+        angular.forEach(uploads, function (file) {
           if (_.endsWith(file.name, '.jar')) {
             $scope.files[file.name] = file;
           }
         });
       });
 
-      $scope.removeFile = function(name) {
+      $scope.removeFile = function (name) {
         delete $scope.files[name];
       };
 
-      $scope.canSubmit = function() {
+      $scope.canSubmit = function () {
         return !$scope.submitted &&
           $scope.visGraph.data.nodes.length > 0 &&
           Object.keys($scope.files).length > 0;
       };
 
-      $scope.submit = function() {
+      $scope.submit = function () {
         var data = $scope.visGraph.data;
         var processors = data.nodes.get();
         var edges = data.edges.get();
         var args = {
           appName: 'userapp',
-          processors: processors.map(function(processor) {
+          processors: processors.map(function (processor) {
             return [processor.id, {
               id: processor.id,
               taskClass: processor.taskClass,
@@ -174,7 +175,7 @@ angular.module('dashboard')
           }),
           dag: {
             vertexList: _.map(processors, 'id'),
-            edgeList: edges.map(function(edge) {
+            edgeList: edges.map(function (edge) {
               return [edge.from, edge.partitionerClass, edge.to]
             })
           },
@@ -182,7 +183,7 @@ angular.module('dashboard')
         };
 
         $scope.submitting = true;
-        models.submitDag($scope.files, args, function(response) {
+        models.submitDag($scope.files, args, function (response) {
           $scope.submitting = false;
           $scope.submitted = response.success;
           $scope.shouldNoticeSubmitFailed = !response.success;
@@ -191,7 +192,7 @@ angular.module('dashboard')
           } else {
             $scope.error = response.error;
             $scope.hasStackTrace = response.stackTrace.length > 0;
-            $scope.showErrorInNewWin = function() {
+            $scope.showErrorInNewWin = function () {
               if ($scope.hasStackTrace) {
                 var popup = window.open('', 'Error Log');
                 var html = [$scope.error].concat(response.stackTrace).join('\n');
@@ -204,7 +205,7 @@ angular.module('dashboard')
         });
       };
 
-      $scope.view = function() {
+      $scope.view = function () {
         $state.go('streamingapp.overview', {appId: $scope.appId});
       };
 
@@ -212,11 +213,11 @@ angular.module('dashboard')
       $scope.keys = Object.keys;
     }])
 
-  .factory('composeAppDialogs', ['$modal', function($modal) {
+  .factory('composeAppDialogs', ['$modal', function ($modal) {
     'use strict';
 
     return {
-      create: function(options) {
+      create: function (options) {
         var dialog = $modal({
           scope: options.scope,
           templateUrl: options.templateUrl,
@@ -227,9 +228,9 @@ angular.module('dashboard')
         });
 
         var showDialogFn = dialog.show;
-        dialog.show = function(args, onChange) {
+        dialog.show = function (args, onChange) {
           dialog.$options.scope.onChange = onChange;
-          angular.forEach(args, function(value, key) {
+          angular.forEach(args, function (value, key) {
             dialog.$options.scope[key] = value;
           });
           showDialogFn();

http://git-wip-us.apache.org/repos/asf/incubator-gearpump/blob/c176e448/services/dashboard/views/apps/compose/popups/choose_edge.js
----------------------------------------------------------------------
diff --git a/services/dashboard/views/apps/compose/popups/choose_edge.js b/services/dashboard/views/apps/compose/popups/choose_edge.js
index 000b53e..209251d 100644
--- a/services/dashboard/views/apps/compose/popups/choose_edge.js
+++ b/services/dashboard/views/apps/compose/popups/choose_edge.js
@@ -6,25 +6,25 @@
 angular.module('dashboard')
 
   .controller('ComposeAppChooseEdgeCtrl', ['$scope',
-    function($scope) {
+    function ($scope) {
       'use strict';
 
       $scope.invalid = {};
       $scope.edge = angular.merge({}, $scope.edge);
-      $scope.partitioners = $scope.partitioners.map(function(partitioner) {
+      $scope.partitioners = $scope.partitioners.map(function (partitioner) {
         return {
           text: partitioner,
           icon: 'glyphicon glyphicon-random'
         };
       });
 
-      $scope.canSave = function() {
+      $scope.canSave = function () {
         return _.sum($scope.invalid) === 0 &&
             // todo: check ring graph condition
           ($scope.edge.from.value !== $scope.edge.to.value);
       };
 
-      $scope.save = function() {
+      $scope.save = function () {
         $scope.$hide();
         if ($scope.onChange) {
           $scope.edge.from = $scope.edge.from.value;

http://git-wip-us.apache.org/repos/asf/incubator-gearpump/blob/c176e448/services/dashboard/views/apps/compose/popups/choose_processor.js
----------------------------------------------------------------------
diff --git a/services/dashboard/views/apps/compose/popups/choose_processor.js b/services/dashboard/views/apps/compose/popups/choose_processor.js
index f261e2b..d3cc972 100644
--- a/services/dashboard/views/apps/compose/popups/choose_processor.js
+++ b/services/dashboard/views/apps/compose/popups/choose_processor.js
@@ -6,7 +6,7 @@
 angular.module('dashboard')
 
   .controller('ComposeAppChooseProcessorCtrl', ['$scope',
-    function($scope) {
+    function ($scope) {
       'use strict';
 
       $scope.invalid = {};
@@ -14,11 +14,11 @@ angular.module('dashboard')
         parallelism: 1
       }, $scope.processor);
 
-      $scope.canSave = function() {
+      $scope.canSave = function () {
         return _.sum($scope.invalid) === 0;
       };
 
-      $scope.save = function() {
+      $scope.save = function () {
         $scope.$hide();
         if ($scope.onChange) {
           $scope.onChange($scope.processor);

http://git-wip-us.apache.org/repos/asf/incubator-gearpump/blob/c176e448/services/dashboard/views/apps/streamingapp/dag.html
----------------------------------------------------------------------
diff --git a/services/dashboard/views/apps/streamingapp/dag.html b/services/dashboard/views/apps/streamingapp/dag.html
index 93655cb..6f84b56 100644
--- a/services/dashboard/views/apps/streamingapp/dag.html
+++ b/services/dashboard/views/apps/streamingapp/dag.html
@@ -2,7 +2,9 @@
   <div class="panel panel-sm panel-default">
     <div class="panel-heading">DAG
       <remark class="pull-right" type="info"
-              tooltip="<b>Right click (or long press on touch device)</b> on a processor will show all available operations. <b>Double click</b> a processor will show its details.">Instructions</remark>
+              tooltip="<b>Right click (or long press on touch device)</b> on a processor will show all available operations. <b>Double click</b> a processor will show its details.">
+        Instructions
+      </remark>
     </div>
     <div class="panel-body">
       <div class="cm-container" id="dag-node-menu"

http://git-wip-us.apache.org/repos/asf/incubator-gearpump/blob/c176e448/services/dashboard/views/apps/streamingapp/dag.js
----------------------------------------------------------------------
diff --git a/services/dashboard/views/apps/streamingapp/dag.js b/services/dashboard/views/apps/streamingapp/dag.js
index 310f555..c9e8da3 100644
--- a/services/dashboard/views/apps/streamingapp/dag.js
+++ b/services/dashboard/views/apps/streamingapp/dag.js
@@ -6,7 +6,7 @@
 angular.module('dashboard')
 
   .config(['$stateProvider',
-    function($stateProvider) {
+    function ($stateProvider) {
       'use strict';
 
       $stateProvider
@@ -18,7 +18,7 @@ angular.module('dashboard')
     }])
 
   .controller('StreamingAppDagCtrl', ['$scope', '$state', '$modal', '$contextmenu', '$visNetworkStyle',
-    function($scope, $state, $modal, $contextmenu, $vis) {
+    function ($scope, $state, $modal, $contextmenu, $vis) {
       'use strict';
 
       $scope.activeProcessorId = -1;
@@ -41,12 +41,12 @@ angular.module('dashboard')
         controller: 'StreamingAppDagEditCtrl'
       });
 
-      $scope.view = function() {
+      $scope.view = function () {
         var options = {processorId: $scope.activeProcessorId};
         $state.go('streamingapp.processor', options);
       };
 
-      $scope.modify = function(options) {
+      $scope.modify = function (options) {
         $scope.modifyOptions = options;
         editorDialog.$promise.then(editorDialog.show);
       };
@@ -55,33 +55,33 @@ angular.module('dashboard')
         options: $vis.newHierarchicalLayoutOptions({depth: $scope.dag.hierarchyDepth()}),
         data: $vis.newData(),
         events: {
-          onDoubleClick: function(data) {
+          onDoubleClick: function (data) {
             if (data.nodes.length === 1) {
               var processorId = Number(data.nodes[0]);
               $state.go('streamingapp.processor', {processorId: processorId});
             }
           },
-          onContext: function(data) {
+          onContext: function (data) {
             if (data.hasOwnProperty('node')) {
               $scope.activeProcessorId = Number(data.node);
               $scope.$apply();
               showProcessorOperationsContextMenu(data.pointer.DOM);
             }
           },
-          onSelectNode: function(data) {
+          onSelectNode: function (data) {
             if (data.nodes.length === 1) {
               $scope.activeProcessorId = Number(data.nodes[0]);
               $scope.$apply();
             }
           },
-          onDeselectNode: function() {
+          onDeselectNode: function () {
             $scope.activeProcessorId = -1;
             $scope.$apply();
           },
-          onHoverNode: function() {
+          onHoverNode: function () {
             $('html,body').css('cursor', 'pointer');
           },
-          onBlurNode: function() {
+          onBlurNode: function () {
             $('html,body').css('cursor', 'default');
           }
         }
@@ -94,8 +94,8 @@ angular.module('dashboard')
 
       /** Scope independent draw methods */
       var draw = {
-        removeDeadElements: function(visDataSet, aliveElementIds) {
-          var ids = visDataSet.getIds().filter(function(id) {
+        removeDeadElements: function (visDataSet, aliveElementIds) {
+          var ids = visDataSet.getIds().filter(function (id) {
             return !aliveElementIds.hasOwnProperty(id);
           });
           if (ids.length) {
@@ -104,12 +104,12 @@ angular.module('dashboard')
           }
         },
 
-        updateVisGraphNodes: function(visNodes, data) {
+        updateVisGraphNodes: function (visNodes, data) {
           data.processorWeights[-1] = 0; // weight range from 0 to max weight
           var suggestRadiusFn = draw._rangeMapper(data.processorWeights, $vis.nodeRadiusRange());
           var diff = [];
 
-          _.forEach(data.processors, function(processor) {
+          _.forEach(data.processors, function (processor) {
             var label = $vis.processorNameAsLabel(processor);
             var weight = data.processorWeights[processor.id];
             var visNode = visNodes.get(processor.id);
@@ -131,14 +131,14 @@ angular.module('dashboard')
           }
         },
 
-        updateVisGraphEdges: function(visEdges, data) {
+        updateVisGraphEdges: function (visEdges, data) {
           data.edgeBandwidths[-1] = 0; // minimal bandwidth
           var suggestEdgeWidthFn = draw._rangeMapper(data.edgeBandwidths, $vis.edgeWidthRange());
           var suggestEdgeArrowSizeFn = draw._rangeMapper(data.edgeBandwidths, $vis.edgeArrowSizeRange());
           var suggestEdgeOpacityFn = draw._rangeMapper(data.edgeBandwidths, $vis.edgeOpacityRange());
           var diff = [];
 
-          _.forEach(data.edges, function(edge, edgeId) {
+          _.forEach(data.edges, function (edge, edgeId) {
             var bandwidth = data.edgeBandwidths[edgeId];
             var visEdge = visEdges.get(edgeId);
             var width = d3.round(suggestEdgeWidthFn(bandwidth), 1);
@@ -163,7 +163,7 @@ angular.module('dashboard')
           }
         },
 
-        _rangeMapper: function(dict, range) {
+        _rangeMapper: function (dict, range) {
           var values = d3.values(dict);
           return d3.scale.linear().domain(d3.extent(values)).range(range);
         }
@@ -195,7 +195,7 @@ angular.module('dashboard')
         $scope.criticalPathLatency = metricsProvider.getCriticalPathLatency();
       }
 
-      $scope.$watchCollection('dag.metricsUpdateTime', function() {
+      $scope.$watchCollection('dag.metricsUpdateTime', function () {
         redrawGraph($scope.dag.getWeightedDagView());
         updateMetricsValues($scope.dag);
       });

http://git-wip-us.apache.org/repos/asf/incubator-gearpump/blob/c176e448/services/dashboard/views/apps/streamingapp/executor.js
----------------------------------------------------------------------
diff --git a/services/dashboard/views/apps/streamingapp/executor.js b/services/dashboard/views/apps/streamingapp/executor.js
index 31cbd5f..8a83808 100644
--- a/services/dashboard/views/apps/streamingapp/executor.js
+++ b/services/dashboard/views/apps/streamingapp/executor.js
@@ -6,7 +6,7 @@
 angular.module('dashboard')
 
   .config(['$stateProvider',
-    function($stateProvider) {
+    function ($stateProvider) {
       'use strict';
 
       $stateProvider
@@ -15,7 +15,7 @@ angular.module('dashboard')
           templateUrl: 'views/apps/streamingapp/executor.html',
           controller: 'StreamingAppExecutorCtrl',
           resolve: {
-            executor0: ['$stateParams', 'models', function($stateParams, models) {
+            executor0: ['$stateParams', 'models', function ($stateParams, models) {
               return models.$get.appExecutor($stateParams.appId, $stateParams.executorId);
             }]
           }
@@ -24,7 +24,7 @@ angular.module('dashboard')
 
   .controller('StreamingAppExecutorCtrl', ['$scope', '$propertyTableBuilder',
     'helper', 'restapi', 'models', 'executor0',
-    function($scope, $ptb, helper, restapi, models, executor0) {
+    function ($scope, $ptb, helper, restapi, models, executor0) {
       'use strict';
 
       $scope.executorName = executor0.id === -1 ?
@@ -35,7 +35,12 @@ angular.module('dashboard')
         $ptb.link('Worker').done(),
         $ptb.number('Task Count').done(),
         $ptb.button('Quick Links').values([
-            {href: restapi.appExecutorConfigLink($scope.app.appId, executor0.id), target: '_blank', text: 'Config', class: 'btn-xs'},
+            {
+              href: restapi.appExecutorConfigLink($scope.app.appId, executor0.id),
+              target: '_blank',
+              text: 'Config',
+              class: 'btn-xs'
+            },
             helper.withClickToCopy({text: 'Log Dir.', class: 'btn-xs'}, executor0.logFile)
           ]
         ).done()
@@ -54,13 +59,13 @@ angular.module('dashboard')
       $scope.metricsConfig = $scope.app.historyMetricsConfig;
       $scope.executor = executor0.$data();
       updateOverviewTable($scope.executor);
-      executor0.$subscribe($scope, function(executor) {
+      executor0.$subscribe($scope, function (executor) {
         $scope.executor = executor;
         updateOverviewTable(executor);
       });
 
       // Delegate JvmMetrics directive to manage metrics
-      $scope.queryMetricsFnRef = function(all) {
+      $scope.queryMetricsFnRef = function (all) {
         return all ?
           models.$get.appExecutorHistMetrics($scope.app.appId, executor0.id) :
           models.$get.appExecutorMetrics($scope.app.appId, executor0.id,

http://git-wip-us.apache.org/repos/asf/incubator-gearpump/blob/c176e448/services/dashboard/views/apps/streamingapp/metric_selector.js
----------------------------------------------------------------------
diff --git a/services/dashboard/views/apps/streamingapp/metric_selector.js b/services/dashboard/views/apps/streamingapp/metric_selector.js
index 88fc507..85a4139 100644
--- a/services/dashboard/views/apps/streamingapp/metric_selector.js
+++ b/services/dashboard/views/apps/streamingapp/metric_selector.js
@@ -5,7 +5,7 @@
 
 angular.module('dashboard')
 
-  .directive('metricSelector', function() {
+  .directive('metricSelector', function () {
     'use strict';
 
     return {
@@ -16,7 +16,7 @@ angular.module('dashboard')
         metricType: '=',
         metricDescription: '=?'
       },
-      link: function(scope) {
+      link: function (scope) {
         'use strict';
 
         var metricNameLookup = {
@@ -28,11 +28,11 @@ angular.module('dashboard')
 
         scope.names = {available: _.keys(metricNameLookup)};
         scope.names.selected = scope.names.available[1]; // use Receive Throughput by default
-        scope.types = function(name) {
+        scope.types = function (name) {
           return metricNameLookup[name].type;
         };
 
-        scope.$watch('names.selected', function(val) {
+        scope.$watch('names.selected', function (val) {
           scope.metricName = metricNameLookup[val].name;
           scope.metricType = metricNameLookup[val].type;
           scope.metricDescription = val;

http://git-wip-us.apache.org/repos/asf/incubator-gearpump/blob/c176e448/services/dashboard/views/apps/streamingapp/metrics_charts.html
----------------------------------------------------------------------
diff --git a/services/dashboard/views/apps/streamingapp/metrics_charts.html b/services/dashboard/views/apps/streamingapp/metrics_charts.html
index bec4be6..8f2c005 100644
--- a/services/dashboard/views/apps/streamingapp/metrics_charts.html
+++ b/services/dashboard/views/apps/streamingapp/metrics_charts.html
@@ -61,8 +61,8 @@
   <div ng-if="processor" class="{{chartGridClass}}">
     <div class="metrics-wrapper">
       <metrics
-        caption="{{averageMesssageProcessingTimeMetricsCaption}}"
-        help="{{averageMesssageProcessingTimeMetricsDescription}}"
+        caption="{{averageMessageProcessingTimeMetricsCaption}}"
+        help="{{averageMessageProcessingTimeMetricsDescription}}"
         value="{{averageProcessingTime|metric}}" unit="ms">
       </metrics>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-gearpump/blob/c176e448/services/dashboard/views/apps/streamingapp/metrics_charts.js
----------------------------------------------------------------------
diff --git a/services/dashboard/views/apps/streamingapp/metrics_charts.js b/services/dashboard/views/apps/streamingapp/metrics_charts.js
index 4699497..a3d5b1d 100644
--- a/services/dashboard/views/apps/streamingapp/metrics_charts.js
+++ b/services/dashboard/views/apps/streamingapp/metrics_charts.js
@@ -5,14 +5,14 @@
 
 angular.module('dashboard')
 
-  .directive('metricsCharts', function() {
+  .directive('metricsCharts', function () {
     'use strict';
 
     return {
       restrict: 'E',
       templateUrl: 'views/apps/streamingapp/metrics_charts.html',
       scope: true, // inherit parent scope
-      controller: ['$scope', '$interval', 'helper', 'models', function($scope, $interval, helper, models) {
+      controller: ['$scope', '$interval', 'helper', 'models', function ($scope, $interval, helper, models) {
         'use strict';
 
         var metricsProvider = $scope.dag;
@@ -34,7 +34,7 @@ angular.module('dashboard')
         recentChartPoints--; // ProcessorFilter will actually reduce one point
         histChartPoints--;
         var updateRecentMetricsPromise;
-        $scope.$on('$destroy', function() {
+        $scope.$on('$destroy', function () {
           $interval.cancel(updateRecentMetricsPromise);
         });
 
@@ -48,7 +48,7 @@ angular.module('dashboard')
               yAxisLabelFormatter: helper.yAxisLabelFormatterWithoutValue0(),
               visibleDataPointsNum: visibleDataPointsNum,
               data: dataPoints,
-              valueFormatter: function(value) {
+              valueFormatter: function (value) {
                 return helper.readableMetricValue(value) + ' ' + unit;
               }
             },
@@ -94,7 +94,7 @@ angular.module('dashboard')
             models.$get.appMetrics($scope.app.appId, $scope.metricsConfig.retainRecentDataIntervalMs) :
             models.$get.appHistMetrics($scope.app.appId);
 
-          queryMetricsPromise.then(function(metrics) {
+          queryMetricsPromise.then(function (metrics) {
             var data = metrics.$data();
             var timeResolution = $scope.isShowingCurrentMetrics ?
               $scope.metricsConfig.retainRecentDataIntervalMs :
@@ -143,7 +143,7 @@ angular.module('dashboard')
         }
 
         function metricsToChartData(metrics) {
-          return _.map(metrics, function(value, timeString) {
+          return _.map(metrics, function (value, timeString) {
             return {
               x: helper.timeToChartTimeLabel(Number(timeString), /*shortForm=*/$scope.isShowingCurrentMetrics),
               y: helper.metricRounded(value)
@@ -152,7 +152,7 @@ angular.module('dashboard')
         }
 
         $scope.isShowingCurrentMetrics = true;
-        $scope.$watch('isShowingCurrentMetrics', function(newVal, oldVal) {
+        $scope.$watch('isShowingCurrentMetrics', function (newVal, oldVal) {
           if (angular.equals(newVal, oldVal)) {
             return; // ignore initial notification
           }
@@ -161,7 +161,7 @@ angular.module('dashboard')
 
         // common watching
         var initial = true;
-        $scope.$watch('dag.metricsUpdateTime', function() {
+        $scope.$watch('dag.metricsUpdateTime', function () {
           if (initial) {
             // note that, the latest metrics do not contain enough points for drawing charts, so
             // we request recent metrics from server.

http://git-wip-us.apache.org/repos/asf/incubator-gearpump/blob/c176e448/services/dashboard/views/apps/streamingapp/metrics_table.html
----------------------------------------------------------------------
diff --git a/services/dashboard/views/apps/streamingapp/metrics_table.html b/services/dashboard/views/apps/streamingapp/metrics_table.html
index 3d0c7d1..fcfe201 100644
--- a/services/dashboard/views/apps/streamingapp/metrics_table.html
+++ b/services/dashboard/views/apps/streamingapp/metrics_table.html
@@ -24,9 +24,9 @@
   </sortable-table>
   <sortable-table
     ng-if="metricType == 'histogram'"
-      search-bind="search"
-      columns-bind="histogramMetricsTable.cols"
-      records-bind="histogramMetricsTable.rows"
-      pagination="10">
+    search-bind="search"
+    columns-bind="histogramMetricsTable.cols"
+    records-bind="histogramMetricsTable.rows"
+    pagination="10">
   </sortable-table>
 </div>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-gearpump/blob/c176e448/services/dashboard/views/apps/streamingapp/metrics_table.js
----------------------------------------------------------------------
diff --git a/services/dashboard/views/apps/streamingapp/metrics_table.js b/services/dashboard/views/apps/streamingapp/metrics_table.js
index 16dcd05..57dc58e 100644
--- a/services/dashboard/views/apps/streamingapp/metrics_table.js
+++ b/services/dashboard/views/apps/streamingapp/metrics_table.js
@@ -6,7 +6,7 @@
 angular.module('dashboard')
 
   .config(['$stateProvider',
-    function($stateProvider) {
+    function ($stateProvider) {
       'use strict';
 
       $stateProvider
@@ -18,14 +18,14 @@ angular.module('dashboard')
     }])
 
   .controller('StreamingAppMetricsCtrl', ['$scope', '$sortableTableBuilder',
-    function($scope, $stb) {
+    function ($scope, $stb) {
       'use strict';
 
-      $scope.$watch('dag.metricsUpdateTime', function() {
+      $scope.$watch('dag.metricsUpdateTime', function () {
         reloadMetricsAndUpdateMetricsTable();
       });
 
-      $scope.$watch('metricName', function() {
+      $scope.$watch('metricName', function () {
         reloadMetricsAndUpdateMetricsTable();
       });
 
@@ -74,10 +74,10 @@ angular.module('dashboard')
 
       function updateMetricsTable(table, metrics) {
         table.rows = $stb.$update(table.rows,
-          _.map(metrics, function(metric, processorId) {
+          _.map(metrics, function (metric, processorId) {
             var processor = $scope.dag.getProcessor(processorId);
             var processorUrl = processor.active ?
-              '#/apps/streamingapp/' + $scope.app.appId + '/processor/' + processorId : '';
+            '#/apps/streamingapp/' + $scope.app.appId + '/processor/' + processorId : '';
             return angular.merge({
               active: {
                 tooltip: processor.active ? 'Active' : (processor.replaced ? 'Replaced by another processor' : 'Dead'),

http://git-wip-us.apache.org/repos/asf/incubator-gearpump/blob/c176e448/services/dashboard/views/apps/streamingapp/overview.js
----------------------------------------------------------------------
diff --git a/services/dashboard/views/apps/streamingapp/overview.js b/services/dashboard/views/apps/streamingapp/overview.js
index 8a8b14f..c0b424b 100644
--- a/services/dashboard/views/apps/streamingapp/overview.js
+++ b/services/dashboard/views/apps/streamingapp/overview.js
@@ -6,7 +6,7 @@
 angular.module('dashboard')
 
   .config(['$stateProvider',
-    function($stateProvider) {
+    function ($stateProvider) {
       'use strict';
 
       $stateProvider
@@ -18,7 +18,7 @@ angular.module('dashboard')
     }])
 
   .controller('StreamingAppOverviewCtrl', ['$scope', '$propertyTableBuilder', 'helper', 'models',
-    function($scope, $ptb, helper, models) {
+    function ($scope, $ptb, helper, models) {
       'use strict';
 
       $scope.appSummary = [
@@ -43,15 +43,15 @@ angular.module('dashboard')
         ]);
       }
 
-      $scope.$watch('app', function(app) {
+      $scope.$watch('app', function (app) {
         updateSummaryTable(app);
       });
 
       $scope.alerts = [];
       models.$get.appAlerts($scope.app.appId)
-        .then(function(alerts0) {
+        .then(function (alerts0) {
           $scope.alerts = alerts0.$data();
-          alerts0.$subscribe($scope, function(alerts) {
+          alerts0.$subscribe($scope, function (alerts) {
             $scope.alerts = alerts;
           });
         });

http://git-wip-us.apache.org/repos/asf/incubator-gearpump/blob/c176e448/services/dashboard/views/apps/streamingapp/popups/dag_edit.js
----------------------------------------------------------------------
diff --git a/services/dashboard/views/apps/streamingapp/popups/dag_edit.js b/services/dashboard/views/apps/streamingapp/popups/dag_edit.js
index 58daeb5..205328a 100644
--- a/services/dashboard/views/apps/streamingapp/popups/dag_edit.js
+++ b/services/dashboard/views/apps/streamingapp/popups/dag_edit.js
@@ -5,7 +5,7 @@
 angular.module('dashboard')
 
   .controller('StreamingAppDagEditCtrl', ['$scope', 'models',
-    function($scope, models) {
+    function ($scope, models) {
       'use strict';
 
       var options = $scope.modifyOptions || {};
@@ -18,18 +18,18 @@ angular.module('dashboard')
       $scope.parallelism = processor.parallelism;
 
       $scope.invalid = {};
-      $scope.canReplace = function() {
+      $scope.canReplace = function () {
         return !_.includes($scope.invalid, true) && $scope.isDirty();
       };
 
-      $scope.isDirty = function() {
+      $scope.isDirty = function () {
         // do not require same type!
         return $scope.taskClass != processor.taskClass ||
           $scope.description != processor.description ||
           $scope.parallelism != processor.parallelism;
       };
 
-      $scope.submit = function() {
+      $scope.submit = function () {
         var files = [$scope.jar];
         var fileFormNames = ['jar'];
         var newProcessor = {
@@ -52,7 +52,7 @@ angular.module('dashboard')
           };
         }
 
-        $scope.dag.replaceProcessor(files, fileFormNames, $scope.app.appId, $scope.processorId, newProcessor, function(response) {
+        $scope.dag.replaceProcessor(files, fileFormNames, $scope.app.appId, $scope.processorId, newProcessor, function (response) {
           $scope.shouldNoticeSubmitFailed = !response.success;
           if (response.success) {
             $scope.$hide();

http://git-wip-us.apache.org/repos/asf/incubator-gearpump/blob/c176e448/services/dashboard/views/apps/streamingapp/processor.html
----------------------------------------------------------------------
diff --git a/services/dashboard/views/apps/streamingapp/processor.html b/services/dashboard/views/apps/streamingapp/processor.html
index d992fdb..137f5d7 100644
--- a/services/dashboard/views/apps/streamingapp/processor.html
+++ b/services/dashboard/views/apps/streamingapp/processor.html
@@ -32,7 +32,8 @@
   <div class="row">
     <div class="col-md-6">
       <h4 ng-style="{'margin-bottom': shouldPaginateTasks ? '7px' : ''}">Tasks
-        <remark style="font-size: 15.6px" type="info" placement="right" tooltip="{{whatIsTask}}"></remark>
+        <remark style="font-size: 15.6px" type="info" placement="right"
+                tooltip="{{whatIsTask}}"></remark>
         <div ng-if="shouldPaginateTasks"
              style="display: inline-block; font-size: 12px; font-weight: 400;">
           <processor-task-pager
@@ -50,6 +51,7 @@
         </div>
         <div class="col-md-12">
           <h5>Distribution of {{metricDescription}}</h5>
+
           <div style="height: 110px">
             <bar-chart
               ng-if="tasksBarChart != null"
@@ -67,7 +69,8 @@
          style="min-height: 200px">
       <h4>Task Metrics Inspector</h4>
       <ui-select theme="select2" multiple limit="1" ng-model="tasks.selected">
-        <ui-select-match placeholder="Click here to pick tasks for inspection...">{{$item}}</ui-select-match>
+        <ui-select-match placeholder="Click here to pick tasks for inspection...">{{$item}}
+        </ui-select-match>
         <ui-select-choices repeat="task in tasks.available|filter:$select.search">
           <span ng-bind="task"></span>
         </ui-select-choices>
@@ -75,7 +78,9 @@
 
       <div ng-if="tasks.selected.length>0">
         <br/>
-        <div ng-include src="'views/apps/streamingapp/processor_task_charts.html?'+tasks.selected.length"
+
+        <div ng-include
+             src="'views/apps/streamingapp/processor_task_charts.html?'+tasks.selected.length"
              ng-controller="StreamingAppProcessorTaskChartsCtrl"></div>
       </div>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-gearpump/blob/c176e448/services/dashboard/views/apps/streamingapp/processor.js
----------------------------------------------------------------------
diff --git a/services/dashboard/views/apps/streamingapp/processor.js b/services/dashboard/views/apps/streamingapp/processor.js
index ec60214..ae271f5 100644
--- a/services/dashboard/views/apps/streamingapp/processor.js
+++ b/services/dashboard/views/apps/streamingapp/processor.js
@@ -6,7 +6,7 @@
 angular.module('dashboard')
 
   .config(['$stateProvider',
-    function($stateProvider) {
+    function ($stateProvider) {
       'use strict';
 
       $stateProvider
@@ -19,7 +19,7 @@ angular.module('dashboard')
 
   .controller('StreamingAppProcessorCtrl', ['$scope', '$interval', '$stateParams', '$propertyTableBuilder',
     'i18n', 'models', 'conf', 'helper',
-    function($scope, $interval, $stateParams, $ptb, i18n, models, conf, helper) {
+    function ($scope, $interval, $stateParams, $ptb, i18n, models, conf, helper) {
       'use strict';
 
       $scope.whatIsProcessor = i18n.terminology.processor;
@@ -63,10 +63,10 @@ angular.module('dashboard')
 
       // query task metrics
       var promise;
-      $scope.$on('$destroy', function() {
+      $scope.$on('$destroy', function () {
         $interval.cancel(promise);
       });
-      $scope.$watch('metricName', function() {
+      $scope.$watch('metricName', function () {
         queryMetrics();
       });
 
@@ -78,7 +78,7 @@ angular.module('dashboard')
         if (!requesting && $scope.metricName) {
           requesting = true;
           models.$get.appTaskLatestMetricValues(
-            $scope.app.appId, $scope.processor.id, $scope.metricName, $scope.taskRange).then(function(metrics) {
+            $scope.app.appId, $scope.processor.id, $scope.metricName, $scope.taskRange).then(function (metrics) {
               if (metrics.hasOwnProperty($scope.metricName)) {
                 $scope.taskMetrics = metrics[$scope.metricName];
               }
@@ -94,10 +94,10 @@ angular.module('dashboard')
       $scope.taskRange = {
         start: 0,
         stop: $scope.shouldPaginateTasks ?
-          $scope.queryLimit - 1 : $scope.processor.parallelism - 1
+        $scope.queryLimit - 1 : $scope.processor.parallelism - 1
       };
 
-      $scope.$watch('taskRange', function(range) {
+      $scope.$watch('taskRange', function (range) {
         if (range.hasOwnProperty('start')) {
           updateTaskSelection(range);
         }
@@ -106,9 +106,9 @@ angular.module('dashboard')
       function updateTaskSelection(range) {
         $scope.tasks = {
           selected: [],
-          available: function() {
+          available: function () {
             var count = range.stop - range.start + 1;
-            return _.times(count, function(i) {
+            return _.times(count, function (i) {
               return 'T' + (i + range.start);
             });
           }()
@@ -122,17 +122,17 @@ angular.module('dashboard')
           seriesNames: [''],
           barMinWidth: 4,
           barMinSpacing: 1,
-          valueFormatter: function(value) {
+          valueFormatter: function (value) {
             var unit = $scope.metricType === 'meter' ? 'msg/s' : 'ms';
             return helper.readableMetricValue(value) + ' ' + unit;
           },
-          data: _.map($scope.tasks.available.length, function(taskName) {
+          data: _.map($scope.tasks.available.length, function (taskName) {
             return {x: taskName, y: 0};
           })
         }
       };
 
-      $scope.$watch('taskMetrics', function(metricsSelection) {
+      $scope.$watch('taskMetrics', function (metricsSelection) {
         if (angular.isObject(metricsSelection)) {
           updateBarChartData(metricsSelection);
         }
@@ -144,12 +144,12 @@ angular.module('dashboard')
           return;
         }
 
-        var data = _.map($scope.tasks.available, function(taskName) {
+        var data = _.map($scope.tasks.available, function (taskName) {
           return {x: taskName};
         });
         var i = 0;
         var metricField = $scope.metricType === 'meter' ? 'movingAverage1m' : 'mean';
-        _.forEach(metricsSelection, function(metric) {
+        _.forEach(metricsSelection, function (metric) {
           data[i].y = helper.metricRounded(metric[metricField]);
           i++;
         });

http://git-wip-us.apache.org/repos/asf/incubator-gearpump/blob/c176e448/services/dashboard/views/apps/streamingapp/processor_task_charts.js
----------------------------------------------------------------------
diff --git a/services/dashboard/views/apps/streamingapp/processor_task_charts.js b/services/dashboard/views/apps/streamingapp/processor_task_charts.js
index 975cc30..3d93232 100644
--- a/services/dashboard/views/apps/streamingapp/processor_task_charts.js
+++ b/services/dashboard/views/apps/streamingapp/processor_task_charts.js
@@ -7,25 +7,25 @@ angular.module('dashboard')
 
   // todo: refactoring required
   .controller('StreamingAppProcessorTaskChartsCtrl', ['$scope', 'helper', 'models',
-    function($scope, helper, models) {
+    function ($scope, helper, models) {
       'use strict';
 
       // rebuild the charts when `tasks` is changed.
-      $scope.$watchCollection('tasks', function(tasks) {
+      $scope.$watchCollection('tasks', function (tasks) {
         if (!tasks.selected) {
           console.warn('should not load this page');
           return;
         }
         // todo: For the time being we can only query one task
-        $scope.selectedTaskIds = _.map(tasks.selected, function(taskName) {
+        $scope.selectedTaskIds = _.map(tasks.selected, function (taskName) {
           return Number(taskName.substr(1));
         });
 
         var range = {start: $scope.selectedTaskIds[0], stop: $scope.selectedTaskIds[0]};
         models.$get.appTaskLatestMetricValues(
-          $scope.app.appId, $scope.processor.id, /*metricName=*/'', range).then(function(metrics0) {
+          $scope.app.appId, $scope.processor.id, /*metricName=*/'', range).then(function (metrics0) {
             $scope.selectedMetrics = metrics0.$data();
-            metrics0.$subscribe($scope, function(metrics) {
+            metrics0.$subscribe($scope, function (metrics) {
               $scope.selectedMetrics = metrics;
             });
           });
@@ -36,20 +36,20 @@ angular.module('dashboard')
           height: '108px',
           margin: {right: 15},
           visibleDataPointsNum: recentChartPoints,
-          data: _.times(recentChartPoints, function() {
+          data: _.times(recentChartPoints, function () {
             return {x: '', y: '-'};
           }),
           seriesNames: tasks.selected
         };
 
         var throughputChartOptions = angular.merge({
-          valueFormatter: function(value) {
+          valueFormatter: function (value) {
             return helper.readableMetricValue(value) + ' msg/s';
           }
         }, lineChartOptionBase);
 
         var durationChartOptions = angular.merge({
-          valueFormatter: function(value) {
+          valueFormatter: function (value) {
             return helper.readableMetricValue(value) + ' ms';
           }
         }, lineChartOptionBase);
@@ -67,7 +67,7 @@ angular.module('dashboard')
           options: durationChartOptions
         };
 
-        $scope.$watchCollection('selectedMetrics', function(metrics) {
+        $scope.$watchCollection('selectedMetrics', function (metrics) {
           if (angular.isObject(metrics)) {
             updateMetricsCharts(metrics);
           }
@@ -102,7 +102,7 @@ angular.module('dashboard')
         }
 
         function extractSelectedMetricField(metrics, field) {
-          return _.map($scope.selectedTaskIds, function(taskId) {
+          return _.map($scope.selectedTaskIds, function (taskId) {
             return helper.metricRounded(metrics[taskId][field]);
           });
         }

http://git-wip-us.apache.org/repos/asf/incubator-gearpump/blob/c176e448/services/dashboard/views/apps/streamingapp/processor_task_pager.js
----------------------------------------------------------------------
diff --git a/services/dashboard/views/apps/streamingapp/processor_task_pager.js b/services/dashboard/views/apps/streamingapp/processor_task_pager.js
index 63d57ae..f3e5574 100644
--- a/services/dashboard/views/apps/streamingapp/processor_task_pager.js
+++ b/services/dashboard/views/apps/streamingapp/processor_task_pager.js
@@ -5,7 +5,7 @@
 
 angular.module('dashboard')
 
-  .directive('processorTaskPager', function() {
+  .directive('processorTaskPager', function () {
     'use strict';
 
     return {
@@ -17,13 +17,13 @@ angular.module('dashboard')
         count: '=',
         queryLimit: '='
       },
-      link: function(scope) {
+      link: function (scope) {
         'use strict';
 
         var pages = Math.ceil(scope.count / scope.queryLimit);
         var pageIndex = 0;
 
-        scope.switchTasks = function(step) {
+        scope.switchTasks = function (step) {
           if (pageIndex + step >= 0 && pageIndex + step < pages) {
             pageIndex += step;
             var start = pageIndex * scope.queryLimit;

http://git-wip-us.apache.org/repos/asf/incubator-gearpump/blob/c176e448/services/dashboard/views/apps/streamingapp/processor_task_table.js
----------------------------------------------------------------------
diff --git a/services/dashboard/views/apps/streamingapp/processor_task_table.js b/services/dashboard/views/apps/streamingapp/processor_task_table.js
index 79fc56e..9793d3a 100644
--- a/services/dashboard/views/apps/streamingapp/processor_task_table.js
+++ b/services/dashboard/views/apps/streamingapp/processor_task_table.js
@@ -6,10 +6,10 @@
 angular.module('dashboard')
 
   .controller('StreamingAppProcessorTaskTableCtrl', ['$scope', '$sortableTableBuilder',
-    function($scope, $stb) {
+    function ($scope, $stb) {
       'use strict';
 
-      $scope.$watch('taskMetrics', function(metrics) {
+      $scope.$watch('taskMetrics', function (metrics) {
         var tableObj = $scope.metricType === 'meter' ?
           $scope.meterMetricsTable : $scope.histogramMetricsTable;
         updateMetricsTable(tableObj, metrics);
@@ -45,7 +45,7 @@ angular.module('dashboard')
 
       function updateMetricsTable(table, metrics) {
         table.rows = $stb.$update(table.rows,
-          _.map(metrics, function(metric, taskId) {
+          _.map(metrics, function (metric, taskId) {
             return angular.extend(metric, {
               task: 'T' + taskId,
               id: Number(taskId)

http://git-wip-us.apache.org/repos/asf/incubator-gearpump/blob/c176e448/services/dashboard/views/apps/streamingapp/streamingapp.html
----------------------------------------------------------------------
diff --git a/services/dashboard/views/apps/streamingapp/streamingapp.html b/services/dashboard/views/apps/streamingapp/streamingapp.html
index 77ba78a..a6e3914 100644
--- a/services/dashboard/views/apps/streamingapp/streamingapp.html
+++ b/services/dashboard/views/apps/streamingapp/streamingapp.html
@@ -18,7 +18,8 @@
       <metrics
         ng-if="app.clock"
         caption="Application Clock"
-        help="{{appClockConcern||whatIsAppClock}}" remark-type="{{appClockConcern ? 'warning' : 'info'}}"
+        help="{{appClockConcern||whatIsAppClock}}"
+        remark-type="{{appClockConcern ? 'warning' : 'info'}}"
         click-help="switchToDagTab()"
         value="{{app.clock|date:'HH:mm:ss'}}"
         sub-text="{{app.clock|date:'yyyy/MM/dd'}}"></metrics>
@@ -29,7 +30,8 @@
         value="not started"></metrics>
     </div>
     <div class="col-md-2 col-sm-3 col-xs-4">
-      <metrics value="{{dag.getProcessorCount()}}" unit="processor" unit-plural="processors"></metrics>
+      <metrics value="{{dag.getProcessorCount()}}" unit="processor"
+               unit-plural="processors"></metrics>
       <metrics value="{{size(app.executors)}}" unit="executor" unit-plural="executors"></metrics>
     </div>
   </div>

http://git-wip-us.apache.org/repos/asf/incubator-gearpump/blob/c176e448/services/dashboard/views/apps/streamingapp/streamingapp.js
----------------------------------------------------------------------
diff --git a/services/dashboard/views/apps/streamingapp/streamingapp.js b/services/dashboard/views/apps/streamingapp/streamingapp.js
index 53f0bf4..ad85ccd 100644
--- a/services/dashboard/views/apps/streamingapp/streamingapp.js
+++ b/services/dashboard/views/apps/streamingapp/streamingapp.js
@@ -6,7 +6,7 @@
 angular.module('dashboard')
 
   .config(['$stateProvider',
-    function($stateProvider) {
+    function ($stateProvider) {
       'use strict';
 
       $stateProvider
@@ -16,7 +16,7 @@ angular.module('dashboard')
           templateUrl: 'views/apps/streamingapp/streamingapp.html',
           controller: 'StreamingAppCtrl',
           resolve: {
-            app0: ['$stateParams', 'models', function($stateParams, models) {
+            app0: ['$stateParams', 'models', function ($stateParams, models) {
               return models.$get.app($stateParams.appId);
             }]
           }
@@ -27,7 +27,7 @@ angular.module('dashboard')
  * This controller is used to obtain app. All nested views will read status from here.
  */
   .controller('StreamingAppCtrl', ['$scope', '$state', 'i18n', 'helper', 'models', 'app0',
-    function($scope, $state, i18n, helper, models, app0) {
+    function ($scope, $state, i18n, helper, models, app0) {
       'use strict';
 
       $scope.whatIsAppClock = i18n.terminology.appClock;
@@ -37,14 +37,14 @@ angular.module('dashboard')
       $scope.uptimeCompact = helper.readableDuration(app0.uptime);
       $scope.dag = models.createDag(app0.clock, app0.processors, app0.dag.edgeList);
 
-      app0.$subscribe($scope, function(app) {
+      app0.$subscribe($scope, function (app) {
         updateAppDetails(app);
-      }, /*onerror=*/ function() {
+      }, /*onerror=*/ function () {
         // manually reset status fields on an error response
         var app = angular.copy($scope.app);
         app.status = 'terminated';
         app.isRunning = false;
-        _.forEach(app.executors, function(executor) {
+        _.forEach(app.executors, function (executor) {
           executor.status = 'terminated';
           executor.isRunning = false;
         });
@@ -58,9 +58,9 @@ angular.module('dashboard')
       }
 
       models.$get.appStallingTasks(app0.appId)
-        .then(function(tasks0) {
+        .then(function (tasks0) {
           updateStallingTasks(tasks0.$data());
-          tasks0.$subscribe($scope, function(tasks) {
+          tasks0.$subscribe($scope, function (tasks) {
             updateStallingTasks(tasks);
           });
         });
@@ -69,30 +69,31 @@ angular.module('dashboard')
           "Application clock does not go forward. Click here to check red processor(s)." : undefined;
         $scope.dag.setStallingTasks(tasks);
       }
-      $scope.switchToDagTab = function() {
+
+      $scope.switchToDagTab = function () {
         $state.go('streamingapp.dag');
       };
 
       // As metrics will be collected shortly after application is started, we should not receive initial metrics
       // at the view resolving stage.
       models.$subscribe($scope,
-        function() {
+        function () {
           return models.$get.appLatestMetrics(app0.appId);
         },
-        function(metrics0) {
+        function (metrics0) {
           $scope.metrics = metrics0.$data();
-          metrics0.$subscribe($scope, function(metrics) {
+          metrics0.$subscribe($scope, function (metrics) {
             $scope.metrics = metrics;
           });
         });
-      $scope.$watch('metrics', function(metrics) {
+      $scope.$watch('metrics', function (metrics) {
         if (angular.isObject(metrics)) {
           $scope.dag.updateLatestMetrics(metrics);
         }
       });
 
       // Angular template cannot call the function directly, so export a function.
-      $scope.size = function(obj) {
+      $scope.size = function (obj) {
         return Object.keys(obj).length;
       };
 
@@ -102,7 +103,7 @@ angular.module('dashboard')
       $scope.receiveThroughputMetricsDescription = 'Messages are received by sink processors';
       $scope.messageLatencyMetricsCaption = 'End-to-End Latency';
       $scope.messageLatencyMetricsDescription = 'The largest latency from a source processor to a sink processor. The value is the sum of message receive latency plus message processing time of all processors on the path (except the source processor).';
-      $scope.averageMesssageProcessingTimeMetricsCaption = 'Average Message Processing Time';
-      $scope.averageMesssageProcessingTimeMetricsDescription = 'The processing time is the duration from a message is received by a processor and to the message is sent to the next stop';
+      $scope.averageMessageProcessingTimeMetricsCaption = 'Average Message Processing Time';
+      $scope.averageMessageProcessingTimeMetricsDescription = 'The processing time is the duration from a message is received by a processor and to the message is sent to the next stop';
     }])
 ;

http://git-wip-us.apache.org/repos/asf/incubator-gearpump/blob/c176e448/services/dashboard/views/apps/streamingapp/vis/network_style.js
----------------------------------------------------------------------
diff --git a/services/dashboard/views/apps/streamingapp/vis/network_style.js b/services/dashboard/views/apps/streamingapp/vis/network_style.js
index 63f56ac..498cdfb 100644
--- a/services/dashboard/views/apps/streamingapp/vis/network_style.js
+++ b/services/dashboard/views/apps/streamingapp/vis/network_style.js
@@ -5,14 +5,14 @@
 
 angular.module('dashboard')
 
-  .factory('$visNetworkStyle', function() {
+  .factory('$visNetworkStyle', function () {
     'use strict';
 
     var fontFace = 'lato,roboto,"helvetica neue","segoe ui",arial,helvetica,sans-serif';
     var maxNodeRadius = 16;
 
     var self = {
-      newOptions: function(height) {
+      newOptions: function (height) {
         return {
           autoResize: true, // The network will automatically detect size changes and redraw itself accordingly
           interaction: {
@@ -45,7 +45,7 @@ angular.module('dashboard')
           }
         };
       },
-      newHierarchicalLayoutOptions: function(flags) {
+      newHierarchicalLayoutOptions: function (flags) {
         var verticalMargin = 28;
         var levelDistance = 85;
         var chartMinHeight = 240;
@@ -61,16 +61,16 @@ angular.module('dashboard')
           }
         });
       },
-      newData: function() {
+      newData: function () {
         return {
           nodes: new vis.DataSet(),
           edges: new vis.DataSet()
         };
       },
-      nodeRadiusRange: function() {
+      nodeRadiusRange: function () {
         return [3, 16];
       },
-      nodeColor: function(concern) {
+      nodeColor: function (concern) {
         var colorSet = concern ? {
           border: 'rgb(138,1,12)',
           background: 'rgb(248,106,91)'
@@ -85,16 +85,16 @@ angular.module('dashboard')
         }
         return result;
       },
-      edgeWidthRange: function() {
+      edgeWidthRange: function () {
         return [1, 5];
       },
-      edgeArrowSizeRange: function() {
+      edgeArrowSizeRange: function () {
         return [0.5, 0.1];
       },
-      edgeOpacityRange: function() {
+      edgeOpacityRange: function () {
         return [0.4, 1];
       },
-      edgeColorSet: function(alive) {
+      edgeColorSet: function (alive) {
         return alive ? {
           color: '#2B7CE9',
           hover: '#2B7CE9',
@@ -106,7 +106,7 @@ angular.module('dashboard')
         };
       },
       /** Return label of processor name */
-      processorNameAsLabel: function(processor) {
+      processorNameAsLabel: function (processor) {
         return '[' + processor.id + '] ' +
           (processor.description || _.last(processor.taskClass.split('.')));
       }

http://git-wip-us.apache.org/repos/asf/incubator-gearpump/blob/c176e448/services/dashboard/views/apps/submit/submit.html
----------------------------------------------------------------------
diff --git a/services/dashboard/views/apps/submit/submit.html b/services/dashboard/views/apps/submit/submit.html
index 2b15000..a2245cb 100644
--- a/services/dashboard/views/apps/submit/submit.html
+++ b/services/dashboard/views/apps/submit/submit.html
@@ -20,8 +20,8 @@
             <span ng-if="error">
               Check out the
               <span class="help-text"
-                 bs-tooltip="error" html="true" placement="bottom"
-                 ng-click="showErrorInNewWin()">reason
+                    bs-tooltip="error" html="true" placement="bottom"
+                    ng-click="showErrorInNewWin()">reason
                 <i ng-if="hasStackTrace"
                    class="fa fa-external-link"></i></span>.
             </span>
@@ -41,10 +41,11 @@
               ng-model="conf" accept-pattern="{{confFileSuffix}}"></form-control>
             <!-- input 3 -->
             <form-control
-              ng-if="!isStormApp"
+              ng-hide="isStormApp"
               type="integer" min="1" label="Executors"
               help="The number of executor (JVM) processes to be spawned in the cluster."
-              ng-model="executorNum"></form-control>
+              ng-model="executorNum" ng-init="executorNum = 1"></form-control>
+
             <!-- input 4 -->
             <form-control
               type="text" label="Arguments"

http://git-wip-us.apache.org/repos/asf/incubator-gearpump/blob/c176e448/services/dashboard/views/apps/submit/submit.js
----------------------------------------------------------------------
diff --git a/services/dashboard/views/apps/submit/submit.js b/services/dashboard/views/apps/submit/submit.js
index 23c806f..f533794 100644
--- a/services/dashboard/views/apps/submit/submit.js
+++ b/services/dashboard/views/apps/submit/submit.js
@@ -5,12 +5,12 @@
 angular.module('dashboard')
 
   .controller('AppSubmitCtrl', ['$scope', 'restapi',
-    function($scope, restapi) {
+    function ($scope, restapi) {
       'use strict';
 
       $scope.dialogTitle = 'Submit Gearpump Application';
       $scope.confFileSuffix = '.conf';
-      $scope.executorNum = 1;
+
       var submitFn = restapi.submitUserApp;
       if ($scope.isStormApp) {
         $scope.dialogTitle = 'Submit Storm Application';
@@ -18,11 +18,11 @@ angular.module('dashboard')
         submitFn = restapi.submitStormApp;
       }
 
-      $scope.canSubmit = function() {
+      $scope.canSubmit = function () {
         return $scope.jar && !$scope.uploading;
       };
 
-      $scope.submit = function() {
+      $scope.submit = function () {
         var files = [$scope.jar];
         var fileFormNames = ['jar'];
         if ($scope.conf) {
@@ -30,7 +30,7 @@ angular.module('dashboard')
           fileFormNames.push('configfile');
         }
         $scope.uploading = true;
-        submitFn(files, fileFormNames, $scope.executorNum, $scope.launchArgs, function(response) {
+        submitFn(files, fileFormNames, $scope.executorNum, $scope.launchArgs, function (response) {
           $scope.shouldNoticeSubmitFailed = !response.success;
           $scope.uploading = false;
           if (response.success) {
@@ -38,7 +38,7 @@ angular.module('dashboard')
           } else {
             $scope.error = response.error;
             $scope.hasStackTrace = response.stackTrace.length > 0;
-            $scope.showErrorInNewWin = function() {
+            $scope.showErrorInNewWin = function () {
               if ($scope.hasStackTrace) {
                 var popup = window.open('', 'Error Log');
                 var html = [$scope.error].concat(response.stackTrace).join('\n');

http://git-wip-us.apache.org/repos/asf/incubator-gearpump/blob/c176e448/services/dashboard/views/cluster/master/master.js
----------------------------------------------------------------------
diff --git a/services/dashboard/views/cluster/master/master.js b/services/dashboard/views/cluster/master/master.js
index 44a38f7..f876710 100644
--- a/services/dashboard/views/cluster/master/master.js
+++ b/services/dashboard/views/cluster/master/master.js
@@ -6,7 +6,7 @@
 angular.module('dashboard')
 
   .config(['$stateProvider',
-    function($stateProvider) {
+    function ($stateProvider) {
       'use strict';
 
       $stateProvider
@@ -15,7 +15,7 @@ angular.module('dashboard')
           templateUrl: 'views/cluster/master/master.html',
           controller: 'MasterCtrl',
           resolve: {
-            master0: ['models', function(models) {
+            master0: ['models', function (models) {
               return models.$get.master();
             }]
           }
@@ -23,7 +23,7 @@ angular.module('dashboard')
     }])
 
   .controller('MasterCtrl', ['$scope', '$propertyTableBuilder', 'i18n', 'helper', 'models', 'master0',
-    function($scope, $ptb, i18n, helper, models, master0) {
+    function ($scope, $ptb, i18n, helper, models, master0) {
       'use strict';
 
       $scope.whatIsMaster = i18n.terminology.master;
@@ -54,12 +54,12 @@ angular.module('dashboard')
 
       $scope.metricsConfig = master0.historyMetricsConfig;
       updateSummaryTable(master0);
-      master0.$subscribe($scope, function(master) {
+      master0.$subscribe($scope, function (master) {
         updateSummaryTable(master);
       });
 
       // Delegate JvmMetrics directive to manage metrics
-      $scope.queryMetricsFnRef = function(all) {
+      $scope.queryMetricsFnRef = function (all) {
         return all ?
           models.$get.masterHistMetrics() :
           models.$get.masterMetrics($scope.metricsConfig.retainRecentDataIntervalMs);

http://git-wip-us.apache.org/repos/asf/incubator-gearpump/blob/c176e448/services/dashboard/views/cluster/workers/add_worker.html
----------------------------------------------------------------------
diff --git a/services/dashboard/views/cluster/workers/add_worker.html b/services/dashboard/views/cluster/workers/add_worker.html
index d8a1ecf..b340a16 100644
--- a/services/dashboard/views/cluster/workers/add_worker.html
+++ b/services/dashboard/views/cluster/workers/add_worker.html
@@ -16,6 +16,7 @@
               <span aria-hidden="true">&times;</span>
             </button>
             <h5 style="margin-top: 0">Something went wrong!</h5>
+
             <p ng-bind="error"></p>
           </div>
         </div>

http://git-wip-us.apache.org/repos/asf/incubator-gearpump/blob/c176e448/services/dashboard/views/cluster/workers/add_worker.js
----------------------------------------------------------------------
diff --git a/services/dashboard/views/cluster/workers/add_worker.js b/services/dashboard/views/cluster/workers/add_worker.js
index ab4b42e..eb5aa92 100644
--- a/services/dashboard/views/cluster/workers/add_worker.js
+++ b/services/dashboard/views/cluster/workers/add_worker.js
@@ -5,13 +5,13 @@
 angular.module('dashboard')
 
   .controller('AddWorkerCtrl', ['$scope', 'restapi', 'i18n',
-    function($scope, restapi, i18n) {
+    function ($scope, restapi, i18n) {
       'use strict';
 
       $scope.description = i18n.terminology.worker;
       $scope.count = 1;
 
-      $scope.add = function() {
+      $scope.add = function () {
         $scope.adding = true;
         $scope.shouldNoticeSubmitFailed = false;
         return restapi.addWorker(

http://git-wip-us.apache.org/repos/asf/incubator-gearpump/blob/c176e448/services/dashboard/views/cluster/workers/worker/worker.html
----------------------------------------------------------------------
diff --git a/services/dashboard/views/cluster/workers/worker/worker.html b/services/dashboard/views/cluster/workers/worker/worker.html
index f174f18..e290874 100644
--- a/services/dashboard/views/cluster/workers/worker/worker.html
+++ b/services/dashboard/views/cluster/workers/worker/worker.html
@@ -21,7 +21,8 @@
         value="{{worker.slots.usage|number:1}}" unit="%"></metrics>
     </div>
     <div class="col-sm-2 col-xs-4">
-      <metrics value="{{worker.executors.length}}" unit="executor" unit-plural="executors"></metrics>
+      <metrics value="{{worker.executors.length}}" unit="executor"
+               unit-plural="executors"></metrics>
       <metrics value="{{appsCount}}" unit="application" unit-plural="applications"></metrics>
     </div>
   </div>

http://git-wip-us.apache.org/repos/asf/incubator-gearpump/blob/c176e448/services/dashboard/views/cluster/workers/worker/worker.js
----------------------------------------------------------------------
diff --git a/services/dashboard/views/cluster/workers/worker/worker.js b/services/dashboard/views/cluster/workers/worker/worker.js
index ad92a74..3291a59 100644
--- a/services/dashboard/views/cluster/workers/worker/worker.js
+++ b/services/dashboard/views/cluster/workers/worker/worker.js
@@ -6,7 +6,7 @@
 angular.module('dashboard')
 
   .config(['$stateProvider',
-    function($stateProvider) {
+    function ($stateProvider) {
       'use strict';
 
       $stateProvider
@@ -19,10 +19,10 @@ angular.module('dashboard')
           templateUrl: 'views/cluster/workers/worker/worker.html',
           controller: 'WorkerCtrl',
           resolve: {
-            worker0: ['$stateParams', 'models', function($stateParams, models) {
+            worker0: ['$stateParams', 'models', function ($stateParams, models) {
               return models.$get.worker($stateParams.workerId);
             }],
-            apps0: ['models', function(models) {
+            apps0: ['models', function (models) {
               return models.$get.apps();
             }]
           }
@@ -31,7 +31,7 @@ angular.module('dashboard')
 
   .controller('WorkerCtrl', ['$scope', '$propertyTableBuilder', '$sortableTableBuilder',
     'i18n', 'helper', 'models', 'locator', 'worker0', 'apps0',
-    function($scope, $ptb, $stb, i18n, helper, models, locator, worker0, apps0) {
+    function ($scope, $ptb, $stb, i18n, helper, models, locator, worker0, apps0) {
       'use strict';
 
       $scope.whatIsWorker = i18n.terminology.worker;
@@ -69,7 +69,7 @@ angular.module('dashboard')
 
       function updateExecutorsTable() {
         $scope.executorsTable.rows = $stb.$update($scope.executorsTable.rows,
-          _.map($scope.worker.executors, function(executor) {
+          _.map($scope.worker.executors, function (executor) {
             if ($scope.apps.hasOwnProperty(executor.appId)) {
               var app = $scope.apps[executor.appId];
               var executorPageUrl = locator.executor(app.appId, app.type, executor.executorId);
@@ -96,14 +96,14 @@ angular.module('dashboard')
       updateOverviewTable($scope.worker);
       updateExecutorsTable();
 
-      worker0.$subscribe($scope, function(worker) {
+      worker0.$subscribe($scope, function (worker) {
         updateWorkerDetails(worker);
-      }, /*onerror=*/function() {
+      }, /*onerror=*/function () {
         // manually reset status fields on an error response
         var worker = angular.copy($scope.worker);
         worker.state = 'terminated';
         worker.isRunning = false;
-        _.forEach(worker.executors, function(executor) {
+        _.forEach(worker.executors, function (executor) {
           executor.status = 'terminated';
           executor.isRunning = false;
         });
@@ -116,13 +116,13 @@ angular.module('dashboard')
         updateExecutorsTable();
       }
 
-      apps0.$subscribe($scope, function(apps) {
+      apps0.$subscribe($scope, function (apps) {
         $scope.apps = apps;
         updateExecutorsTable();
       });
 
       // Delegate JvmMetrics directive to manage metrics
-      $scope.queryMetricsFnRef = function(all) {
+      $scope.queryMetricsFnRef = function (all) {
         return all ?
           models.$get.workerHistMetrics(worker0.workerId) :
           models.$get.workerMetrics(worker0.workerId, $scope.metricsConfig.retainRecentDataIntervalMs);

http://git-wip-us.apache.org/repos/asf/incubator-gearpump/blob/c176e448/services/dashboard/views/cluster/workers/workers_listview.html
----------------------------------------------------------------------
diff --git a/services/dashboard/views/cluster/workers/workers_listview.html b/services/dashboard/views/cluster/workers/workers_listview.html
index 1f5295d..8b65005 100644
--- a/services/dashboard/views/cluster/workers/workers_listview.html
+++ b/services/dashboard/views/cluster/workers/workers_listview.html
@@ -31,6 +31,7 @@
     <div class="table-no-data">
       <h2 class="glyphicon glyphicon-bullhorn"></h2>
       <h4>No worker instance is running</h4>
+
       <p>Please contact your administrator to launch worker for applications.</p>
     </div>
   </sortable-table>

http://git-wip-us.apache.org/repos/asf/incubator-gearpump/blob/c176e448/services/dashboard/views/cluster/workers/workers_listview.js
----------------------------------------------------------------------
diff --git a/services/dashboard/views/cluster/workers/workers_listview.js b/services/dashboard/views/cluster/workers/workers_listview.js
index c277b38..184d578 100644
--- a/services/dashboard/views/cluster/workers/workers_listview.js
+++ b/services/dashboard/views/cluster/workers/workers_listview.js
@@ -6,7 +6,7 @@
 angular.module('dashboard')
 
   .config(['$stateProvider',
-    function($stateProvider) {
+    function ($stateProvider) {
       'use strict';
 
       $stateProvider
@@ -16,10 +16,10 @@ angular.module('dashboard')
           templateUrl: 'views/cluster/workers/workers_listview.html',
           controller: 'WorkersListViewCtrl',
           resolve: {
-            workers0: ['models', function(models) {
+            workers0: ['models', function (models) {
               return models.$get.workers();
             }],
-            supervisor0: ['models', function(models) {
+            supervisor0: ['models', function (models) {
               return models.$get.supervisor();
             }]
           }
@@ -28,10 +28,10 @@ angular.module('dashboard')
 
   .controller('WorkersListViewCtrl', ['$scope', '$modal', '$sortableTableBuilder', '$dialogs',
     'restapi', 'workers0', 'supervisor0',
-    function($scope, $modal, $stb, $dialogs, restapi, workers0, supervisor0) {
+    function ($scope, $modal, $stb, $dialogs, restapi, workers0, supervisor0) {
       'use strict';
 
-      $scope.isSupervisor = (supervisor0.path||'').length > 0;
+      $scope.isSupervisor = (supervisor0.path || '').length > 0;
       $scope.workersTable = {
         cols: [
           // group 1/3 (4-col)
@@ -51,22 +51,30 @@ angular.module('dashboard')
 
       function updateTable(workers) {
         $scope.workersTable.rows = $stb.$update($scope.workersTable.rows,
-          _.map(workers, function(worker) {
+          _.map(workers, function (worker) {
             return {
               id: {href: worker.pageUrl, text: worker.workerId},
-              state: {tooltip: worker.state, condition: worker.isRunning ? 'good' : 'concern', shape: 'stripe'},
+              state: {
+                tooltip: worker.state,
+                condition: worker.isRunning ? 'good' : 'concern',
+                shape: 'stripe'
+              },
               akkaAddr: worker.akkaAddr,
               jvm: worker.jvmName,
               aliveFor: worker.aliveFor,
-              slots: {current: worker.slots.used, max: worker.slots.total, usage: worker.slots.usage},
+              slots: {
+                current: worker.slots.used,
+                max: worker.slots.total,
+                usage: worker.slots.usage
+              },
               executors: worker.executors.length || 0,
               detail: {href: worker.pageUrl, text: 'Details', class: 'btn-xs btn-primary'},
               conf: {href: worker.configLink, target: '_blank', text: 'Config', class: 'btn-xs'},
               kill: {
                 text: 'Kill', class: 'btn-xs',
                 disabled: !$scope.isSupervisor,
-                click: function() {
-                  $dialogs.confirm('Are you sure to kill this worker?', function() {
+                click: function () {
+                  $dialogs.confirm('Are you sure to kill this worker?', function () {
                     restapi.removeWorker(worker.workerId,
                       function handleResponse(response) {
                         if (response.success) {
@@ -87,7 +95,7 @@ angular.module('dashboard')
       }
 
       updateTable(workers0.$data());
-      workers0.$subscribe($scope, function(data) {
+      workers0.$subscribe($scope, function (data) {
         updateTable(data);
       });
 
@@ -99,7 +107,7 @@ angular.module('dashboard')
         show: false
       });
 
-      $scope.showAddWorkerDialog = function() {
+      $scope.showAddWorkerDialog = function () {
         addWorkerDialog.$promise.then(addWorkerDialog.show);
       };
     }])

http://git-wip-us.apache.org/repos/asf/incubator-gearpump/blob/c176e448/services/dashboard/views/helper.js
----------------------------------------------------------------------
diff --git a/services/dashboard/views/helper.js b/services/dashboard/views/helper.js
index bb46a86..3a5ec8b 100644
--- a/services/dashboard/views/helper.js
+++ b/services/dashboard/views/helper.js
@@ -6,21 +6,21 @@
 angular.module('dashboard')
 
 /** Provides widgets/directive related helper functions */
-  .factory('helper', ['$filter', '$echarts', function($filter, $echarts) {
+  .factory('helper', ['$filter', '$echarts', function ($filter, $echarts) {
     'use strict';
 
     return {
       /* Allows dashing property `<button>` to have a "Copy to clipboard" feature on click. */
-      withClickToCopy: function(values, text) {
+      withClickToCopy: function (values, text) {
         return angular.extend(values, {
           tooltip: 'Location: <b>' + text + '</b><div><small>click button to copy</small></div>',
-          click: function() {
+          click: function () {
             clipboard.copy(text);
           }
         });
       },
       /* Returns a readable duration component. */
-      readableDuration: function(millis) {
+      readableDuration: function (millis) {
         var pieces = $filter('duration')(millis).split(' ');
         return {
           value: Math.max(0, pieces[0]),
@@ -28,7 +28,7 @@ angular.module('dashboard')
         };
       },
       /* Return a readable metric value. */
-      readableMetricValue: function(value) {
+      readableMetricValue: function (value) {
         if (angular.isNumber(value)) {
           var precision = Math.abs(value) < 100 ? 2 : 0;
           return $filter('number')(value, precision);
@@ -36,24 +36,24 @@ angular.module('dashboard')
         return value;
       },
       /* Make metric precision consistent */
-      metricRounded: function(value) {
+      metricRounded: function (value) {
         return _.round(value, 2);
       },
       /* Create a proper chart time label for echart */
-      timeToChartTimeLabel: function(time, shortForm) {
-        return moment(time).format(shortForm ? 'HH:mm:ss': 'ddd DD, HH:mm');
+      timeToChartTimeLabel: function (time, shortForm) {
+        return moment(time).format(shortForm ? 'HH:mm:ss' : 'ddd DD, HH:mm');
       },
       /* Return a y-axis label formatter that will not show 0 on y-axis */
-      yAxisLabelFormatterWithoutValue0: function(unit) {
+      yAxisLabelFormatterWithoutValue0: function (unit) {
         return $echarts.axisLabelFormatter(unit, {0: ''});
       }
     };
   }])
 
-  .filter('metric', ['helper', function(helper) {
+  .filter('metric', ['helper', function (helper) {
     'use strict';
 
-    return function(value) {
+    return function (value) {
       return helper.readableMetricValue(value);
     };
   }])

http://git-wip-us.apache.org/repos/asf/incubator-gearpump/blob/c176e448/services/dashboard/views/jvm/jvm_metrics_view.js
----------------------------------------------------------------------
diff --git a/services/dashboard/views/jvm/jvm_metrics_view.js b/services/dashboard/views/jvm/jvm_metrics_view.js
index 2fbd539..c9d6ff8 100644
--- a/services/dashboard/views/jvm/jvm_metrics_view.js
+++ b/services/dashboard/views/jvm/jvm_metrics_view.js
@@ -5,7 +5,7 @@
 
 angular.module('dashboard')
 
-  .directive('jvmMetricsView', function() {
+  .directive('jvmMetricsView', function () {
     'use strict';
 
     return {
@@ -16,7 +16,7 @@ angular.module('dashboard')
         queryMetricsFnRef: '&'
       },
       controller: ['$scope', '$filter', '$propertyTableBuilder', 'helper',
-        function($scope, $filter, $ptb, helper) {
+        function ($scope, $filter, $ptb, helper) {
           'use strict';
 
           var sc = $scope.samplingConfig;
@@ -25,10 +25,10 @@ angular.module('dashboard')
 
           // property table part
           var converter = {
-            bytes: function(value) {
+            bytes: function (value) {
               return {raw: value, unit: 'B', readable: true};
             },
-            direct: function(value) {
+            direct: function (value) {
               return value;
             }
           };
@@ -40,7 +40,7 @@ angular.module('dashboard')
             'thread.daemon.count': ['Daemon Thread Count', converter.direct]
           };
 
-          $scope.jvmMetricsTable = _.map(metricsClassProps, function(prop) {
+          $scope.jvmMetricsTable = _.map(metricsClassProps, function (prop) {
             var text = prop[0];
             var convertFn = prop[1];
             return $ptb.number(text).value(convertFn(0)).done();
@@ -49,7 +49,7 @@ angular.module('dashboard')
           function updateMetricsTable(metrics) {
             var updates = {};
             var i = 0;
-            angular.forEach(metricsClassProps, function(prop, name) {
+            angular.forEach(metricsClassProps, function (prop, name) {
               if (metrics.hasOwnProperty(name)) {
                 var convertFn = prop[1];
                 updates[i] = convertFn(metrics[name].value);
@@ -64,7 +64,7 @@ angular.module('dashboard')
 
           function rebuildChartsOnPeriodChanged() {
             var all = !$scope.isShowingCurrentMetrics;
-            queryMetricsFn(all).then(function(metrics) {
+            queryMetricsFn(all).then(function (metrics) {
               var dataPoints = makeMemoryUsageChartData(metrics);
               var visibleDataPointsNum = all ?
                 Math.max(dataPoints.length, histChartPoints) : recentChartPoints;
@@ -79,20 +79,20 @@ angular.module('dashboard')
           }
 
           var queryMetricsFn = $scope.queryMetricsFnRef();
-          queryMetricsFn(/*all=*/false).then(function(metrics0) {
+          queryMetricsFn(/*all=*/false).then(function (metrics0) {
             $scope.metrics = metrics0.$data();
-            $scope.$watch('isShowingCurrentMetrics', function(newVal, oldVal) {
+            $scope.$watch('isShowingCurrentMetrics', function (newVal, oldVal) {
               if (angular.equals(newVal, oldVal)) {
                 return; // ignore initial notification
               }
               rebuildChartsOnPeriodChanged();
             });
-            metrics0.$subscribe($scope, function(metrics) {
+            metrics0.$subscribe($scope, function (metrics) {
               $scope.metrics = metrics;
             });
           });
 
-          $scope.$watch('metrics', function(metrics) {
+          $scope.$watch('metrics', function (metrics) {
             if (angular.isObject(metrics)) {
               updateMetricsTable(_.mapValues(metrics, _.last));
               if ($scope.isShowingCurrentMetrics) {
@@ -106,7 +106,7 @@ angular.module('dashboard')
           }
 
           function makeMemoryUsageChartData(metrics) {
-            return _.map(metrics['memory.total.used'], function(metric) {
+            return _.map(metrics['memory.total.used'], function (metric) {
               return {
                 x: helper.timeToChartTimeLabel(metric.time, /*shortForm=*/$scope.isShowingCurrentMetrics),
                 y: [metric.value]
@@ -122,7 +122,7 @@ angular.module('dashboard')
               visibleDataPointsNum: visibleDataPointsNum,
               data: dataPoints,
               yAxisLabelFormatter: helper.yAxisLabelFormatterWithoutValue0('B'), // MB, GB, TB, etc.
-              valueFormatter: function(value) {
+              valueFormatter: function (value) {
                 return $filter('number')(Math.floor(value / (1024 * 1024)), 0) + ' MB';
               }
             };