Author: srimanth
Date: Thu Apr 11 21:01:25 2013
New Revision: 1467083
URL: http://svn.apache.org/r1467083
Log:
AMBARI-1894. Refactor configs of Capacity Scheduler category. (srimanth)
Modified:
incubator/ambari/trunk/CHANGES.txt
incubator/ambari/trunk/ambari-web/app/controllers/main/service/info/configs.js
incubator/ambari/trunk/ambari-web/app/controllers/wizard/step7_controller.js
incubator/ambari/trunk/ambari-web/app/utils/config.js
Modified: incubator/ambari/trunk/CHANGES.txt
URL:
http://svn.apache.org/viewvc/incubator/ambari/trunk/CHANGES.txt?rev=1467083&r1=1467082&r2=1467083&view=diff
==============================================================================
--- incubator/ambari/trunk/CHANGES.txt (original)
+++ incubator/ambari/trunk/CHANGES.txt Thu Apr 11 21:01:25 2013
@@ -690,6 +690,8 @@ Trunk (unreleased changes):
BUG FIXES
+ AMBARI-1894. Refactor configs of Capacity Scheduler category. (srimanth)
+
AMBARI-1893. Parsing new alerts format fails. (srimanth)
AMBARI-1891. Impossibility to scroll metric window after browser width
Modified:
incubator/ambari/trunk/ambari-web/app/controllers/main/service/info/configs.js
URL:
http://svn.apache.org/viewvc/incubator/ambari/trunk/ambari-web/app/controllers/main/service/info/configs.js?rev=1467083&r1=1467082&r2=1467083&view=diff
==============================================================================
---
incubator/ambari/trunk/ambari-web/app/controllers/main/service/info/configs.js
(original)
+++
incubator/ambari/trunk/ambari-web/app/controllers/main/service/info/configs.js
Thu Apr 11 21:01:25 2013
@@ -423,9 +423,8 @@ App.MainServiceInfoConfigsController = E
//var serviceConfigs = this.getSitesConfigProperties(advancedConfigs);
var configs = configSet.configs;
- //put global configs into globalConfigs to save them separetely
+ //put global configs into globalConfigs to save them separately
this.set('globalConfigs', configSet.globalConfigs);
- this.set('customConfig', configSet.customConfigs);
//STEP 6: add advanced configs
App.config.addAdvancedConfigs(configs, advancedConfigs, serviceName);
Modified:
incubator/ambari/trunk/ambari-web/app/controllers/wizard/step7_controller.js
URL:
http://svn.apache.org/viewvc/incubator/ambari/trunk/ambari-web/app/controllers/wizard/step7_controller.js?rev=1467083&r1=1467082&r2=1467083&view=diff
==============================================================================
---
incubator/ambari/trunk/ambari-web/app/controllers/wizard/step7_controller.js
(original)
+++
incubator/ambari/trunk/ambari-web/app/controllers/wizard/step7_controller.js
Thu Apr 11 21:01:25 2013
@@ -75,7 +75,7 @@ App.WizardStep7Controller = Em.Controlle
//STEP 2: Load on-site configs by service from local DB
var storedConfigs = this.get('content.serviceConfigProperties');
//STEP 3: Merge pre-defined configs with loaded on-site configs
- var configs = App.config.mergePreDefinedWithStored(storedConfigs);
+ var configs = App.config.mergePreDefinedWithStored(storedConfigs,
advancedConfigs);
//STEP 4: Add advanced configs
App.config.addAdvancedConfigs(configs, advancedConfigs);
//STEP 5: Add custom configs
Modified: incubator/ambari/trunk/ambari-web/app/utils/config.js
URL:
http://svn.apache.org/viewvc/incubator/ambari/trunk/ambari-web/app/utils/config.js?rev=1467083&r1=1467082&r2=1467083&view=diff
==============================================================================
--- incubator/ambari/trunk/ambari-web/app/utils/config.js (original)
+++ incubator/ambari/trunk/ambari-web/app/utils/config.js Thu Apr 11 21:01:25
2013
@@ -30,6 +30,8 @@ App.config = Em.Object.create({
preDefinedCustomConfigs: require('data/custom_configs'),
//categories which contain custom configs
categoriesWithCustom: ['CapacityScheduler'],
+ //configs with these filenames go to appropriate category not in Advanced
+ customFileNames: ['capacity-scheduler.xml', 'mapred-queue-acls.xml'],
/**
* Cache of loaded configurations. This is useful in not loading
* same configuration multiple times. It is populated in multiple
@@ -78,11 +80,11 @@ App.config = Em.Object.create({
mergePreDefinedWithLoaded: function (configGroups, advancedConfigs, tags,
serviceName) {
var configs = [];
var globalConfigs = [];
- var customConfigs = [];
var preDefinedConfigs = this.get('preDefinedConfigProperties');
var mappingConfigs = [];
tags.forEach(function (_tag) {
+ var isAdvanced = null;
var properties = configGroups.filter(function (serviceConfigProperties) {
return _tag.tagName === serviceConfigProperties.tag && _tag.siteName
=== serviceConfigProperties.type;
});
@@ -137,19 +139,20 @@ App.config = Em.Object.create({
serviceConfigObj.options = configsPropertyDef ?
configsPropertyDef.options : null;
globalConfigs.push(serviceConfigObj);
} else if (!this.get('configMapping').computed().someProperty('name',
index)) {
+ isAdvanced = advancedConfigs.someProperty('name', index);
serviceConfigObj.id = 'site property';
serviceConfigObj.displayType = 'advanced';
serviceConfigObj.displayName = configsPropertyDef ?
configsPropertyDef.displayName : index;
serviceConfigObj.serviceName = serviceName;
- if (advancedConfigs.someProperty('name', index)) {
- serviceConfigObj.category = 'Advanced';
- serviceConfigObj.filename = advancedConfigs.findProperty('name',
index).filename;
- } else {
+ if (!isAdvanced ||
this.get('customFileNames').contains(serviceConfigObj.filename)) {
var categoryMetaData = this.identifyCategory(serviceConfigObj);
if (categoryMetaData != null) {
serviceConfigObj.category = categoryMetaData.get('name');
- serviceConfigObj.isUserProperty = true;
+ if(!isAdvanced) serviceConfigObj.isUserProperty = true;
}
+ } else {
+ serviceConfigObj.category = 'Advanced';
+ serviceConfigObj.filename = isAdvanced &&
advancedConfigs.findProperty('name', index).filename;
}
configs.push(serviceConfigObj);
} else {
@@ -160,63 +163,71 @@ App.config = Em.Object.create({
return {
configs: configs,
globalConfigs: globalConfigs,
- mappingConfigs: mappingConfigs,
- customConfigs: customConfigs
+ mappingConfigs: mappingConfigs
}
},
/**
* merge stored configs with pre-defined
* @param storedConfigs
+ * @param advancedConfigs
* @return {*}
*/
- mergePreDefinedWithStored: function (storedConfigs) {
+ mergePreDefinedWithStored: function (storedConfigs, advancedConfigs) {
var mergedConfigs = [];
var preDefinedConfigs = $.extend(true, [],
this.get('preDefinedConfigProperties'));
var preDefinedNames = [];
var storedNames = [];
var names = [];
+ var categoryMetaData = null;
+ storedConfigs = (storedConfigs) ? storedConfigs : [];
- if (storedConfigs) {
- preDefinedNames =
this.get('preDefinedConfigProperties').mapProperty('name');
- storedNames = storedConfigs.mapProperty('name');
- names = preDefinedNames.concat(storedNames).uniq();
- names.forEach(function (name) {
- var stored = storedConfigs.findProperty('name', name);
- var preDefined = preDefinedConfigs.findProperty('name', name);
- var configData = {};
- var configCategory = 'Advanced';
- if (preDefined && stored) {
- configData = preDefined;
- configData.value = stored.value;
- configData.overrides = stored.overrides;
- } else if (!preDefined && stored) {
- var categoryMetaData = this.identifyCategory(stored);
+ preDefinedNames =
this.get('preDefinedConfigProperties').mapProperty('name');
+ storedNames = storedConfigs.mapProperty('name');
+ names = preDefinedNames.concat(storedNames).uniq();
+ names.forEach(function (name) {
+ var stored = storedConfigs.findProperty('name', name);
+ var preDefined = preDefinedConfigs.findProperty('name', name);
+ var configData = {};
+ var configCategory = 'Advanced';
+ var isAdvanced = advancedConfigs.someProperty('name', name);
+ if (preDefined && stored) {
+ configData = preDefined;
+ configData.value = stored.value;
+ configData.overrides = stored.overrides;
+ if (isAdvanced) {
+ configData.category = (configData.category === undefined) ?
configCategory : configData.category;
+ }
+ } else if (!preDefined && stored) {
+ configData = {
+ id: stored.id,
+ name: stored.name,
+ displayName: stored.name,
+ serviceName: stored.serviceName,
+ value: stored.value,
+ defaultValue: stored.defaultValue,
+ displayType: "advanced",
+ filename: stored.filename,
+ category: configCategory,
+ isUserProperty: stored.isUserProperty === true,
+ isOverridable: true,
+ overrides: stored.overrides
+ }
+ if (!isAdvanced ||
this.get('customFileNames').contains(configData.filename)) {
+ var categoryMetaData = this.identifyCategory(configData);
if (categoryMetaData != null) {
- configCategory = categoryMetaData.get('name');
+ configData.category = categoryMetaData.get('name');
+ if(!isAdvanced) configData.isUserProperty = true;
}
- configData = {
- id: stored.id,
- name: stored.name,
- displayName: stored.name,
- serviceName: stored.serviceName,
- value: stored.value,
- defaultValue: stored.defaultValue,
- displayType: "advanced",
- filename: stored.filename,
- category: configCategory,
- isUserProperty: true,
- isOverridable: true,
- overrides: stored.overrides
- }
- } else if (preDefined && !stored) {
- configData = preDefined;
}
- mergedConfigs.push(configData);
- }, this);
- } else {
- return preDefinedConfigs;
- }
+ } else if (preDefined && !stored) {
+ configData = preDefined;
+ if (isAdvanced) {
+ configData.category = (configData.category === undefined) ?
configCategory : configData.category;
+ }
+ }
+ mergedConfigs.push(configData);
+ }, this);
return mergedConfigs;
},
/**
@@ -228,14 +239,17 @@ App.config = Em.Object.create({
*/
addAdvancedConfigs: function (serviceConfigs, advancedConfigs, serviceName) {
serviceConfigs = (serviceName) ?
serviceConfigs.filterProperty('serviceName', serviceName) : serviceConfigs;
- var configCategory = 'Advanced';
advancedConfigs.forEach(function (_config) {
+ var configCategory = 'Advanced';
+ var categoryMetaData = null;
if (_config) {
if (this.get('configMapping').computed().someProperty('name',
_config.name)) {
} else if (!(serviceConfigs.someProperty('name', _config.name))) {
- var categoryMetaData = this.identifyCategory(_config);
- if (categoryMetaData != null) {
- configCategory = categoryMetaData.get('name');
+ if(this.get('customFileNames').contains(_config.filename)){
+ categoryMetaData = this.identifyCategory(_config);
+ if (categoryMetaData != null) {
+ configCategory = categoryMetaData.get('name');
+ }
}
_config.id = "site property";
_config.category = configCategory;