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 2016/04/13 12:43:42 UTC
ambari git commit: AMBARI-15843 Adding Test Connection widget to a
theme for custom service requires JS change. (ababiichuk)
Repository: ambari
Updated Branches:
refs/heads/trunk 4db1ddac6 -> 05d8743bc
AMBARI-15843 Adding Test Connection widget to a theme for custom service requires JS change. (ababiichuk)
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/05d8743b
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/05d8743b
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/05d8743b
Branch: refs/heads/trunk
Commit: 05d8743bcb587ab1a6646583ee8f83d3a2e5c2ff
Parents: 4db1dda
Author: ababiichuk <ab...@hortonworks.com>
Authored: Tue Apr 12 19:47:45 2016 +0300
Committer: ababiichuk <ab...@hortonworks.com>
Committed: Wed Apr 13 13:42:07 2016 +0300
----------------------------------------------------------------------
.../controllers/main/service/info/configs.js | 18 +++++++++--
.../app/controllers/wizard/step7_controller.js | 33 ++++++++++++++------
ambari-web/app/models/stack_service.js | 5 ---
ambari-web/app/utils/config.js | 12 +++++++
.../widgets/test_db_connection_widget_view.js | 15 ++++++++-
ambari-web/test/utils/config_test.js | 13 ++++++++
6 files changed, 77 insertions(+), 19 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ambari/blob/05d8743b/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 6437bf8..b589040 100644
--- a/ambari-web/app/controllers/main/service/info/configs.js
+++ b/ambari-web/app/controllers/main/service/info/configs.js
@@ -556,9 +556,9 @@ App.MainServiceInfoConfigsController = Em.Controller.extend(App.ConfigsLoader, A
addHostNamesToConfigs: function(serviceConfig) {
serviceConfig.get('configCategories').forEach(function(c) {
if (c.showHost) {
- var stackComponent = App.StackServiceComponent.find(c.name);
- var component = stackComponent.get('isMaster') ? App.MasterComponent.find(c.name) : App.SlaveComponent.find(c.name);
- var hProperty = App.config.createHostNameProperty(serviceConfig.get('serviceName'), c.name, component.get('hostNames') || [], stackComponent);
+ var stackComponent = App.StackServiceComponent.find(c.name),
+ value = this.getComponentHostValue(c.name);
+ var hProperty = App.config.createHostNameProperty(serviceConfig.get('serviceName'), c.name, value, stackComponent);
serviceConfig.get('configs').push(App.ServiceConfigProperty.create(hProperty));
}
}, this);
@@ -580,6 +580,18 @@ App.MainServiceInfoConfigsController = Em.Controller.extend(App.ConfigsLoader, A
},
/**
+ * Method to get host for master or slave component
+ *
+ * @param componentName
+ * @returns {Array}
+ */
+ getComponentHostValue: function(componentName) {
+ var stackComponent = App.StackServiceComponent.find(componentName);
+ var component = stackComponent.get('isMaster') ? App.MasterComponent.find(componentName) : App.SlaveComponent.find(componentName);
+ return component.get('hostNames') || []
+ },
+
+ /**
* Trigger loadSelectedVersion
* @method doCancel
*/
http://git-wip-us.apache.org/repos/asf/ambari/blob/05d8743b/ambari-web/app/controllers/wizard/step7_controller.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/controllers/wizard/step7_controller.js b/ambari-web/app/controllers/wizard/step7_controller.js
index 029ca20..eb44842 100644
--- a/ambari-web/app/controllers/wizard/step7_controller.js
+++ b/ambari-web/app/controllers/wizard/step7_controller.js
@@ -774,17 +774,8 @@ App.WizardStep7Controller = Em.Controller.extend(App.ServerValidatorMixin, App.E
addHostNamesToConfigs: function(serviceConfig, masterComponents, slaveComponents) {
serviceConfig.get('configCategories').forEach(function(c) {
if (c.showHost) {
- var value = [];
var componentName = c.name;
- var masters = masterComponents && masterComponents.filterProperty('component', componentName);
- if (masters.length) {
- value = masters.mapProperty('hostName');
- } else {
- var slaves = slaveComponents && slaveComponents.findProperty('componentName', componentName);
- if (slaves) {
- value = slaves.hosts.mapProperty('hostName');
- }
- }
+ var value = this.getComponentHostValue(componentName, masterComponents, slaveComponents);
var stackComponent = App.StackServiceComponent.find(componentName);
var hProperty = App.config.createHostNameProperty(serviceConfig.get('serviceName'), componentName, value, stackComponent);
var newConfigName = Em.get(hProperty, 'name');
@@ -796,6 +787,28 @@ App.WizardStep7Controller = Em.Controller.extend(App.ServerValidatorMixin, App.E
},
/**
+ * Method to get host for master or slave component
+ *
+ * @param componentName
+ * @param masterComponents
+ * @param slaveComponents
+ * @returns {Array}
+ */
+ getComponentHostValue: function(componentName, masterComponents, slaveComponents) {
+ var value = [];
+ var masters = masterComponents && masterComponents.filterProperty('component', componentName);
+ if (masters.length) {
+ value = masters.mapProperty('hostName');
+ } else {
+ var slaves = slaveComponents && slaveComponents.findProperty('componentName', componentName);
+ if (slaves) {
+ value = slaves.hosts.mapProperty('hostName');
+ }
+ }
+ return value || [];
+ },
+
+ /**
* create new child configs from overrides, attach them to parent config
* override - value of config, related to particular host(s)
* @param configProperty
http://git-wip-us.apache.org/repos/asf/ambari/blob/05d8743b/ambari-web/app/models/stack_service.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/models/stack_service.js b/ambari-web/app/models/stack_service.js
index 649bf89..c1a5bf5 100644
--- a/ambari-web/app/models/stack_service.js
+++ b/ambari-web/app/models/stack_service.js
@@ -346,11 +346,6 @@ App.StackService.configCategories = function () {
App.ServiceConfigCategory.create({ name: 'KnoxSSOSettings', displayName: 'Knox SSO Settings'})
]);
break;
- case 'RANGER_KMS':
- serviceConfigCategories.pushObjects([
- App.ServiceConfigCategory.create({ name: 'RANGER_KMS_SERVER', displayName: 'Ranger KMS Server', showHost: true})
- ]);
- break;
case 'ACCUMULO':
serviceConfigCategories.pushObjects([
App.ServiceConfigCategory.create({ name: 'General', displayName: 'General'})
http://git-wip-us.apache.org/repos/asf/ambari/blob/05d8743b/ambari-web/app/utils/config.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/utils/config.js b/ambari-web/app/utils/config.js
index 50c6c4a..f78cf8f 100644
--- a/ambari-web/app/utils/config.js
+++ b/ambari-web/app/utils/config.js
@@ -347,6 +347,18 @@ App.config = Em.Object.create({
},
/**
+ * Get component name from config name string
+ *
+ * @param configName
+ * @returns {string}
+ */
+ getComponentName: function(configName) {
+ var match = configName.match(/^(.*)_host[s]?$/) || [],
+ component = match[1];
+ return component ? component.toUpperCase() : "";
+ },
+
+ /**
* This method merge properties form <code>stackConfigProperty<code> which are taken from stack
* with <code>UIConfigProperty<code> which are hardcoded on UI
* @param coreObject
http://git-wip-us.apache.org/repos/asf/ambari/blob/05d8743b/ambari-web/app/views/common/configs/widgets/test_db_connection_widget_view.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/views/common/configs/widgets/test_db_connection_widget_view.js b/ambari-web/app/views/common/configs/widgets/test_db_connection_widget_view.js
index 87d0359..39f7e6e 100644
--- a/ambari-web/app/views/common/configs/widgets/test_db_connection_widget_view.js
+++ b/ambari-web/app/views/common/configs/widgets/test_db_connection_widget_view.js
@@ -78,7 +78,20 @@ App.TestDbConnectionWidgetView = App.ConfigWidgetView.extend({
var split = requiredProperties[key].split('/');
var fileName = split[0] + '.xml';
var configName = split[1];
- return serviceConfigs.filterProperty('filename',fileName).findProperty('name', configName);
+ var requiredConfig = serviceConfigs.filterProperty('filename',fileName).findProperty('name', configName);
+ if (!requiredConfig) {
+ var componentName = App.config.getComponentName(configName);
+ var stackComponent = App.StackServiceComponent.find(componentName);
+ if (stackComponent && stackComponent.get('componentName')) {
+ var value = this.get('controller').getComponentHostValue(componentName,
+ this.get('controller.wizardController.content.masterComponentHosts'),
+ this.get('controller.wizardController.content.slaveComponentHosts'));
+ var hProperty = App.config.createHostNameProperty(serviceName, componentName, value, stackComponent);
+ return App.ServiceConfigProperty.create(hProperty);
+ }
+ } else {
+ return requiredConfig;
+ }
}, this);
this.set('requiredProperties', requiredServiceConfigs);
http://git-wip-us.apache.org/repos/asf/ambari/blob/05d8743b/ambari-web/test/utils/config_test.js
----------------------------------------------------------------------
diff --git a/ambari-web/test/utils/config_test.js b/ambari-web/test/utils/config_test.js
index 8ac5bff..1a2d899 100644
--- a/ambari-web/test/utils/config_test.js
+++ b/ambari-web/test/utils/config_test.js
@@ -874,4 +874,17 @@ describe('App.config', function () {
});
});
+ describe('#getComponentName', function () {
+ [
+ { configName: 'somename_host', componentName: 'SOMENAME' },
+ { configName: 'somename_hosts', componentName: 'SOMENAME' },
+ { configName: 'somenamehost', componentName: '' },
+ { configName: 'somenamehosts', componentName: '' }
+ ].forEach(function (t) {
+ it('format config name ' + t.configName + ' to component ', function() {
+ expect(App.config.getComponentName(t.configName)).to.equal(t.componentName);
+ });
+ });
+ });
+
});