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);
},