You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by od...@apache.org on 2015/12/30 20:41:35 UTC

ambari git commit: AMBARI-14477. Custom command label for HAWQ Segment Stop (Immediate Mode) (mithmatt via odiachenko).

Repository: ambari
Updated Branches:
  refs/heads/trunk c96a9e417 -> 09406ac65


AMBARI-14477. Custom command label for HAWQ Segment Stop (Immediate Mode) (mithmatt via odiachenko).


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

Branch: refs/heads/trunk
Commit: 09406ac65f78a5213236ec33735dccd35e61d90b
Parents: c96a9e4
Author: Oleksandr Diachenko <od...@pivotal.io>
Authored: Wed Dec 30 11:41:22 2015 -0800
Committer: Oleksandr Diachenko <od...@pivotal.io>
Committed: Wed Dec 30 11:41:22 2015 -0800

----------------------------------------------------------------------
 ambari-web/app/messages.js                      |  2 ++
 ambari-web/app/models/host_component.js         |  8 ++++-
 .../main/host/details/host_component_view.js    | 14 ++++----
 ambari-web/app/views/main/service/item.js       |  3 +-
 .../host/details/host_component_view_test.js    | 38 ++++++++++----------
 5 files changed, 36 insertions(+), 29 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ambari/blob/09406ac6/ambari-web/app/messages.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/messages.js b/ambari-web/app/messages.js
