You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by ak...@apache.org on 2013/11/15 18:48:23 UTC
git commit: AMBARI-3776. Non-default config-group configs should have
+Exception action. (akovalenko)
Updated Branches:
refs/heads/trunk 68eef9663 -> 3b433e7ed
AMBARI-3776. Non-default config-group configs should have +Exception action. (akovalenko)
Project: http://git-wip-us.apache.org/repos/asf/incubator-ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ambari/commit/3b433e7e
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ambari/tree/3b433e7e
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ambari/diff/3b433e7e
Branch: refs/heads/trunk
Commit: 3b433e7ed13d22144efcf19d0f7a3f64915f23ad
Parents: 68eef96
Author: Aleksandr Kovalenko <ol...@ukr.net>
Authored: Fri Nov 15 19:45:01 2013 +0200
Committer: Aleksandr Kovalenko <ol...@ukr.net>
Committed: Fri Nov 15 19:45:01 2013 +0200
----------------------------------------------------------------------
ambari-web/app/models/service_config.js | 11 ++--
.../app/views/common/configs/services_config.js | 62 ++++++++++----------
2 files changed, 38 insertions(+), 35 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ambari/blob/3b433e7e/ambari-web/app/models/service_config.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/models/service_config.js b/ambari-web/app/models/service_config.js
index a410b7c..a4094d8 100644
--- a/ambari-web/app/models/service_config.js
+++ b/ambari-web/app/models/service_config.js
@@ -176,12 +176,13 @@ App.ServiceConfigProperty = Ember.Object.extend({
* No override capabilities for fields which are not edtiable
* and fields which represent master hosts.
*/
- isPropertyOverridable : function() {
+ isPropertyOverridable: function () {
var overrideable = this.get('isOverridable');
- var editable = this.get('isEditable');
- var dt = this.get('displayType');
- return overrideable && editable && ("masterHost"!=dt);
- }.property('isEditable', 'displayType', 'isOverridable'),
+ var editable = this.get('isEditable');
+ var overrides = this.get('overrides');
+ var dt = this.get('displayType');
+ return overrideable && (editable || !overrides || !overrides.length) && ("masterHost" != dt);
+ }.property('isEditable', 'displayType', 'isOverridable', 'overrides.length'),
isOverridden: function() {
var overrides = this.get('overrides');
return (overrides != null && overrides.get('length')>0) || !this.get('isOriginalSCP');
http://git-wip-us.apache.org/repos/asf/incubator-ambari/blob/3b433e7e/ambari-web/app/views/common/configs/services_config.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/views/common/configs/services_config.js b/ambari-web/app/views/common/configs/services_config.js
index aecff2d..0ffd5bf 100644
--- a/ambari-web/app/views/common/configs/services_config.js
+++ b/ambari-web/app/views/common/configs/services_config.js
@@ -487,37 +487,39 @@ App.ServiceConfigsByCategoryView = Ember.View.extend({
},
createOverrideProperty: function (event) {
- var serviceConfigController = this.get('controller');
var serviceConfigProperty = event.contexts[0];
- // Launch dialog to pick/create Config-group
- var serviceConfigGroups = serviceConfigController.get('configGroups');
- App.config.launchConfigGroupSelectionCreationDialog(this.get('service.serviceName'),
- serviceConfigGroups, function(selectedConfigGroup){
- console.log("launchConfigGroupSelectionCreationDialog(): Selected/Created:", selectedConfigGroup);
- if (selectedConfigGroup) {
- serviceConfigController.set('selectedConfigGroup', selectedConfigGroup);
- // TODO - show configurations for this new config-group
-// 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', '');
-// newSCP.set('isOriginalSCP', false); // indicated this is overridden value,
-// newSCP.set('parentSCP', serviceConfigProperty);
-// newSCP.set('selectedHostOptions', Ember.A([]));
-// console.debug("createOverrideProperty(): Added:", newSCP, " to main-property:", serviceConfigProperty);
-// overrides.pushObject(newSCP);
-//
-// // Launch override window
-// var dummyEvent = {contexts: [newSCP]};
-// this.showOverrideWindow(dummyEvent);
- } else {
- // Cancelled dialog
- }
- });
+ var self = this;
+ var serviceConfigController = this.get('controller');
+ var selectedConfigGroup = serviceConfigController.get('selectedConfigGroup');
+ if (selectedConfigGroup.get('isDefault')) {
+ // Launch dialog to pick/create Config-group
+ App.config.launchConfigGroupSelectionCreationDialog(this.get('service.serviceName'),
+ serviceConfigController.get('configGroups'), function (selectedGroupInPopup) {
+ console.log("launchConfigGroupSelectionCreationDialog(): Selected/Created:", selectedGroupInPopup);
+ if (selectedGroupInPopup) {
+ serviceConfigController.set('selectedConfigGroup', selectedGroupInPopup);
+ self.addOverrideProperty(serviceConfigProperty);
+ }
+ });
+ } else {
+ this.addOverrideProperty(serviceConfigProperty);
+ }
+ },
+
+ addOverrideProperty: function(serviceConfigProperty) {
+ 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', '');
+ newSCP.set('isOriginalSCP', false); // indicated this is overridden value,
+ newSCP.set('parentSCP', serviceConfigProperty);
+ newSCP.set('isEditable', true);
+ console.debug("createOverrideProperty(): Added:", newSCP, " to main-property:", serviceConfigProperty);
+ overrides.pushObject(newSCP);
},
showOverrideWindow: function (event) {