Return-Path: X-Original-To: apmail-ambari-commits-archive@www.apache.org Delivered-To: apmail-ambari-commits-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 83D8F17F5D for ; Tue, 21 Oct 2014 10:56:42 +0000 (UTC) Received: (qmail 79061 invoked by uid 500); 21 Oct 2014 10:56:42 -0000 Delivered-To: apmail-ambari-commits-archive@ambari.apache.org Received: (qmail 79029 invoked by uid 500); 21 Oct 2014 10:56:42 -0000 Mailing-List: contact commits-help@ambari.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: ambari-dev@ambari.apache.org Delivered-To: mailing list commits@ambari.apache.org Received: (qmail 79020 invoked by uid 99); 21 Oct 2014 10:56:42 -0000 Received: from tyr.zones.apache.org (HELO tyr.zones.apache.org) (140.211.11.114) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 21 Oct 2014 10:56:42 +0000 Received: by tyr.zones.apache.org (Postfix, from userid 65534) id 18207935EAD; Tue, 21 Oct 2014 10:56:42 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: ababiichuk@apache.org To: commits@ambari.apache.org Message-Id: <433f4f9d429a40f3b610159778af864b@git.apache.org> X-Mailer: ASF-Git Admin Mailer Subject: git commit: AMBARI-7873 Config history: comparing two versions with removed properties shows 'Undefined' on HDP-2.1. (ababiichuk) Date: Tue, 21 Oct 2014 10:56:42 +0000 (UTC) Repository: ambari Updated Branches: refs/heads/trunk 6fe0285c5 -> 2034600f1 AMBARI-7873 Config history: comparing two versions with removed properties shows 'Undefined' on HDP-2.1. (ababiichuk) Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/2034600f Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/2034600f Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/2034600f Branch: refs/heads/trunk Commit: 2034600f17fcc3ec4ff89fdc97caabfd00f29456 Parents: 6fe0285 Author: aBabiichuk Authored: Mon Oct 20 21:27:14 2014 +0300 Committer: aBabiichuk Committed: Tue Oct 21 13:54:10 2014 +0300 ---------------------------------------------------------------------- .../controllers/main/service/info/configs.js | 19 ++++++------ ambari-web/app/messages.js | 1 + .../common/configs/compare_property.hbs | 8 ++--- .../main/service/info/config_test.js | 32 ++++++++++++++++++++ 4 files changed, 47 insertions(+), 13 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/2034600f/ambari-web/app/controllers/main/service/info/configs.js ---------------------------------------------------------------------- diff --git a/ambari-web/app/controllers/main/service/info/configs.js b/ambari-web/app/controllers/main/service/info/configs.js index d986fa3..afd263f 100644 --- a/ambari-web/app/controllers/main/service/info/configs.js +++ b/ambari-web/app/controllers/main/service/info/configs.js @@ -664,7 +664,9 @@ App.MainServiceInfoConfigsController = Em.Controller.extend(App.ServerValidatorM }, this); } else { allConfigs.forEach(function (serviceConfig) { - this.setCompareDefaultGroupConfig(serviceConfig, serviceVersionMap[this.get('compareServiceVersion').get('version')]); + var serviceCfgVersionMap = serviceVersionMap[this.get('compareServiceVersion').get('version')]; + var compareConfig = serviceCfgVersionMap[serviceConfig.name + '-' + App.config.getConfigTagFromFileName(serviceConfig.filename)] + this.setCompareDefaultGroupConfig(serviceConfig, compareConfig); }, this); } }, @@ -713,7 +715,7 @@ App.MainServiceInfoConfigsController = Em.Controller.extend(App.ServerValidatorM compareObject.isMock = true; compareObject.displayType = 'label'; compareObject = App.ServiceConfigProperty.create(compareObject); - compareObject.set('value', 'Undefined'); + compareObject.set('value', Em.I18n.t('common.property.undefined')); return compareObject; }, @@ -744,25 +746,24 @@ App.MainServiceInfoConfigsController = Em.Controller.extend(App.ServerValidatorM /** * set compare properties to service config of default group * @param serviceConfig - * @param serviceVersionMap + * @param compareConfig */ - setCompareDefaultGroupConfig: function (serviceConfig, serviceVersionMap) { - // map the property in the compare version to compare with current serviceConfig - var compareConfig = serviceVersionMap[serviceConfig.name + '-' + App.config.getConfigTagFromFileName(serviceConfig.filename)]; + setCompareDefaultGroupConfig: function (serviceConfig, compareConfig) { var compareObject = {}; serviceConfig.compareConfigs = []; serviceConfig.isComparison = true; //if config isn't reconfigurable then it can't have changed value to compare - if (compareConfig && serviceConfig.isReconfigurable) { + if (compareConfig && (serviceConfig.isReconfigurable || serviceConfig.isUserProperty)) { compareObject = this.getComparisonConfig(serviceConfig, compareConfig); serviceConfig.hasCompareDiffs = serviceConfig.isMock || this.hasCompareDiffs(serviceConfig, compareObject); serviceConfig.compareConfigs.push(compareObject); } else if (serviceConfig.isUserProperty) { - serviceConfig.compareConfigs.push(this.getMockComparisonConfig(serviceConfig, this.get('compareServiceVersion').get('version'))); + serviceConfig.compareConfigs.push(this.getMockComparisonConfig(serviceConfig, this.get('compareServiceVersion.version'))); serviceConfig.hasCompareDiffs = true; } + return serviceConfig; }, /** @@ -798,7 +799,7 @@ App.MainServiceInfoConfigsController = Em.Controller.extend(App.ServerValidatorM name: name, filename: filename, serviceName: serviceName, - value: "Undefined", + value: Em.I18n.t('common.property.undefined'), isMock: true, displayType: 'label' }; http://git-wip-us.apache.org/repos/asf/ambari/blob/2034600f/ambari-web/app/messages.js ---------------------------------------------------------------------- diff --git a/ambari-web/app/messages.js b/ambari-web/app/messages.js index df69e77..936fe15 100644 --- a/ambari-web/app/messages.js +++ b/ambari-web/app/messages.js @@ -221,6 +221,7 @@ Em.I18n.translations = { 'common.latest': 'Latest', 'common.custom': 'Custom', 'common.continueAnyway': 'Continue Anyway', + 'common.property.undefined': "Undefined", 'passiveState.turnOn':'Turn On Maintenance Mode', 'passiveState.turnOff':'Turn Off Maintenance Mode', http://git-wip-us.apache.org/repos/asf/ambari/blob/2034600f/ambari-web/app/templates/common/configs/compare_property.hbs ---------------------------------------------------------------------- diff --git a/ambari-web/app/templates/common/configs/compare_property.hbs b/ambari-web/app/templates/common/configs/compare_property.hbs index 3e6ddbe..04667f4 100644 --- a/ambari-web/app/templates/common/configs/compare_property.hbs +++ b/ambari-web/app/templates/common/configs/compare_property.hbs @@ -19,11 +19,11 @@ {{#each compareConfig in view.serviceConfigProperty.compareConfigs}}
{{view compareConfig.viewClass serviceConfigBinding="compareConfig"}} + {{compareConfig.serviceVersion.versionText}} + {{#if compareConfig.serviceVersion.isCurrent}} + {{t common.current}} + {{/if}} {{#unless compareConfig.isMock}} - {{compareConfig.serviceVersion.versionText}} - {{#if compareConfig.serviceVersion.isCurrent}} - {{t common.current}} - {{/if}} {{#if compareConfig.supportsFinal}} http://git-wip-us.apache.org/repos/asf/ambari/blob/2034600f/ambari-web/test/controllers/main/service/info/config_test.js ---------------------------------------------------------------------- diff --git a/ambari-web/test/controllers/main/service/info/config_test.js b/ambari-web/test/controllers/main/service/info/config_test.js index e2cf89b..a7dcb0b 100644 --- a/ambari-web/test/controllers/main/service/info/config_test.js +++ b/ambari-web/test/controllers/main/service/info/config_test.js @@ -1397,4 +1397,36 @@ describe("App.MainServiceInfoConfigsController", function () { }); }); }); + + describe("setCompareDefaultGroupConfig", function() { + beforeEach(function() { + sinon.stub(mainServiceInfoConfigsController, "getComparisonConfig").returns("compConfig"); + sinon.stub(mainServiceInfoConfigsController, "getMockComparisonConfig").returns("mockConfig"); + sinon.stub(mainServiceInfoConfigsController, "hasCompareDiffs").returns(true); + }); + afterEach(function() { + mainServiceInfoConfigsController.getComparisonConfig.restore(); + mainServiceInfoConfigsController.getMockComparisonConfig.restore(); + mainServiceInfoConfigsController.hasCompareDiffs.restore(); + }); + it("expect that setCompareDefaultGroupConfig will not run anything", function() { + expect(mainServiceInfoConfigsController.setCompareDefaultGroupConfig({}).compareConfigs.length).to.equal(0); + }); + it("expect that setCompareDefaultGroupConfig will not run anything", function() { + expect(mainServiceInfoConfigsController.setCompareDefaultGroupConfig({},{}).compareConfigs.length).to.equal(0); + }); + it("expect that serviceConfig.compareConfigs will be getMockComparisonConfig", function() { + expect(mainServiceInfoConfigsController.setCompareDefaultGroupConfig({isUserProperty: true}, null)).to.eql({compareConfigs: ["mockConfig"], isUserProperty: true, isComparison: true, hasCompareDiffs: true}); + }); + it("expect that serviceConfig.compareConfigs will be getComparisonConfig", function() { + expect(mainServiceInfoConfigsController.setCompareDefaultGroupConfig({isUserProperty: true}, {})).to.eql({compareConfigs: ["compConfig"], isUserProperty: true, isComparison: true, hasCompareDiffs: true}); + }); + it("expect that serviceConfig.compareConfigs will be getComparisonConfig", function() { + expect(mainServiceInfoConfigsController.setCompareDefaultGroupConfig({isReconfigurable: true}, {})).to.eql({compareConfigs: ["compConfig"], isReconfigurable: true, isComparison: true, hasCompareDiffs: true}); + }); + it("expect that serviceConfig.compareConfigs will be getComparisonConfig", function() { + expect(mainServiceInfoConfigsController.setCompareDefaultGroupConfig({isReconfigurable: true, isMock: true}, {})).to.eql({compareConfigs: ["compConfig"], isReconfigurable: true, isMock: true, isComparison: true, hasCompareDiffs: true}); + }); + + }); });