You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by ab...@apache.org on 2015/06/23 17:45:54 UTC

ambari git commit: AMBARI-12092 Strange behavior after discarding changes in compare mode. (ababiichuk)

Repository: ambari
Updated Branches:
  refs/heads/trunk 2f26e7f6f -> aa170c033


AMBARI-12092 Strange behavior after discarding changes in compare mode. (ababiichuk)


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

Branch: refs/heads/trunk
Commit: aa170c033452c3e331ea1e7311aa88997337845c
Parents: 2f26e7f
Author: aBabiichuk <ab...@cybervisiontech.com>
Authored: Mon Jun 22 19:47:23 2015 +0300
Committer: aBabiichuk <ab...@cybervisiontech.com>
Committed: Tue Jun 23 18:44:46 2015 +0300

----------------------------------------------------------------------
 .../mixins/common/configs/configs_comparator.js | 63 ++++++++++----------
 .../app/mixins/common/configs/configs_loader.js |  2 +
 .../views/common/configs/config_history_flow.js |  1 +
 3 files changed, 35 insertions(+), 31 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ambari/blob/aa170c03/ambari-web/app/mixins/common/configs/configs_comparator.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/mixins/common/configs/configs_comparator.js b/ambari-web/app/mixins/common/configs/configs_comparator.js
