You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by al...@apache.org on 2015/08/11 17:19:39 UTC

ambari git commit: AMBARI-12722. Final button is absent for Custom core -site properties (alexantonenko)

Repository: ambari
Updated Branches:
  refs/heads/branch-2.1 23609c0bf -> 79f05c4d2


AMBARI-12722. Final button is absent for Custom core -site properties (alexantonenko)


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

Branch: refs/heads/branch-2.1
Commit: 79f05c4d2b3cd1c585c189a459e59df91e856d6e
Parents: 23609c0
Author: Alex Antonenko <hi...@gmail.com>
Authored: Tue Aug 11 18:08:31 2015 +0300
Committer: Alex Antonenko <hi...@gmail.com>
Committed: Tue Aug 11 18:08:31 2015 +0300

----------------------------------------------------------------------
 ambari-web/app/controllers/wizard.js       |  2 +-
 ambari-web/app/utils/config.js             | 14 ++++++++------
 ambari-web/test/controllers/wizard_test.js |  2 ++
 ambari-web/test/utils/config_test.js       | 11 ++++++++---
 4 files changed, 19 insertions(+), 10 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ambari/blob/79f05c4d/ambari-web/app/controllers/wizard.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/controllers/wizard.js b/ambari-web/app/controllers/wizard.js
