Selaa lähdekoodia

AMBARI-13787. Move config_property_helper to the App.* namespace (onechiporenko)

Oleg Nechiporenko 10 vuotta sitten
vanhempi
commit
da8ca2ae38

+ 1 - 1
ambari-web/app/assets/test/tests.js

@@ -181,7 +181,7 @@ var files = [
   'test/utils/ui_effects_test',
   'test/utils/updater_test',
   'test/utils/configs/database_test',
-  'test/utils/configs/config_property_helper_test',
+  'test/utils/configs/config_initializer_test',
   'test/utils/configs/modification_handlers/modification_handler_test',
   'test/utils/configs/modification_handlers/misc_test',
   'test/utils/load_timer_test',

+ 2 - 3
ambari-web/app/controllers/wizard/slave_component_groups_controller.js

@@ -16,7 +16,6 @@
  * limitations under the License.
  */
 var App = require('app');
-var configPropertyHelper = require('utils/configs/config_property_helper');
 /**
  * Used to manage slave component config. User could create different settings for separate group
  * @type {*}
@@ -102,10 +101,10 @@ App.SlaveComponentGroupsController = Em.ArrayController.extend({
 
       switch(serviceConfigProperty.name){
         case 'dfs_data_dir' :
-          configPropertyHelper.initialValue(serviceConfigProperty);
+          App.ConfigInitializer.initialValue(serviceConfigProperty);
           break;
         case 'mapred_local_dir' :
-          configPropertyHelper.initialValue(serviceConfigProperty);
+          App.ConfigInitializer.initialValue(serviceConfigProperty);
           break;
       }
       configs.pushObject(serviceConfigProperty);

+ 2 - 2
ambari-web/app/controllers/wizard/step7_controller.js

@@ -17,7 +17,7 @@
  */
 
 var App = require('app');
-var configPropertyHelper = require('utils/configs/config_property_helper');
+
 /**
  * By Step 7, we have the following information stored in App.db and set on this
  * controller by the router.
@@ -864,7 +864,7 @@ App.WizardStep7Controller = Em.Controller.extend(App.ServerValidatorMixin, App.E
         var serviceConfigProperty = App.ServiceConfigProperty.create(_config);
         this.updateHostOverrides(serviceConfigProperty, _config);
         if (!storedConfigs && !serviceConfigProperty.get('hasInitialValue')) {
-          configPropertyHelper.initialValue(serviceConfigProperty, localDB, dependencies);
+          App.ConfigInitializer.initialValue(serviceConfigProperty, localDB, dependencies);
         }
         serviceConfigProperty.validate();
         configsByService.pushObject(serviceConfigProperty);

+ 1 - 0
ambari-web/app/initialize.js

@@ -34,6 +34,7 @@ require('utils/base64');
 require('utils/db');
 require('utils/helper');
 require('utils/config');
+require('utils/configs/config_initializer');
 require('mixins');
 require('models');
 require('controllers');

+ 12 - 9
ambari-web/app/utils/configs/config_property_helper.js → ambari-web/app/utils/configs/config_initializer.js

@@ -211,7 +211,7 @@ function getMultipleMountPointsConfig(components, winReplacer) {
  * Map with configurations for config initializers
  * It's used only for initializers which are common for some configs (if not - use <code>uniqueInitializers</code>-map)
  * Key {string} configProperty-name
- * Value {object} settings for initializer
+ * Value {object|object[]} settings for initializer
  *
  * @type {object}
  */
@@ -328,7 +328,7 @@ var uniqueInitializers = {
  *
  * @type {object}
  */
-module.exports = {
+App.ConfigInitializer = Em.Object.create({
 
   /**
    * Wrapper for common initializers
@@ -342,14 +342,17 @@ module.exports = {
    */
   _defaultInitializer: function (configProperty, localDB, dependencies) {
     var args = [].slice.call(arguments);
+    var self = this;
     var initializer = initializers[configProperty.get('name')];
     if (initializer) {
-      var type = initializerTypes[initializer.type];
-      // add initializer-settings
-      args.push(initializer);
-      var methodName = type.method;
-      Em.assert('method-initializer is not a function ' + methodName, 'function' === Em.typeOf(this[methodName]));
-      configProperty = this[methodName].apply(this, args);
+      Em.makeArray(initializer).forEach(function (init) {
+        var type = initializerTypes[init.type];
+        // add initializer-settings
+        args.push(init);
+        var methodName = type.method;
+        Em.assert('method-initializer is not a function ' + methodName, 'function' === Em.typeOf(self[methodName]));
+        configProperty = self[methodName].apply(self, args);
+      });
     }
     return configProperty;
   },
@@ -902,4 +905,4 @@ module.exports = {
     Em.assert('Available only for testing', false);
   }
 
-};
+});

+ 2 - 3
ambari-web/test/controllers/wizard/slave_component_groups_controller.js

@@ -21,7 +21,6 @@ var App = require('app');
 require('utils/helper');
 require('controllers/wizard/slave_component_groups_controller');
 
-var configPropertyHelper = require('utils/configs/config_property_helper');
 var controller;
 describe('App.SlaveComponentGroupsController', function () {
 
@@ -228,12 +227,12 @@ describe('App.SlaveComponentGroupsController', function () {
           });
         }
       });
-      sinon.stub(configPropertyHelper, 'initialValue', Em.K);
+      sinon.stub(App.ConfigInitializer, 'initialValue', Em.K);
     });
     afterEach(function () {
       App.ServiceConfigProperty.create.restore();
       App.config.get.restore();
-      configPropertyHelper.initialValue.restore();
+      App.ConfigInitializer.initialValue.restore();
     });
     it('should return created config', function () {
       var res = JSON.parse(JSON.stringify(controller.componentProperties('HBASE')));

+ 0 - 1
ambari-web/test/models/configs/objects/service_config_category_test.js

@@ -18,7 +18,6 @@
  */
 
 var App = require('app');
-var configPropertyHelper = require('utils/configs/config_property_helper');
 
 require('models/configs/objects/service_config_category');
 require('models/configs/objects/service_config_property');

+ 0 - 1
ambari-web/test/models/configs/objects/service_config_property_test.js

@@ -17,7 +17,6 @@
  */
 
 var App = require('app');
-var configPropertyHelper = require('utils/configs/config_property_helper');
 
 require('models/configs/objects/service_config_category');
 require('models/configs/objects/service_config_property');

+ 0 - 1
ambari-web/test/models/configs/objects/service_config_test.js

@@ -17,7 +17,6 @@
  */
 
 var App = require('app');
-var configPropertyHelper = require('utils/configs/config_property_helper');
 
 require('models/configs/objects/service_config');
 

+ 21 - 21
ambari-web/test/utils/configs/config_property_helper_test.js → ambari-web/test/utils/configs/config_initializer_test.js

@@ -17,9 +17,9 @@
  */
 
 var App = require('app');
-var configPropertyHelper = require('utils/configs/config_property_helper');
 
 require('models/configs/objects/service_config_property');
+require('utils/configs/config_initializer');
 
 var serviceConfig,
   group,
@@ -78,7 +78,7 @@ var serviceConfig,
   masters = components.filterProperty('master'),
   slaves = components.filterProperty('slave');
 
-describe('configPropertyHelper', function () {
+describe('App.ConfigInitializer', function () {
 
   beforeEach(function () {
     serviceConfigProperty = App.ServiceConfigProperty.create();
@@ -87,7 +87,7 @@ describe('configPropertyHelper', function () {
   describe('#setRecommendedValue', function () {
     it('should change the recommended value', function () {
       serviceConfigProperty.set('recommendedValue', 'value0');
-      configPropertyHelper.setRecommendedValue(serviceConfigProperty, /\d/, '1');
+      App.ConfigInitializer.setRecommendedValue(serviceConfigProperty, /\d/, '1');
       expect(serviceConfigProperty.get('recommendedValue')).to.equal('value1');
     });
   });
@@ -342,7 +342,7 @@ describe('configPropertyHelper', function () {
           name: 'kafka.ganglia.metrics.host',
           value: 'localhost'
         });
-        configPropertyHelper.initialValue(serviceConfigProperty, item.localDB, []);
+        App.ConfigInitializer.initialValue(serviceConfigProperty, item.localDB, []);
         expect(serviceConfigProperty.get('value')).to.equal(item.expected);
       });
     });
@@ -359,7 +359,7 @@ describe('configPropertyHelper', function () {
           value: item.receivedValue,
           options: item.options
         });
-        configPropertyHelper.initialValue(serviceConfigProperty, {}, []);
+        App.ConfigInitializer.initialValue(serviceConfigProperty, {}, []);
         expect(serviceConfigProperty.get('value')).to.equal(item.value);
         expect(serviceConfigProperty.get('options').findProperty('displayName', 'New MySQL Database').hidden).to.equal(item.hidden);
         App.get.restore();
@@ -373,7 +373,7 @@ describe('configPropertyHelper', function () {
           value: 'localhost',
           'filename': item.filename
         });
-        configPropertyHelper.initialValue(serviceConfigProperty, {
+        App.ConfigInitializer.initialValue(serviceConfigProperty, {
           masterComponentHosts: {
             filterProperty: function () {
               return {
@@ -391,7 +391,7 @@ describe('configPropertyHelper', function () {
 
     it(cases['hive_master_hosts'].title, function () {
       serviceConfigProperty.set('name', 'hive_master_hosts');
-      configPropertyHelper.initialValue(serviceConfigProperty, cases['hive_master_hosts'].localDB, []);
+      App.ConfigInitializer.initialValue(serviceConfigProperty, cases['hive_master_hosts'].localDB, []);
       expect(serviceConfigProperty.get('value')).to.equal(cases['hive_master_hosts'].value);
     });
 
@@ -400,7 +400,7 @@ describe('configPropertyHelper', function () {
         name: 'hive.metastore.uris',
         recommendedValue: cases['hive.metastore.uris'].recommendedValue
       });
-      configPropertyHelper.initialValue(serviceConfigProperty, cases['hive.metastore.uris'].localDB, {'hive.metastore.uris': cases['hive.metastore.uris'].recommendedValue});
+      App.ConfigInitializer.initialValue(serviceConfigProperty, cases['hive.metastore.uris'].localDB, {'hive.metastore.uris': cases['hive.metastore.uris'].recommendedValue});
       expect(serviceConfigProperty.get('value')).to.equal(cases['hive.metastore.uris'].value);
       expect(serviceConfigProperty.get('recommendedValue')).to.equal(cases['hive.metastore.uris'].value);
     });
@@ -411,7 +411,7 @@ describe('configPropertyHelper', function () {
         recommendedValue: cases['templeton.hive.properties'].recommendedValue,
         value: cases['templeton.hive.properties'].recommendedValue
       });
-      configPropertyHelper.initialValue(serviceConfigProperty, cases['templeton.hive.properties'].localDB,  {'hive.metastore.uris': cases['templeton.hive.properties'].recommendedValue});
+      App.ConfigInitializer.initialValue(serviceConfigProperty, cases['templeton.hive.properties'].localDB,  {'hive.metastore.uris': cases['templeton.hive.properties'].recommendedValue});
       expect(serviceConfigProperty.get('value')).to.equal(cases['templeton.hive.properties'].value);
       expect(serviceConfigProperty.get('recommendedValue')).to.equal(cases['templeton.hive.properties'].value);
     });
@@ -421,7 +421,7 @@ describe('configPropertyHelper', function () {
         name: 'yarn.resourcemanager.zk-address',
         recommendedValue: cases['yarn.resourcemanager.zk-address'].recommendedValue
       });
-      configPropertyHelper.initialValue(serviceConfigProperty, cases['yarn.resourcemanager.zk-address'].localDB,  cases['yarn.resourcemanager.zk-address'].dependencies);
+      App.ConfigInitializer.initialValue(serviceConfigProperty, cases['yarn.resourcemanager.zk-address'].localDB,  cases['yarn.resourcemanager.zk-address'].dependencies);
       expect(serviceConfigProperty.get('value')).to.equal(cases['yarn.resourcemanager.zk-address'].value);
       expect(serviceConfigProperty.get('recommendedValue')).to.equal(cases['yarn.resourcemanager.zk-address'].value);
     });
@@ -803,7 +803,7 @@ describe('configPropertyHelper', function () {
           recommendedValue: test.rValue,
           filename: test.filename
         });
-        configPropertyHelper.initialValue(serviceConfigProperty, test.localDB, test.dependencies);
+        App.ConfigInitializer.initialValue(serviceConfigProperty, test.localDB, test.dependencies);
         expect(serviceConfigProperty.get('value')).to.eql(test.expectedValue);
         if (Em.isNone(test.expectedRValue)) {
           expect(serviceConfigProperty.get('recommendedValue')).to.eql(test.expectedValue);
@@ -891,7 +891,7 @@ describe('configPropertyHelper', function () {
 
     cases.forEach(function (item) {
       it(item.title, function () {
-        expect(configPropertyHelper.getHiveMetastoreUris(item.hosts, item.recommendedValue)).to.equal(item.expected);
+        expect(App.ConfigInitializer.getHiveMetastoreUris(item.hosts, item.recommendedValue)).to.equal(item.expected);
       });
     });
 
@@ -1195,7 +1195,7 @@ describe('configPropertyHelper', function () {
           name: item.name,
           recommendedValue: '/default'
         });
-        configPropertyHelper.initialValue(serviceConfigProperty, localDB, {});
+        App.ConfigInitializer.initialValue(serviceConfigProperty, localDB, {});
         expect(serviceConfigProperty.get('value')).to.equal(item.value);
         expect(serviceConfigProperty.get('recommendedValue')).to.equal(item.value);
       });
@@ -1204,21 +1204,21 @@ describe('configPropertyHelper', function () {
   });
 
   describe('initializerTypes', function () {
-    var types = configPropertyHelper.__testGetInitializerTypes();
+    var types = App.ConfigInitializer.__testGetInitializerTypes();
     Em.keys(types).forEach(function(type) {
       it(type, function() {
         var methodName = types[type].method;
         expect(methodName).to.be.a.string;
         expect(methodName).to.have.length.above(0);
-        expect(configPropertyHelper[methodName]).to.be.a.function;
+        expect(App.ConfigInitializer[methodName]).to.be.a.function;
       });
     });
   });
 
   describe('initializers', function () {
 
-    var initializers = configPropertyHelper.__testGetInitializers();
-    var types = configPropertyHelper.__testGetInitializerTypes();
+    var initializers = App.ConfigInitializer.__testGetInitializers();
+    var types = App.ConfigInitializer.__testGetInitializerTypes();
     var typeNames = Em.keys(types);
 
     Em.keys(initializers).forEach(function (configName) {
@@ -1232,7 +1232,7 @@ describe('configPropertyHelper', function () {
 
   describe('uniqueInitializers', function () {
 
-    var uniqueInitializers = configPropertyHelper.__testGetUniqueInitializers();
+    var uniqueInitializers = App.ConfigInitializer.__testGetUniqueInitializers();
     var uniqueInitializersNames = Em.keys(uniqueInitializers).map(function (key) {
       return uniqueInitializers[key];
     });
@@ -1243,7 +1243,7 @@ describe('configPropertyHelper', function () {
 
     uniqueInitializersNames.forEach(function (name) {
       it(name, function () {
-        expect(configPropertyHelper[name]).to.be.a.function;
+        expect(App.ConfigInitializer[name]).to.be.a.function;
       });
     });
 
@@ -1251,7 +1251,7 @@ describe('configPropertyHelper', function () {
 
   describe('winReplacersMap', function () {
 
-    var winReplacersMap = configPropertyHelper.__testGetWinReplacersMap();
+    var winReplacersMap = App.ConfigInitializer.__testGetWinReplacersMap();
     var winReplacerNames = Em.keys(winReplacersMap).map(function (key) {
       return winReplacersMap[key];
     });
@@ -1262,7 +1262,7 @@ describe('configPropertyHelper', function () {
 
     winReplacerNames.forEach(function (name) {
       it(name, function () {
-        expect(configPropertyHelper[name]).to.be.a.function;
+        expect(App.ConfigInitializer[name]).to.be.a.function;
       });
     });