index ef48654..f056347 100644
--- a/ambari-web/app/mixins/common/configs/configs_comparator.js
+++ b/ambari-web/app/mixins/common/configs/configs_comparator.js
@@ -47,6 +47,7 @@ App.ConfigsComparator = Em.Mixin.create({
       }
 
       this.getCompareVersionConfigs(compareServiceVersions).done(function (json) {
+        allConfigs.setEach('isEditable', false);
         self.initCompareConfig(allConfigs, json);
         self.setProperties({
           compareServiceVersion: null,
@@ -162,24 +163,24 @@ App.ConfigsComparator = Em.Mixin.create({
    * @method setCompareConfigs
    */
   setCompareConfigs: function (serviceConfig, serviceVersionMap, compareVersion, selectedVersion) {
-    var compareConfig = serviceVersionMap[compareVersion][serviceConfig.name + '-' + App.config.getConfigTagFromFileName(serviceConfig.filename)];
-    var selectedConfig = serviceVersionMap[selectedVersion][serviceConfig.name + '-' + App.config.getConfigTagFromFileName(serviceConfig.filename)];
+    var compareConfig = serviceVersionMap[compareVersion][Em.get(serviceConfig, 'name') + '-' + App.config.getConfigTagFromFileName(Em.get(serviceConfig, 'filename'))];
+    var selectedConfig = serviceVersionMap[selectedVersion][Em.get(serviceConfig, 'name') + '-' + App.config.getConfigTagFromFileName(Em.get(serviceConfig, 'filename'))];
 
-    serviceConfig.compareConfigs = [];
-    serviceConfig.isComparison = true;
+    Em.set(serviceConfig, 'compareConfigs', []);
+    Em.set(serviceConfig, 'isComparison', true);
 
     if (compareConfig && selectedConfig) {
-      serviceConfig.compareConfigs.push(this.getComparisonConfig(serviceConfig, compareConfig));
-      serviceConfig.compareConfigs.push(this.getComparisonConfig(serviceConfig, selectedConfig));
-      serviceConfig.hasCompareDiffs = this.hasCompareDiffs(serviceConfig.compareConfigs[0], serviceConfig.compareConfigs[1]);
+      Em.get(serviceConfig, 'compareConfigs').push(this.getComparisonConfig(serviceConfig, compareConfig));
+      Em.get(serviceConfig, 'compareConfigs').push(this.getComparisonConfig(serviceConfig, selectedConfig));
+      Em.set(serviceConfig, 'hasCompareDiffs', this.hasCompareDiffs(Em.get(serviceConfig,'compareConfigs')[0], Em.get(serviceConfig,'compareConfigs')[1]));
     } else if (compareConfig && !selectedConfig) {
-      serviceConfig.compareConfigs.push(this.getComparisonConfig(serviceConfig, compareConfig));
-      serviceConfig.compareConfigs.push(this.getMockComparisonConfig(selectedConfig, selectedVersion));
-      serviceConfig.hasCompareDiffs = true;
+      Em.get(serviceConfig, 'compareConfigs').push(this.getComparisonConfig(serviceConfig, compareConfig));
+      Em.get(serviceConfig, 'compareConfigs').push(this.getMockComparisonConfig(selectedConfig, selectedVersion));
+      Em.set(serviceConfig, 'hasCompareDiffs', true);
     } else if (!compareConfig && selectedConfig) {
-      serviceConfig.compareConfigs.push(this.getMockComparisonConfig(selectedConfig, compareVersion));
-      serviceConfig.compareConfigs.push(this.getComparisonConfig(serviceConfig, selectedConfig));
-      serviceConfig.hasCompareDiffs = true;
+      Em.get(serviceConfig, 'compareConfigs').push(this.getMockComparisonConfig(selectedConfig, compareVersion));
+      Em.get(serviceConfig, 'compareConfigs').push(this.getComparisonConfig(serviceConfig, selectedConfig));
+      Em.set(serviceConfig, 'hasCompareDiffs', true);
     }
   },
 
@@ -193,11 +194,11 @@ App.ConfigsComparator = Em.Mixin.create({
    */
   getMockComparisonConfig: function (serviceConfig, compareServiceVersion) {
     var compareObject = $.extend(true, {isComparison: false},  serviceConfig);
-    compareObject.isEditable = false;
+    Em.set(compareObject, 'isEditable', false);
 
-    compareObject.serviceVersion = App.ServiceConfigVersion.find(this.get('content.serviceName') + "_" + compareServiceVersion);
-    compareObject.isMock = true;
-    compareObject.displayType = 'label';
+    Em.set(compareObject, 'serviceVersion', App.ServiceConfigVersion.find(this.get('content.serviceName') + "_" + compareServiceVersion));
+    Em.set(compareObject, 'isMock', true);
+    Em.set(compareObject, 'displayType', 'label');
     compareObject = App.ServiceConfigProperty.create(compareObject);
     compareObject.set('value', Em.I18n.t('common.property.undefined'));
     return compareObject;
@@ -213,14 +214,14 @@ App.ConfigsComparator = Em.Mixin.create({
    */
   getComparisonConfig: function (serviceConfig, compareConfig) {
     var compareObject = $.extend(true, {isComparison: false, isOriginalSCP: false},  serviceConfig);
-    compareObject.isEditable = false;
+    Em.set(compareObject, 'isEditable', false);
 
     if (compareConfig) {
-      if (serviceConfig.isMock) {
-        compareObject.displayType = 'string';
-        compareObject.isMock = false;
+      if (Em.get(serviceConfig, 'isMock')) {
+        Em.set(compareObject, 'displayType', 'string');
+        Em.set(compareObject, 'isMock', false);
       }
-      compareObject.serviceVersion = App.ServiceConfigVersion.find(this.get('content.serviceName') + "_" + compareConfig.service_config_version);
+      Em.set(compareObject, 'serviceVersion', App.ServiceConfigVersion.find(this.get('content.serviceName') + "_" + compareConfig.service_config_version));
       compareObject = App.ServiceConfigProperty.create(compareObject);
       compareObject.setProperties({
         isFinal: !!compareConfig.isFinal,
@@ -242,18 +243,18 @@ App.ConfigsComparator = Em.Mixin.create({
     var compareObject = {};
     var isEmptyProp = App.isEmptyObject(serviceConfig);
 
-    serviceConfig.compareConfigs = [];
-    serviceConfig.isComparison = true;
+    Em.set(serviceConfig, 'compareConfigs', []);
+    Em.set(serviceConfig, 'isComparison', true);
 
     //if config isn't reconfigurable then it can't have changed value to compare
-    if (compareConfig && (serviceConfig.isReconfigurable || serviceConfig.isUserProperty)) {
+    if (compareConfig && (Em.get(serviceConfig, 'isReconfigurable') || Em.get(serviceConfig, 'isUserProperty'))) {
       compareObject = this.getComparisonConfig(serviceConfig, compareConfig);
-      serviceConfig.hasCompareDiffs = serviceConfig.isMock || this.hasCompareDiffs(serviceConfig, compareObject);
-      serviceConfig.compareConfigs.push(compareObject);
+      Em.set(serviceConfig, 'hasCompareDiffs', Em.get(serviceConfig, 'isMock') || this.hasCompareDiffs(serviceConfig, compareObject));
+      Em.get(serviceConfig, 'compareConfigs').push(compareObject);
       // user custom property or property that was added during upgrade
-    } else if (serviceConfig.isUserProperty || (!isEmptyProp && !compareConfig && Em.get(serviceConfig, 'isRequiredByAgent') !== false)) {
-      serviceConfig.compareConfigs.push(this.getMockComparisonConfig(serviceConfig, this.get('compareServiceVersion.version')));
-      serviceConfig.hasCompareDiffs = true;
+    } else if (Em.get(serviceConfig, 'isUserProperty') || (!isEmptyProp && !compareConfig && Em.get(serviceConfig, 'isRequiredByAgent') !== false)) {
+      Em.get(serviceConfig, 'compareConfigs').push(this.getMockComparisonConfig(serviceConfig, this.get('compareServiceVersion.version')));
+      Em.set(serviceConfig, 'hasCompareDiffs', true);
     }
     return serviceConfig;
   },
@@ -267,7 +268,7 @@ App.ConfigsComparator = Em.Mixin.create({
    * @method hasCompareDiffs
    */
   hasCompareDiffs: function (originalConfig, compareConfig) {
-    return (originalConfig.value !== compareConfig.value) || (!!originalConfig.isFinal !== (compareConfig.isFinal == true));
+    return (Em.get(originalConfig, 'value') !== Em.get(compareConfig, 'value')) || (!!Em.get(originalConfig, 'isFinal') !== !!Em.get(compareConfig, 'isFinal'));
   },
 
   /**

http://git-wip-us.apache.org/repos/asf/ambari/blob/aa170c03/ambari-web/app/mixins/common/configs/configs_loader.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/mixins/common/configs/configs_loader.js b/ambari-web/app/mixins/common/configs/configs_loader.js
index 9f94fd9..7d7b666 100644
--- a/ambari-web/app/mixins/common/configs/configs_loader.js
+++ b/ambari-web/app/mixins/common/configs/configs_loader.js
@@ -99,6 +99,7 @@ App.ConfigsLoader = Em.Mixin.create(App.GroupsMappingMixin, {
    * @method loadCurrentVersions
    */
   loadCurrentVersions: function() {
+    this.set('isCompareMode', false);
     this.set('versionLoaded', false);
     this.set('selectedVersion', this.get('currentDefaultVersion'));
     this.trackRequest(App.ajax.send({
@@ -129,6 +130,7 @@ App.ConfigsLoader = Em.Mixin.create(App.GroupsMappingMixin, {
    * @method loadSelectedVersion
    */
   loadSelectedVersion: function (version, switchToGroup) {
+    this.set('isCompareMode', false);
     this.set('versionLoaded', false);
     version = version || this.get('currentDefaultVersion');
     if (version === this.get('currentDefaultVersion') && (!switchToGroup || switchToGroup.get('isDefault'))) {

http://git-wip-us.apache.org/repos/asf/ambari/blob/aa170c03/ambari-web/app/views/common/configs/config_history_flow.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/views/common/configs/config_history_flow.js b/ambari-web/app/views/common/configs/config_history_flow.js
index b0e5bf6..c23f609 100644
--- a/ambari-web/app/views/common/configs/config_history_flow.js
+++ b/ambari-web/app/views/common/configs/config_history_flow.js
@@ -345,6 +345,7 @@ App.ConfigHistoryFlowView = Em.View.extend({
         serviceVersion.set('isDisplayed', false);
       }
     });
+    this.set('isCompareMode', false);
     this.shiftFlowOnSwitch(versionIndex);
     this.get('controller').loadSelectedVersion(displayedVersion);
   },