You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by ak...@apache.org on 2016/03/04 13:29:15 UTC

ambari git commit: AMBARI-15289. Duplicated config groups after rename (akovalenko)

Repository: ambari
Updated Branches:
  refs/heads/trunk 0d0a3d340 -> 61d40303b


AMBARI-15289. Duplicated config groups after rename (akovalenko)


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

Branch: refs/heads/trunk
Commit: 61d40303b6c0ddf6a41d0892bfa8986af28b605f
Parents: 0d0a3d3
Author: Aleksandr Kovalenko <ak...@hortonworks.com>
Authored: Thu Mar 3 22:24:07 2016 +0200
Committer: Aleksandr Kovalenko <ak...@hortonworks.com>
Committed: Fri Mar 4 14:26:34 2016 +0200

----------------------------------------------------------------------
 .../service/manage_config_groups_controller.js  | 46 +++++++++++++-------
 1 file changed, 30 insertions(+), 16 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ambari/blob/61d40303/ambari-web/app/controllers/main/service/manage_config_groups_controller.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/controllers/main/service/manage_config_groups_controller.js b/ambari-web/app/controllers/main/service/manage_config_groups_controller.js
index c1afb33..91929f5 100644
--- a/ambari-web/app/controllers/main/service/manage_config_groups_controller.js
+++ b/ambari-web/app/controllers/main/service/manage_config_groups_controller.js
@@ -405,25 +405,35 @@ App.ManageConfigGroupsController = Em.Controller.extend(App.ConfigOverridable, {
    * @returns {Array}
    */
   generateOriginalConfigGroups: function(configGroups) {
+    var self = this;
     return configGroups.map(function (item) {
-      return {
-        id: item.get('id'),
-        config_group_id: item.get('configGroupId'),
-        name: item.get('name'),
-        service_name: item.get('serviceName'),
-        description: item.get('description'),
-        hosts: item.get('hosts').slice(0),
-        service_id: item.get('serviceName'),
-        desired_configs: item.get('desiredConfigs'),
-        is_default: item.get('isDefault'),
-        child_config_groups: item.get('childConfigGroups') ? item.get('childConfigGroups').mapProperty('id') : [],
-        parent_config_group_id: item.get('parentConfigGroup.id'),
-        properties: item.get('properties')
-      };
+      return self.createOriginalRecord(item);
     });
   },
 
   /**
+   *  Return object to use for loading to model with correct names for object keys
+   * @param configGroup - config group object from model
+   * @returns {Object}
+   */
+  createOriginalRecord: function (configGroup) {
+    return {
+      id: configGroup.get('id'),
+      config_group_id: configGroup.get('configGroupId'),
+      name: configGroup.get('name'),
+      service_name: configGroup.get('serviceName'),
+      description: configGroup.get('description'),
+      hosts: configGroup.get('hosts').slice(0),
+      service_id: configGroup.get('serviceName'),
+      desired_configs: configGroup.get('desiredConfigs'),
+      is_default: configGroup.get('isDefault'),
+      child_config_groups: configGroup.get('childConfigGroups') ? configGroup.get('childConfigGroups').mapProperty('id') : [],
+      parent_config_group_id: configGroup.get('parentConfigGroup.id'),
+      properties: configGroup.get('properties')
+    };
+  },
+
+  /**
    *
    * @param {object} groupToTypeToTagMap
    * @method loadProperties
@@ -628,8 +638,12 @@ App.ManageConfigGroupsController = Em.Controller.extend(App.ConfigOverridable, {
       }.property('warningMessage', 'configGroupName', 'configGroupDesc'),
 
       onPrimary: function () {
-        self.set('selectedConfigGroup.name', this.get('configGroupName'));
-        self.set('selectedConfigGroup.description', this.get('configGroupDesc'));
+        var renamedGroup = self.createOriginalRecord(self.get('selectedConfigGroup'));
+        renamedGroup.name = this.get('configGroupName');
+        renamedGroup.description = this.get('configGroupDesc');
+        App.store.load(App.ServiceConfigGroup, renamedGroup);
+        App.store.commit();
+        App.configGroupsMapper.deleteRecord(self.get('selectedConfigGroup'));
         this.hide();
       }
     });