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/22 17:13:03 UTC
[3/3] ambari git commit: AMBARI-12066 Service Configs: config groups
list is not updated. (ababiichuk)
AMBARI-12066 Service Configs: config groups list is not updated. (ababiichuk)
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/c07374f6
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/c07374f6
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/c07374f6
Branch: refs/heads/trunk
Commit: c07374f64ef4e66ac3ce9a30e3608f3d85526529
Parents: 15a369b
Author: aBabiichuk <ab...@cybervisiontech.com>
Authored: Mon Jun 22 18:03:10 2015 +0300
Committer: aBabiichuk <ab...@cybervisiontech.com>
Committed: Mon Jun 22 18:03:10 2015 +0300
----------------------------------------------------------------------
.../service/manage_config_groups_controller.js | 4 ++
.../app/mappers/configs/config_groups_mapper.js | 53 +++++++++++---------
.../app/mixins/common/configs/configs_loader.js | 4 +-
.../main/service/configs/config_overridable.js | 2 +-
.../app/mixins/main/service/groups_mapping.js | 6 +--
5 files changed, 37 insertions(+), 32 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ambari/blob/c07374f6/ambari-web/app/controllers/main/service/manage_config_groups_controller.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/controllers/main/service/manage_config_groups_controller.js b/ambari-web/app/controllers/main/service/manage_config_groups_controller.js
index 0e66270..cdc2c6b 100644
--- a/ambari-web/app/controllers/main/service/manage_config_groups_controller.js
+++ b/ambari-web/app/controllers/main/service/manage_config_groups_controller.js
@@ -532,6 +532,10 @@ App.ManageConfigGroupsController = Em.Controller.extend(App.ConfigOverridable, {
this.set('selectedHosts', selectedConfigGroup.get('hosts'));
this.deleteHosts();
this.get('configGroups').removeObject(selectedConfigGroup);
+ var groupFromModel = App.ServiceConfigGroup.find().filterProperty('serviceName', selectedConfigGroup.get('service.serviceName')).findProperty('name', selectedConfigGroup.get('name'));
+ if (groupFromModel) {
+ App.configGroupsMapper.deleteRecord(groupFromModel);
+ }
this.set('selectedConfigGroup', this.get('configGroups').findProperty('isDefault'));
},
http://git-wip-us.apache.org/repos/asf/ambari/blob/c07374f6/ambari-web/app/mappers/configs/config_groups_mapper.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/mappers/configs/config_groups_mapper.js b/ambari-web/app/mappers/configs/config_groups_mapper.js
index 55b1185..ae6d049 100644
--- a/ambari-web/app/mappers/configs/config_groups_mapper.js
+++ b/ambari-web/app/mappers/configs/config_groups_mapper.js
@@ -47,7 +47,7 @@ App.configGroupsMapper = App.QuickDataMapper.create({
},
- map: function (json, mapFromVersions, serviceNames, skipDefault) {
+ map: function (json, mapFromVersions, serviceNames) {
if (serviceNames && serviceNames.length > 0) {
var configGroups = [];
@@ -61,7 +61,7 @@ App.configGroupsMapper = App.QuickDataMapper.create({
var hostNamesForService = {};
if (json && json.items) {
- json.items.forEach(function(configGroup) {
+ json.items.forEach(function (configGroup) {
if (configGroup.group_name != 'default') {
if (mapFromVersions) {
configGroup.id = configGroup.service_name + configGroup.group_id;
@@ -71,40 +71,43 @@ App.configGroupsMapper = App.QuickDataMapper.create({
configGroup.service_name = configGroup.ConfigGroup.tag;
}
- if (!skipDefault) {
- /**
- * creating (if not exists) field in <code>hostNamesForService<code> with host names for default group
- */
- if (!hostNamesForService[configGroup.service_name]) {
- hostNamesForService[configGroup.service_name] = $.merge([], App.get('allHostNames'));
- }
-
- /**
- * excluding host names that belongs for current config group from default group
- */
- configGroup.hosts.forEach(function(host) {
- hostNamesForService[configGroup.service_name].splice(hostNamesForService[configGroup.service_name].indexOf(host), 1);
- });
+ /**
+ * creating (if not exists) field in <code>hostNamesForService<code> with host names for default group
+ */
+ if (!hostNamesForService[configGroup.service_name]) {
+ hostNamesForService[configGroup.service_name] = $.merge([], App.get('allHostNames'));
}
+ /**
+ * excluding host names that belongs for current config group from default group
+ */
+ configGroup.hosts.forEach(function (host) {
+ hostNamesForService[configGroup.service_name].splice(hostNamesForService[configGroup.service_name].indexOf(host), 1);
+ });
var template = mapFromVersions ? this.get('config2') : this.get('config');
configGroups.push(this.parseIt(configGroup, template));
}
}, this);
}
- if (!skipDefault) {
- /**
- * generating default config groups
- */
- serviceNames.forEach(function(serviceName) {
+
+ /**
+ * generating default config groups
+ */
+ serviceNames.forEach(function (serviceName) {
+ var defaultGroup = App.ServiceConfigGroup.find().findProperty('id', serviceName + "0");
+ if (!defaultGroup) {
configGroups.push(this.generateDefaultGroup(serviceName, hostNamesForService[serviceName]));
- }, this);
- }
+ } else {
+ defaultGroup.set('hostNames', hostNamesForService[serviceName] || App.get('allHostNames'));
+ }
+ }, this);
+
configGroups.sort(function (configGroupA, configGroupB) {
return configGroupA.config_group_id == -1 || (configGroupA.name > configGroupB.name);
});
App.store.loadMany(this.get('model'), configGroups);
+ App.store.commit();
}
},
@@ -114,14 +117,14 @@ App.configGroupsMapper = App.QuickDataMapper.create({
* @param {string[]} [hostNames=null]
* @returns {{id: string, config_group_id: string, name: string, service_name: string, description: string, host_names: [string], service_id: string}}
*/
- generateDefaultGroup: function(serviceName, hostNames) {
+ generateDefaultGroup: function (serviceName, hostNames) {
var displayName = App.StackService.find(serviceName).get('displayName');
return {
id: serviceName + '0',
config_group_id: '-1',
name: displayName + ' Default',
service_name: serviceName,
- description: 'Default cluster level '+ displayName +' configuration',
+ description: 'Default cluster level ' + displayName + ' configuration',
host_names: hostNames ? hostNames : App.get('allHostNames'),
service_id: serviceName
}
http://git-wip-us.apache.org/repos/asf/ambari/blob/c07374f6/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 6b07d80..9f94fd9 100644
--- a/ambari-web/app/mixins/common/configs/configs_loader.js
+++ b/ambari-web/app/mixins/common/configs/configs_loader.js
@@ -79,7 +79,7 @@ App.ConfigsLoader = Em.Mixin.create(App.GroupsMappingMixin, {
if (this.get('preSelectedConfigVersion')) {
/** handling redirecting from config history page **/
var self = this;
- this.loadConfigGroups(this.get('servicesToLoad'), false).done(function() {
+ this.loadConfigGroups(this.get('servicesToLoad')).done(function() {
var selectedGroup = App.ServiceConfigGroup.find().find(function(g) {
return g.get('serviceName') == self.get('preSelectedConfigVersion.serviceName')
&& (g.get('name') == self.get('preSelectedConfigVersion.groupName') || (self.get('preSelectedConfigVersion.groupName') == 'default' && g.get('isDefault')));
@@ -121,7 +121,7 @@ App.ConfigsLoader = Em.Mixin.create(App.GroupsMappingMixin, {
App.configGroupsMapper.map(data, true, params.serviceNames.split(','));
this.set('selectedConfigGroup', App.ServiceConfigGroup.find().filterProperty('serviceName', this.get('content.serviceName')).findProperty('isDefault'));
this.parseConfigData(data);
- this.loadConfigGroups(params.serviceNames.split(','), true);
+ this.loadConfigGroups(params.serviceNames.split(','));
},
/**
http://git-wip-us.apache.org/repos/asf/ambari/blob/c07374f6/ambari-web/app/mixins/main/service/configs/config_overridable.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/mixins/main/service/configs/config_overridable.js b/ambari-web/app/mixins/main/service/configs/config_overridable.js
index 61eeb3d..a93f2e9 100644
--- a/ambari-web/app/mixins/main/service/configs/config_overridable.js
+++ b/ambari-web/app/mixins/main/service/configs/config_overridable.js
@@ -445,7 +445,7 @@ App.ConfigOverridable = Em.Mixin.create({
}),
onPrimary:function() {
if (self.get('controller.name') == 'mainServiceInfoConfigsController') {
- self.get('controller').loadConfigGroups([self.get('content.serviceName')], true).done(function() {
+ self.get('controller').loadConfigGroups([self.get('content.serviceName')]).done(function() {
var group = App.ServiceConfigGroup.find().find(function(g) {
return g.get('serviceName') == self.get('content.serviceName') && g.get('name') == groupName;
});
http://git-wip-us.apache.org/repos/asf/ambari/blob/c07374f6/ambari-web/app/mixins/main/service/groups_mapping.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/mixins/main/service/groups_mapping.js b/ambari-web/app/mixins/main/service/groups_mapping.js
index dbbf5ed..93a760d 100644
--- a/ambari-web/app/mixins/main/service/groups_mapping.js
+++ b/ambari-web/app/mixins/main/service/groups_mapping.js
@@ -28,11 +28,10 @@ App.GroupsMappingMixin = Em.Mixin.create({
/**
* Load config groups
* @param {String[]} serviceNames
- * @param skipDefault
* @returns {$.Deferred()}
* @method loadConfigGroups
*/
- loadConfigGroups: function (serviceNames, skipDefault) {
+ loadConfigGroups: function (serviceNames) {
var dfd = $.Deferred();
if (!serviceNames || serviceNames.length === 0) {
dfd.resolve();
@@ -42,7 +41,6 @@ App.GroupsMappingMixin = Em.Mixin.create({
sender: this,
data: {
serviceNames: serviceNames.join(','),
- skipDefault: skipDefault,
dfd: dfd
},
success: 'saveConfigGroupsToModel'
@@ -59,7 +57,7 @@ App.GroupsMappingMixin = Em.Mixin.create({
* @method saveConfigGroupsToModel
*/
saveConfigGroupsToModel: function (data, opt, params) {
- App.configGroupsMapper.map(data, false, params.serviceNames.split(','), params.skipDefault);
+ App.configGroupsMapper.map(data, false, params.serviceNames.split(','));
params.dfd.resolve();
}