index 17a9ef9..8892cac 100644
--- a/ambari-web/app/messages.js
+++ b/ambari-web/app/messages.js
@@ -1660,6 +1660,8 @@ Em.I18n.translations = {
   'services.service.actions.run.stopLdapKnox.context':'Stop Demo LDAP',
   'services.service.actions.run.startStopLdapKnox.error': 'Error during remote command: ',
   'services.service.actions.run.immediateStopHawqCluster.context':'Stop HAWQ Cluster (Immediate Mode)',
+  'services.service.actions.run.immediateStopHawqSegment.label':'Stop (Immediate Mode)',
+  'services.service.actions.run.immediateStopHawqSegment.context':'Stop HAWQ Segment (Immediate Mode)',
   'services.service.actions.run.immediateStopHawqCluster.error': 'Error during remote command: ',
   'services.service.actions.manage_configuration_groups.short':'Manage Config Groups',
   'services.service.actions.serviceActions':'Service Actions',

http://git-wip-us.apache.org/repos/asf/ambari/blob/09406ac6/ambari-web/app/models/host_component.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/models/host_component.js b/ambari-web/app/models/host_component.js
index 4fe08f5..b463c80 100644
--- a/ambari-web/app/models/host_component.js
+++ b/ambari-web/app/models/host_component.js
@@ -364,7 +364,13 @@ App.HostComponentActionMap = {
         context: Em.I18n.t('services.service.actions.run.immediateStopHawqCluster.context'),
         label: Em.I18n.t('services.service.actions.run.immediateStopHawqCluster.context'),
         cssClass: 'icon-stop',
-        disabled: false,
+        disabled: false
+      },
+      IMMEDIATE_STOP: {
+        customCommand: 'IMMEDIATE_STOP',
+        context: Em.I18n.t('services.service.actions.run.immediateStopHawqSegment.context'),
+        label: Em.I18n.t('services.service.actions.run.immediateStopHawqSegment.label'),
+        cssClass: 'icon-stop'
       },
       MASTER_CUSTOM_COMMAND: {
         action: 'executeCustomCommand',

http://git-wip-us.apache.org/repos/asf/ambari/blob/09406ac6/ambari-web/app/views/main/host/details/host_component_view.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/views/main/host/details/host_component_view.js b/ambari-web/app/views/main/host/details/host_component_view.js
index 7247134..21295b8 100644
--- a/ambari-web/app/views/main/host/details/host_component_view.js
+++ b/ambari-web/app/views/main/host/details/host_component_view.js
@@ -294,9 +294,9 @@ App.HostComponentView = Em.View.extend({
         return;
       }
 
-      var isContextPresent =  (!isSlave && (command in App.HostComponentActionMap.getMap(self)) &&  App.HostComponentActionMap.getMap(self)[command].context);
+      var isContextPresent = command in App.HostComponentActionMap.getMap(self) && App.HostComponentActionMap.getMap(self)[command].context;
       customCommands.push({
-        label: self.getCustomCommandLabel(command, isSlave),
+        label: self.getCustomCommandLabel(command),
         service: component.get('serviceName'),
         hosts: hostComponent.get('hostName'),
         context: isContextPresent ? App.HostComponentActionMap.getMap(self)[command].context : null,
@@ -314,11 +314,11 @@ App.HostComponentView = Em.View.extend({
    * @param command
    * @returns {String}
    */
-  getCustomCommandLabel: function (command, isSlave) {
-    if (isSlave || !(command in App.HostComponentActionMap.getMap(this)) || !App.HostComponentActionMap.getMap(this)[command].label) {
-      return Em.I18n.t('services.service.actions.run.executeCustomCommand.menu').format(App.format.normalizeNameBySeparators(command, ["_", "-", " "]))
-    }
-    return App.HostComponentActionMap.getMap(this)[command].label;
+  getCustomCommandLabel: function (command) {
+    if (command in App.HostComponentActionMap.getMap(this) && App.HostComponentActionMap.getMap(this)[command].label)
+      return App.HostComponentActionMap.getMap(this)[command].label;
+    
+    return Em.I18n.t('services.service.actions.run.executeCustomCommand.menu').format(App.format.normalizeNameBySeparators(command, ["_", "-", " "]));
   },
 
   /**

http://git-wip-us.apache.org/repos/asf/ambari/blob/09406ac6/ambari-web/app/views/main/service/item.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/views/main/service/item.js b/ambari-web/app/views/main/service/item.js
index f85f266..1dfa937 100644
--- a/ambari-web/app/views/main/service/item.js
+++ b/ambari-web/app/views/main/service/item.js
@@ -35,7 +35,8 @@ App.MainServiceItemView = Em.View.extend({
     'RESOURCEMANAGER': ['DECOMMISSION', 'REFRESHQUEUES'],
     'HBASE_MASTER': ['DECOMMISSION'],
     'KNOX_GATEWAY': ['STARTDEMOLDAP','STOPDEMOLDAP'],
-    'HAWQMASTER': ['IMMEDIATE_STOP_CLUSTER']
+    'HAWQMASTER': ['IMMEDIATE_STOP_CLUSTER'],
+    'HAWQSEGMENT': ['IMMEDIATE_STOP']
   },
 
    addActionMap: function() {

http://git-wip-us.apache.org/repos/asf/ambari/blob/09406ac6/ambari-web/test/views/main/host/details/host_component_view_test.js
----------------------------------------------------------------------
diff --git a/ambari-web/test/views/main/host/details/host_component_view_test.js b/ambari-web/test/views/main/host/details/host_component_view_test.js
index e8366bd..648f0f6 100644
--- a/ambari-web/test/views/main/host/details/host_component_view_test.js
+++ b/ambari-web/test/views/main/host/details/host_component_view_test.js
@@ -288,9 +288,21 @@ describe('App.HostComponentView', function() {
         return Em.Object.create({
           componentName: 'SLAVE_COMPONENT',
           isSlave: true,
-          customCommands: ['CUSTOM']
+          customCommands: ['SLAVE_CUSTOM_COMMAND']
         });
       });
+     sinon.stub(App.HostComponentActionMap, 'getMap', function () {
+        return {
+          SLAVE_CUSTOM_COMMAND: {
+            customCommand: 'SLAVE_CUSTOM_COMMAND',
+            cssClass: 'icon-play-circle',
+            label: 'Custom Command',
+            context: 'Custom Command',
+            isHidden: false,
+            disabled: false
+          }
+        }
+      });
     });
 
     it('Should get custom commands for slaves', function() {
@@ -300,6 +312,7 @@ describe('App.HostComponentView', function() {
 
     after(function() {
       App.StackServiceComponent.find.restore();
+      App.HostComponentActionMap.getMap.restore();
     });
   });
 
@@ -331,40 +344,25 @@ describe('App.HostComponentView', function() {
 
     var tests = Em.A([
       {
-        msg: 'Non-slave component not present in `App.HostComponentActionMap.getMap()` should have a default valid label',
-        isSlave: false,
+        msg: 'Component not present in `App.HostComponentActionMap.getMap()` should have a default valid label',
         command: 'CUSTOM',
         e: Em.I18n.t('services.service.actions.run.executeCustomCommand.menu').format('Custom')
       },
       {
-        msg: 'Non-slave component present in `App.HostComponentActionMap.getMap()` with no label should have a default valid label',
-        isSlave: false,
+        msg: 'Component present in `App.HostComponentActionMap.getMap()` with no label should have a default valid label',
         command: 'MASTER_CUSTOM_COMMAND',
         e: Em.I18n.t('services.service.actions.run.executeCustomCommand.menu').format('Master Custom Command')
       },
       {
-        msg: 'Non-slave component present in `App.HostComponentActionMap.getMap()` with label should have a custom valid label',
-        isSlave: false,
+        msg: 'Component present in `App.HostComponentActionMap.getMap()` with label should have a custom valid label',
         command: 'REFRESHQUEUES',
         e: Em.I18n.t('services.service.actions.run.yarnRefreshQueues.menu')
-      },
-      {
-        msg: 'Slave component not present in `App.HostComponentActionMap.getMap()` should have a default valid label',
-        isSlave: true,
-        command: 'CUSTOM',
-        e: Em.I18n.t('services.service.actions.run.executeCustomCommand.menu').format('Custom')
-      },
-      {
-        msg: 'Slave component present in `App.HostComponentActionMap.getMap()` should have a default valid label',
-        isSlave: true,
-        command: 'REFRESHQUEUES',
-        e: Em.I18n.t('services.service.actions.run.executeCustomCommand.menu').format('Refreshqueues')
       }
     ]);
 
     tests.forEach(function(test) {
       it(test.msg, function() {
-        expect(hostComponentView.getCustomCommandLabel(test.command, test.isSlave)).to.equal(test.e);
+        expect(hostComponentView.getCustomCommandLabel(test.command)).to.equal(test.e);
       })
     });
   });