index ce3ed69..f67fd7b 100644
--- a/ambari-web/app/controllers/wizard.js
+++ b/ambari-web/app/controllers/wizard.js
@@ -857,7 +857,7 @@ App.WizardController = Em.Controller.extend(App.LocalStorage, App.ThemesMappingM
       }
 
       _content.get('configs').forEach(function (_configProperties) {
-        var configProperty = App.config.createDefaultConfig(_configProperties.get('name'), _configProperties.get('filename'), _configProperties.get('isUserProperty'), {value: _configProperties.get('value')});
+        var configProperty = App.config.createDefaultConfig(_configProperties.get('name'), _configProperties.get('serviceName'), _configProperties.get('filename'), _configProperties.get('isUserProperty'), {value: _configProperties.get('value')});
         configProperty = App.config.mergeStaticProperties(configProperty, _configProperties, ['name', 'filename']);
 
         if (this.isExcludedConfig(configProperty)) {

http://git-wip-us.apache.org/repos/asf/ambari/blob/79f05c4d/ambari-web/app/utils/config.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/utils/config.js b/ambari-web/app/utils/config.js
index 73ca643..c718d94 100644
--- a/ambari-web/app/utils/config.js
+++ b/ambari-web/app/utils/config.js
@@ -302,7 +302,7 @@ App.config = Em.Object.create({
         var configsPropertyDef = this.get('preDefinedSitePropertiesMap')[id];
         var advancedConfig = App.StackConfigProperty.find(id);
         var isStackProperty = !!advancedConfig.get('id');
-        var template = this.createDefaultConfig(index, filename, isStackProperty, configsPropertyDef);
+        var template = this.createDefaultConfig(index, serviceName, filename, isStackProperty, configsPropertyDef);
         var serviceConfigObj = isStackProperty ? this.mergeStaticProperties(template, advancedConfig) : template;
 
         if (serviceConfigObj.isRequiredByAgent !== false) {
@@ -330,12 +330,13 @@ App.config = Em.Object.create({
    * These property values has the lowest priority and can be overriden be stack/UI
    * config property but is used when such properties are absent in stack/UI configs
    * @param {string} name
+   * @param {string} serviceName
    * @param {string} fileName
    * @param {boolean} definedInStack
    * @param {Object} [coreObject]
    * @returns {Object}
    */
-  createDefaultConfig: function(name, fileName, definedInStack, coreObject) {
+  createDefaultConfig: function(name, serviceName, fileName, definedInStack, coreObject) {
     return $.extend({
       /** core properties **/
       name: name,
@@ -347,8 +348,8 @@ App.config = Em.Object.create({
       /** UI and Stack properties **/
       recommendedValue: null,
       recommendedIsFinal: null,
-      supportsFinal: false,
-      serviceName: 'MISC',
+      supportsFinal: this.shouldSupportFinal(serviceName, fileName),
+      serviceName: serviceName,
       defaultDirectory: '',
       displayName: this.getDefaultDisplayName(name, fileName),
       displayType: this.getDefaultDisplayType(name, fileName, coreObject ? coreObject.value : ''),
@@ -593,8 +594,9 @@ App.config = Em.Object.create({
       if (!(uiPersistentProperties.contains(id) || isUIOnly || advanced.get('id')) && filename != 'alert_notification') {
         return;
       }
+      var serviceName = preDefined ? preDefined.serviceName : advanced.get('serviceName');
       if (configTypes.contains(this.getConfigTagFromFileName(filename))) {
-        var configData = this.createDefaultConfig(name, filename, true, preDefined || {});
+        var configData = this.createDefaultConfig(name, serviceName, filename, true, preDefined || {});
         if (configData.recommendedValue) {
           configData.value = configData.recommendedValue;
         }
@@ -1118,7 +1120,7 @@ App.config = Em.Object.create({
         isVisible: stored.isVisible,
         isFinal: stored.isFinal,
         savedIsFinal: stored.savedIsFinal,
-        supportsFinal: stored.supportsFinal,
+        supportsFinal: this.shouldSupportFinal(stored.serviceName, stored.filename),
         showLabel: stored.showLabel !== false,
         category: stored.category
       };

http://git-wip-us.apache.org/repos/asf/ambari/blob/79f05c4d/ambari-web/test/controllers/wizard_test.js
----------------------------------------------------------------------
diff --git a/ambari-web/test/controllers/wizard_test.js b/ambari-web/test/controllers/wizard_test.js
index 9f38134..1ae4cf5 100644
--- a/ambari-web/test/controllers/wizard_test.js
+++ b/ambari-web/test/controllers/wizard_test.js
@@ -916,10 +916,12 @@ describe('App.WizardController', function () {
     beforeEach(function () {
       c.set('content', {});
       sinon.stub(c, 'setDBProperty', Em.K);
+      sinon.stub(App.config, 'shouldSupportFinal').returns(true);
     });
 
     afterEach(function () {
       c.setDBProperty.restore();
+      App.config.shouldSupportFinal.restore();
     });
 
     var kerberosStepController = Em.Object.create({

http://git-wip-us.apache.org/repos/asf/ambari/blob/79f05c4d/ambari-web/test/utils/config_test.js
----------------------------------------------------------------------
diff --git a/ambari-web/test/utils/config_test.js b/ambari-web/test/utils/config_test.js
index 7cfdb61..0f69b7c 100644
--- a/ambari-web/test/utils/config_test.js
+++ b/ambari-web/test/utils/config_test.js
@@ -1276,6 +1276,9 @@ describe('App.config', function () {
       sinon.stub(App.config, 'getDefaultIsShowLabel', function () {
         return true;
       });
+      sinon.stub(App.config, 'shouldSupportFinal', function () {
+        return true;
+      });
     });
 
     after(function () {
@@ -1284,6 +1287,7 @@ describe('App.config', function () {
       App.config.getDefaultCategory.restore();
       App.config.getIsSecure.restore();
       App.config.getDefaultIsShowLabel.restore();
+      App.config.shouldSupportFinal.restore();
     });
 
     var res = {
@@ -1297,8 +1301,8 @@ describe('App.config', function () {
       /** UI and Stack properties **/
       recommendedValue: null,
       recommendedIsFinal: null,
-      supportsFinal: false,
-      serviceName: 'MISC',
+      supportsFinal: true,
+      serviceName: 'pServiceName',
       defaultDirectory: '',
       displayName: 'pDisplayName',
       displayType: 'pDisplayType',
@@ -1324,7 +1328,7 @@ describe('App.config', function () {
       belongsToService: []
     };
     it('create default config object', function () {
-      expect(App.config.createDefaultConfig('pName', 'pFileName', true)).to.eql(res);
+      expect(App.config.createDefaultConfig('pName', 'pServiceName', 'pFileName', true)).to.eql(res);
     });
     it('runs proper methods', function () {
       expect(App.config.getDefaultDisplayName.calledWith('pName', 'pFileName')).to.be.true;
@@ -1332,6 +1336,7 @@ describe('App.config', function () {
       expect(App.config.getDefaultCategory.calledWith(true, 'pFileName')).to.be.true;
       expect(App.config.getIsSecure.calledWith('pName')).to.be.true;
       expect(App.config.getDefaultIsShowLabel.calledWith('pName', 'pFileName')).to.be.true;
+      expect(App.config.shouldSupportFinal.calledWith('pServiceName', 'pFileName')).to.be.true;
     });
   });