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

ambari git commit: AMBARI-11974. Display label for the custom action. (Di Li via jaimin)

Repository: ambari
Updated Branches:
  refs/heads/trunk 9108b522e -> 8429a6a1d


AMBARI-11974. Display label for the custom action. (Di Li via jaimin)


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

Branch: refs/heads/trunk
Commit: 8429a6a1d2f079f112929a0e21b34aac28c0c628
Parents: 9108b52
Author: Jaimin Jetly <ja...@hortonworks.com>
Authored: Thu Nov 12 11:33:02 2015 -0800
Committer: Jaimin Jetly <ja...@hortonworks.com>
Committed: Thu Nov 12 11:33:28 2015 -0800

----------------------------------------------------------------------
 ambari-web/app/utils/helper.js                  | 28 ++++++++++++++++++++
 .../main/host/details/host_component_view.js    |  2 +-
 ambari-web/app/views/main/service/item.js       |  4 +--
 ambari-web/test/utils/helper_test.js            | 22 +++++++++++++++
 .../host/details/host_component_view_test.js    |  8 +++---
 5 files changed, 57 insertions(+), 7 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ambari/blob/8429a6a1/ambari-web/app/utils/helper.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/utils/helper.js b/ambari-web/app/utils/helper.js
index 0f4a5c3..cb71356 100644
--- a/ambari-web/app/utils/helper.js
+++ b/ambari-web/app/utils/helper.js
@@ -543,6 +543,34 @@ App.format = {
   /**
    * Try to format non predefined names to readable format.
    *
+   * @method normalizeNameBySeparator
+   * @param name {String} - name to format
+   * @param separator {String} - token use to split the string
+   * @return {String}
+   */
+  normalizeNameBySeparators: function(name, separators) {
+    if (!name || typeof name != 'string') return '';
+    name = name.toLowerCase();
+    if (!separators || separators.length == 0) {
+      console.debug("No separators specified. Use default separator '_' instead");
+      separators = ["_"];
+    }
+
+    for (var i = 0; i < separators.length; i++){
+      var separator = separators[i];
+      if (new RegExp(separator, 'g').test(name)) {
+        name = name.split(separator).map(function(singleName) {
+          return this.normalizeName(singleName.toUpperCase());
+        }, this).join(' ');
+      }
+    }
+    return name.capitalize();
+  },
+
+
+  /**
+   * Try to format non predefined names to readable format.
+   *
    * @method normalizeName
    * @param name {String} - name to format
    * @return {String}

http://git-wip-us.apache.org/repos/asf/ambari/blob/8429a6a1/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 0335234..eba1691 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
@@ -351,7 +351,7 @@ App.HostComponentView = Em.View.extend({
    */
   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(command)
+      return Em.I18n.t('services.service.actions.run.executeCustomCommand.menu').format(App.format.normalizeNameBySeparators(command, ["_", "-", " "]))
     }
     return App.HostComponentActionMap.getMap(this)[command].label;
   },

http://git-wip-us.apache.org/repos/asf/ambari/blob/8429a6a1/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 bfa98ca..d87e16b 100644
--- a/ambari-web/app/views/main/service/item.js
+++ b/ambari-web/app/views/main/service/item.js
@@ -213,9 +213,9 @@ App.MainServiceItemView = Em.View.extend({
           }
 
           options.push(self.createOption(actionMap.MASTER_CUSTOM_COMMAND, {
-            label: Em.I18n.t('services.service.actions.run.executeCustomCommand.menu').format(command),
+            label: Em.I18n.t('services.service.actions.run.executeCustomCommand.menu').format(App.format.normalizeNameBySeparators(command, ["_", "-", " "])),
             context: {
-              label: Em.I18n.t('services.service.actions.run.executeCustomCommand.menu').format(command),
+              label: Em.I18n.t('services.service.actions.run.executeCustomCommand.menu').format(App.format.normalizeNameBySeparators(command, ["_", "-", " "])),
               service: component.get('serviceName'),
               component: component.get('componentName'),
               command: command

http://git-wip-us.apache.org/repos/asf/ambari/blob/8429a6a1/ambari-web/test/utils/helper_test.js
----------------------------------------------------------------------
diff --git a/ambari-web/test/utils/helper_test.js b/ambari-web/test/utils/helper_test.js
index 62acf58..0b4ac90 100644
--- a/ambari-web/test/utils/helper_test.js
+++ b/ambari-web/test/utils/helper_test.js
@@ -294,6 +294,28 @@ describe('utils/helper', function() {
           });
         });
       });
+
+      describe('#normalizeNameBySeparators()', function() {
+        var testMessage = '`{0}` should be converted to `{1}`';
+        var tests = {
+          'APP_TIMELINE_SERVER': 'App Timeline Server',
+          'app_timeline_server': 'App Timeline Server',
+          'APP-TIMELINE-SERVER': 'App Timeline Server',
+          'app-timeline-server': 'App Timeline Server',
+          'APP TIMELINE SERVER': 'App Timeline Server',
+          'app timeline server': 'App Timeline Server',
+          'FALCON': 'Falcon',
+          'falcon': 'Falcon'
+        };
+        for (var inputName in tests) {
+          (function(name) {
+            it(testMessage.format(name, tests[name]), function() {
+              expect(App.format.normalizeNameBySeparators(name, ["-", "_", " "])).to.eql(tests[name]);
+            });
+          })(inputName)
+        }
+      });
+
       describe('#normalizeName()', function() {
         var testMessage = '`{0}` should be converted to `{1}`';
         var tests = {

http://git-wip-us.apache.org/repos/asf/ambari/blob/8429a6a1/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 75cf476..c1ad6aa 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
@@ -469,13 +469,13 @@ describe('App.HostComponentView', function() {
         msg: 'Non-slave component not present in `App.HostComponentActionMap.getMap()` should have a default valid label',
         isSlave: false,
         command: 'CUSTOM',
-        e: Em.I18n.t('services.service.actions.run.executeCustomCommand.menu').format('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,
         command: 'MASTER_CUSTOM_COMMAND',
-        e: Em.I18n.t('services.service.actions.run.executeCustomCommand.menu').format('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',
@@ -487,13 +487,13 @@ describe('App.HostComponentView', function() {
         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')
+        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')
+        e: Em.I18n.t('services.service.actions.run.executeCustomCommand.menu').format('Refreshqueues')
       }
     ]);