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/03/27 17:58:15 UTC
ambari git commit: AMBARI-10242 Overriding property affects other
properties overrided earlier. (ababiichuk)
Repository: ambari
Updated Branches:
refs/heads/trunk bfb586d85 -> 250c24399
AMBARI-10242 Overriding property affects other properties overrided earlier. (ababiichuk)
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/250c2439
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/250c2439
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/250c2439
Branch: refs/heads/trunk
Commit: 250c24399d3490a7bfcdc1ddbc9ac561e27c612a
Parents: bfb586d
Author: aBabiichuk <ab...@cybervisiontech.com>
Authored: Fri Mar 27 18:55:26 2015 +0200
Committer: aBabiichuk <ab...@cybervisiontech.com>
Committed: Fri Mar 27 18:55:26 2015 +0200
----------------------------------------------------------------------
.../controllers/main/service/info/configs.js | 54 +++++++++++---------
.../main/service/info/config_test.js | 13 +++--
2 files changed, 39 insertions(+), 28 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ambari/blob/250c2439/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 19179a0..670d06e 100644
--- a/ambari-web/app/controllers/main/service/info/configs.js
+++ b/ambari-web/app/controllers/main/service/info/configs.js
@@ -1120,16 +1120,18 @@ App.MainServiceInfoConfigsController = Em.Controller.extend(App.ServerValidatorM
setValuesForOverrides: function (overrides, _serviceConfigProperty, serviceConfigProperty, defaultGroupSelected) {
if (Em.isNone(overrides)) return;
overrides.forEach(function (override) {
- var newSCP = this.createNewSCP(override, _serviceConfigProperty, serviceConfigProperty, defaultGroupSelected);
- var parentOverridesArray = serviceConfigProperty.get('overrides');
- if (parentOverridesArray == null) {
- parentOverridesArray = Em.A([]);
- serviceConfigProperty.set('overrides', parentOverridesArray);
+ if (defaultGroupSelected || (Em.get(override, 'group') && this.get('selectedConfigGroup.name') === Em.get(override, 'group.name'))) {
+ var newSCP = this.createNewSCP(override, _serviceConfigProperty, serviceConfigProperty, defaultGroupSelected);
+ var parentOverridesArray = serviceConfigProperty.get('overrides');
+ if (parentOverridesArray == null) {
+ parentOverridesArray = Em.A([]);
+ serviceConfigProperty.set('overrides', parentOverridesArray);
+ }
+ parentOverridesArray.pushObject(newSCP);
+ serviceConfigProperty.set('overrideValues', parentOverridesArray.mapProperty('value'));
+ serviceConfigProperty.set('overrideIsFinalValues', parentOverridesArray.mapProperty('isFinal'));
+ console.debug("createOverrideProperty(): Added override to main-property:", serviceConfigProperty.get('name'));
}
- parentOverridesArray.pushObject(newSCP);
- serviceConfigProperty.set('overrideValues', parentOverridesArray.mapProperty('value'));
- serviceConfigProperty.set('overrideIsFinalValues', parentOverridesArray.mapProperty('isFinal'));
- console.debug("createOverrideProperty(): Added override to main-property:", serviceConfigProperty.get('name'));
}, this);
},
@@ -1148,8 +1150,9 @@ App.MainServiceInfoConfigsController = Em.Controller.extend(App.ServerValidatorM
newSCP.set('supportsFinal', serviceConfigProperty.get('supportsFinal'));
newSCP.set('isOriginalSCP', false); // indicated this is overridden value,
newSCP.set('parentSCP', serviceConfigProperty);
+ newSCP.set('overrides', null);
+ newSCP.set('group', Em.get(override, 'group'));
if (defaultGroupSelected) {
- newSCP.set('group', override.group);
newSCP.set('isEditable', false);
}
return newSCP;
@@ -2591,20 +2594,23 @@ App.MainServiceInfoConfigsController = Em.Controller.extend(App.ServerValidatorM
* @method addOverrideProperty
*/
addOverrideProperty: function (serviceConfigProperty, group, value) {
- var overrides = serviceConfigProperty.get('overrides');
- if (!overrides) {
- overrides = [];
- serviceConfigProperty.set('overrides', overrides);
- }
- // create new override with new value
- var newSCP = App.ServiceConfigProperty.create(serviceConfigProperty);
- newSCP.set('value', value || '');
- newSCP.set('isOriginalSCP', false); // indicated this is overridden value,
- newSCP.set('parentSCP', serviceConfigProperty);
- newSCP.set('isEditable', true);
- newSCP.set('group', group);
- console.debug("createOverrideProperty(): Added:", newSCP, " to main-property:", serviceConfigProperty);
- overrides.pushObject(newSCP);
+ if (serviceConfigProperty.get('isOriginalSCP')) {
+ var overrides = serviceConfigProperty.get('overrides');
+ if (!overrides) {
+ overrides = [];
+ serviceConfigProperty.set('overrides', overrides);
+ }
+ // create new override with new value
+ var newSCP = App.ServiceConfigProperty.create(serviceConfigProperty);
+ newSCP.set('value', value || '');
+ newSCP.set('isOriginalSCP', false); // indicated this is overridden value,
+ newSCP.set('parentSCP', serviceConfigProperty);
+ newSCP.set('isEditable', true);
+ newSCP.set('group', group);
+ newSCP.set('overrides', null);
+ console.debug("createOverrideProperty(): Added:", newSCP, " to main-property:", serviceConfigProperty);
+ overrides.pushObject(newSCP);
+ }
},
/**
http://git-wip-us.apache.org/repos/asf/ambari/blob/250c2439/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 9614e3a..e8a6e83 100644
--- a/ambari-web/test/controllers/main/service/info/config_test.js
+++ b/ambari-web/test/controllers/main/service/info/config_test.js
@@ -182,12 +182,13 @@ describe("App.MainServiceInfoConfigsController", function () {
describe("#addOverrideProperty", function () {
var serviceConfigProperty = Em.Object.create({
- overrides: []
+ overrides: [],
+ isOriginalSCP: true
});
var group = {};
var newSCP = App.ServiceConfigProperty.create(serviceConfigProperty);
- newSCP.set('value', '');
+ newSCP.set('value', '1');
newSCP.set('isOriginalSCP', false);
newSCP.set('parentSCP', serviceConfigProperty);
newSCP.set('isEditable', true);
@@ -195,8 +196,12 @@ describe("App.MainServiceInfoConfigsController", function () {
it("add new overridden property", function () {
- mainServiceInfoConfigsController.addOverrideProperty(serviceConfigProperty, group);
- expect(serviceConfigProperty.get("overrides")[0]).to.eql(newSCP);
+ mainServiceInfoConfigsController.addOverrideProperty(serviceConfigProperty, group, '1');
+ expect(serviceConfigProperty.get("overrides")[0].get('name')).to.equal(newSCP.get('name'));
+ expect(serviceConfigProperty.get("overrides")[0].get('isOriginalSCP')).to.be.false;
+ expect(serviceConfigProperty.get("overrides")[0].get('isEditable')).to.be.true;
+ expect(serviceConfigProperty.get("overrides")[0].get('group')).to.eql({});
+ expect(serviceConfigProperty.get("overrides")[0].get('parentSCP')).to.eql(serviceConfigProperty);
});
});