Переглянути джерело

AMBARI-2257. Reassign Master Wizard: should update changes on step 2. (Oleg Nechiporenko via yusaku)

git-svn-id: https://svn.apache.org/repos/asf/incubator/ambari/trunk@1489107 13f79535-47bb-0310-9956-ffa450edef68
Yusaku Sako 12 роки тому
батько
коміт
cde740ffee

+ 2 - 1
ambari-web/app/controllers/main/service/item.js

@@ -192,9 +192,10 @@ App.MainServiceItemController = Em.Controller.extend({
    * @param hostComponent
    */
   reassignMaster: function (hostComponent) {
+    var component = App.HostComponent.find().findProperty('componentName', hostComponent.get('componentName'));
     console.log('In Reassign Master', hostComponent);
     var reassignMasterController = App.router.get('reassignMasterController');
-    reassignMasterController.saveComponentToReassign(hostComponent);
+    reassignMasterController.saveComponentToReassign(component);
     reassignMasterController.setCurrentStep('1');
     App.router.transitionTo('reassignMaster');
   },

+ 14 - 0
ambari-web/app/mappers/service_mapper.js

@@ -198,6 +198,20 @@ App.servicesMapper = App.QuickDataMapper.create({
         this.calculateState(hcJson);
       }, this);
 
+      var oldHostComponents = App.HostComponent.find();
+      var item;
+      for (var i = 0; i < oldHostComponents.content.length; i++) {
+        item = oldHostComponents.objectAt(i);
+        if (item && !result.findProperty('id', item.get('id'))) {
+          item.deleteRecord();
+        }
+      }
+      result.forEach(function (item) {
+        if (App.HostComponent.find(item.id).get('componentName') &&
+            !App.HostComponent.find().filterProperty('componentName', item.component_name).someProperty('host.hostName', item.host_id)) {
+          item.id = (new Date).getTime();
+        }
+      });
       App.store.loadMany(this.get('model3'), result);
       for(var hostComponentId in hostComponentToActualConfigsMap){
         var hostComponentObj = App.HostComponent.find(hostComponentId);