http://git-wip-us.apache.org/repos/asf/ambari/blob/07616603/ambari-web/app/utils/configs/config_property_helper.js ---------------------------------------------------------------------- diff --git a/ambari-web/app/utils/configs/config_property_helper.js b/ambari-web/app/utils/configs/config_property_helper.js index 07226c5..63b7290 100644 --- a/ambari-web/app/utils/configs/config_property_helper.js +++ b/ambari-web/app/utils/configs/config_property_helper.js @@ -36,14 +36,14 @@ module.exports = { case 'dfs.https.address': case 'dfs.namenode.https-address': var nnHost = masterComponentHostsInDB.findProperty('component', 'NAMENODE').hostName; - this.setDefaultValue(configProperty, hostWithPort,nnHost); + this.setRecommendedValue(configProperty, hostWithPort,nnHost); break; case 'fs.default.name': case 'fs.defaultFS': case 'hbase.rootdir': case 'instance.volumes': var nnHost = masterComponentHostsInDB.filterProperty('component', 'NAMENODE').mapProperty('hostName'); - this.setDefaultValue(configProperty, hostWithPrefix,'://' + nnHost); + this.setRecommendedValue(configProperty, hostWithPrefix,'://' + nnHost); break; case 'snamenode_host': // Secondary NameNode does not exist when NameNode HA is enabled @@ -56,7 +56,7 @@ module.exports = { case 'dfs.namenode.secondary.http-address': var snnHost = masterComponentHostsInDB.findProperty('component', 'SECONDARY_NAMENODE'); if (snnHost) { - this.setDefaultValue(configProperty, hostWithPort,snnHost.hostName); + this.setRecommendedValue(configProperty, hostWithPort,snnHost.hostName); } break; case 'datanode_hosts': @@ -73,12 +73,12 @@ module.exports = { break; case 'yarn.log.server.url': var hsHost = masterComponentHostsInDB.filterProperty('component', 'HISTORYSERVER').mapProperty('hostName'); - this.setDefaultValue(configProperty, hostWithPrefix,'://' + hsHost); + this.setRecommendedValue(configProperty, hostWithPrefix,'://' + hsHost); break; case 'mapreduce.jobhistory.webapp.address': case 'mapreduce.jobhistory.address': var hsHost = masterComponentHostsInDB.filterProperty('component', 'HISTORYSERVER').mapProperty('hostName'); - this.setDefaultValue(configProperty, hostWithPort,hsHost); + this.setRecommendedValue(configProperty, hostWithPort,hsHost); break; case 'rm_host': configProperty.set('value', masterComponentHostsInDB.findProperty('component', 'RESOURCEMANAGER').hostName); @@ -92,8 +92,8 @@ module.exports = { break; case 'yarn.resourcemanager.hostname': var rmHost = masterComponentHostsInDB.findProperty('component', 'RESOURCEMANAGER').hostName; - configProperty.set('defaultValue',rmHost); - configProperty.set('value',configProperty.get('defaultValue')); + configProperty.set('recommendedValue',rmHost); + configProperty.set('value',configProperty.get('recommendedValue')); break; case 'yarn.resourcemanager.resource-tracker.address': case 'yarn.resourcemanager.webapp.https.address': @@ -102,14 +102,14 @@ module.exports = { case 'yarn.resourcemanager.address': case 'yarn.resourcemanager.admin.address': var rmHost = masterComponentHostsInDB.findProperty('component', 'RESOURCEMANAGER').hostName; - this.setDefaultValue(configProperty, hostWithPort,rmHost); + this.setRecommendedValue(configProperty, hostWithPort,rmHost); break; case 'yarn.timeline-service.webapp.address': case 'yarn.timeline-service.webapp.https.address': case 'yarn.timeline-service.address': var atsHost = masterComponentHostsInDB.findProperty('component', 'APP_TIMELINE_SERVER'); if (atsHost && atsHost.hostName) { - this.setDefaultValue(configProperty, hostWithPort,atsHost.hostName); + this.setRecommendedValue(configProperty, hostWithPort,atsHost.hostName); } break; case 'nm_hosts': @@ -121,11 +121,11 @@ module.exports = { case 'mapred.job.tracker': case 'mapred.job.tracker.http.address': var jtHost = masterComponentHostsInDB.findProperty('component', 'JOBTRACKER').hostName; - this.setDefaultValue(configProperty, hostWithPort,jtHost); + this.setRecommendedValue(configProperty, hostWithPort,jtHost); break; case 'mapreduce.history.server.http.address': var jtHost = masterComponentHostsInDB.findProperty('component', 'HISTORYSERVER').hostName; - this.setDefaultValue(configProperty, hostWithPort,jtHost); + this.setRecommendedValue(configProperty, hostWithPort,jtHost); break; case 'tasktracker_hosts': configProperty.set('value', slaveComponentHostsInDB.findProperty('componentName', 'TASKTRACKER').hosts.mapProperty('hostName')); @@ -164,7 +164,7 @@ module.exports = { break; case 'oozie.base.url': var oozieHost = masterComponentHostsInDB.findProperty('component', 'OOZIE_SERVER').hostName; - this.setDefaultValue(configProperty, hostWithPrefix,'://' + oozieHost); + this.setRecommendedValue(configProperty, hostWithPrefix,'://' + oozieHost); break; case 'webhcatserver_host': configProperty.set('value', masterComponentHostsInDB.findProperty('component', 'WEBHCAT_SERVER').hostName); @@ -181,12 +181,12 @@ module.exports = { case 'hive_existing_mssql_server_host': case 'hive_existing_mssql_server_2_host': var hiveServerHost = masterComponentHostsInDB.findProperty('component', 'HIVE_SERVER').hostName; - configProperty.set('value', hiveServerHost).set('defaultValue', hiveServerHost); + configProperty.set('value', hiveServerHost).set('recommendedValue', hiveServerHost); break; case 'hive.metastore.uris': var hiveMSUris = this.getHiveMetastoreUris(masterComponentHostsInDB, dependencies['hive.metastore.uris']); if (hiveMSUris) { - this.setDefaultValue(configProperty, "(.*)", hiveMSUris); + this.setRecommendedValue(configProperty, "(.*)", hiveMSUris); } break; case 'oozie_existing_mysql_host': @@ -195,7 +195,7 @@ module.exports = { case 'oozie_existing_mssql_server_host': case 'oozie_existing_mssql_server_2_host': var oozieServerHost = masterComponentHostsInDB.findProperty('component', 'OOZIE_SERVER').hostName; - configProperty.set('value', oozieServerHost).set('defaultValue', oozieServerHost); + configProperty.set('value', oozieServerHost).set('recommendedValue', oozieServerHost); break; case 'storm.zookeeper.servers': case 'zookeeperserver_hosts': @@ -243,14 +243,14 @@ module.exports = { case 'hbase.zookeeper.quorum': if (configProperty.get('filename') == 'hbase-site.xml') { var zkHosts = masterComponentHostsInDB.filterProperty('component', 'ZOOKEEPER_SERVER').mapProperty('hostName'); - this.setDefaultValue(configProperty, "(\\w*)", zkHosts); + this.setRecommendedValue(configProperty, "(\\w*)", zkHosts); } break; case 'yarn.resourcemanager.zk-address': var value = masterComponentHostsInDB.findProperty('component', 'ZOOKEEPER_SERVER').hostName + ':' + dependencies.clientPort; configProperty.setProperties({ value: value, - defaultValue: value + recommendedValue: value }); break; case 'zookeeper.connect': @@ -262,21 +262,21 @@ module.exports = { var zkHosts = masterComponentHostsInDB.filterProperty('component', 'ZOOKEEPER_SERVER').mapProperty('hostName'); var zkHostPort = zkHosts; var regex = "\\w*:(\\d+)"; //regex to fetch the port - var portValue = configProperty.get('defaultValue').match(new RegExp(regex)); + var portValue = configProperty.get('recommendedValue').match(new RegExp(regex)); if (!portValue) return; if (portValue[1]) { for ( var i = 0; i < zkHosts.length; i++ ) { zkHostPort[i] = zkHosts[i] + ":" + portValue[1]; } } - this.setDefaultValue(configProperty, "(.*)", zkHostPort); + this.setRecommendedValue(configProperty, "(.*)", zkHostPort); break; case 'templeton.hive.properties': var hiveMSUris = this.getHiveMetastoreUris(masterComponentHostsInDB, dependencies['hive.metastore.uris']).replace(',', '\\,'); if (/\/\/localhost:/g.test(configProperty.get('value'))) { - configProperty.set('defaultValue', configProperty.get('value') + ',hive.metastore.execute.setugi=true'); + configProperty.set('recommendedValue', configProperty.get('value') + ',hive.metastore.execute.setugi=true'); } - this.setDefaultValue(configProperty, "(hive\\.metastore\\.uris=)([^\\,]+)", "$1" + hiveMSUris); + this.setRecommendedValue(configProperty, "(hive\\.metastore\\.uris=)([^\\,]+)", "$1" + hiveMSUris); break; case 'dfs.name.dir': case 'dfs.namenode.name.dir': @@ -306,7 +306,7 @@ module.exports = { break; case '*.broker.url': var falconServerHost = masterComponentHostsInDB.findProperty('component', 'FALCON_SERVER').hostName; - this.setDefaultValue(configProperty, 'localhost', falconServerHost); + this.setRecommendedValue(configProperty, 'localhost', falconServerHost); break; case 'RANGER_HOST': var rangerAdminHost = masterComponentHostsInDB.findProperty('component', 'RANGER_ADMIN'); @@ -331,7 +331,7 @@ module.exports = { var masterComponent = masterComponentHostsInDB.findProperty('component', 'RANGER_ADMIN'), rangerServerHost = masterComponent ? masterComponentHostsInDB.findProperty('component', 'RANGER_ADMIN').hostName : ''; if (rangerServerHost) { - configProperty.set('value', rangerServerHost).set('defaultValue', rangerServerHost); + configProperty.set('value', rangerServerHost).set('recommendedValue', rangerServerHost); } break; } @@ -340,14 +340,14 @@ module.exports = { /** * Get hive.metastore.uris initial value * @param hosts - * @param defaultValue + * @param recommendedValue * @returns {string} */ - getHiveMetastoreUris: function (hosts, defaultValue) { + getHiveMetastoreUris: function (hosts, recommendedValue) { var hiveMSHosts = hosts.filterProperty('component', 'HIVE_METASTORE').mapProperty('hostName'), hiveMSUris = hiveMSHosts, regex = "\\w*:(\\d+)", - portValue = defaultValue && defaultValue.match(new RegExp(regex)); + portValue = recommendedValue && recommendedValue.match(new RegExp(regex)); if (!portValue) return ''; if (portValue[1]) { @@ -363,12 +363,12 @@ module.exports = { * @param replaceWith : String * @param configProperty */ - setDefaultValue: function(configProperty, regex, replaceWith) { - var defaultValue = configProperty.get('defaultValue'); + setRecommendedValue: function(configProperty, regex, replaceWith) { + var recommendedValue = !Em.isNone(configProperty.get('recommendedValue')) ? configProperty.get('recommendedValue') : ''; var re = new RegExp(regex); - defaultValue = defaultValue.replace(re,replaceWith); - configProperty.set('defaultValue',defaultValue); - configProperty.set('value',configProperty.get('defaultValue')); + recommendedValue = recommendedValue.replace(re,replaceWith); + configProperty.set('recommendedValue', recommendedValue); + configProperty.set('value', !Em.isNone(configProperty.get('recommendedValue')) ? configProperty.get('recommendedValue') : ''); }, unionAllMountPoints: function (configProperty, isOnlyFirstOneNeeded, localDB) { @@ -543,7 +543,7 @@ module.exports = { mPoint += eachDrive.mountpoint + configProperty.get('defaultDirectory') + "\n"; } configProperty.set('value', mPoint); - configProperty.set('defaultValue', mPoint); + configProperty.set('recommendedValue', mPoint); }, this); } else { var mPoint = allMountPoints[0].mountpoint; @@ -570,7 +570,7 @@ module.exports = { mPoint = mPoint + configProperty.get('defaultDirectory'); } configProperty.set('value', mPoint); - configProperty.set('defaultValue', mPoint); + configProperty.set('recommendedValue', mPoint); } } };
http://git-wip-us.apache.org/repos/asf/ambari/blob/07616603/ambari-web/app/views.js ---------------------------------------------------------------------- diff --git a/ambari-web/app/views.js b/ambari-web/app/views.js index 6af5d2f..a684f41 100644 --- a/ambari-web/app/views.js +++ b/ambari-web/app/views.js @@ -30,7 +30,6 @@ require('views/common/modal_popups/alert_popup'); require('views/common/modal_popups/confirmation_feedback_popup'); require('views/common/modal_popups/confirmation_popup'); require('views/common/modal_popups/hosts_table_list_popup'); -require('views/common/modal_popups/prompt_popup'); require('views/common/modal_popups/cluster_check_popup'); require('views/common/modal_popups/invalid_KDC_popup'); require('views/common/modal_popups/dependent_configs_list_popup'); http://git-wip-us.apache.org/repos/asf/ambari/blob/07616603/ambari-web/app/views/common/configs/service_configs_by_category_view.js ---------------------------------------------------------------------- diff --git a/ambari-web/app/views/common/configs/service_configs_by_category_view.js b/ambari-web/app/views/common/configs/service_configs_by_category_view.js index 5cfc3e9..3df706e 100644 --- a/ambari-web/app/views/common/configs/service_configs_by_category_view.js +++ b/ambari-web/app/views/common/configs/service_configs_by_category_view.js @@ -188,7 +188,7 @@ App.ServiceConfigsByCategoryView = Em.View.extend(App.UserPref, App.ConfigOverri var affected = self.get("newAffectedProperties").objectAt(0), changedProperty = self.get("controller.stepConfigs").findProperty("serviceName", affected.sourceServiceName) .get("configs").findProperty("name", affected.changedPropertyName); - changedProperty.set('value', changedProperty.get('defaultValue')); + changedProperty.set('value', changedProperty.get('savedValue')); self.get("controller").set("miscModalVisible", false); this.hide(); }, @@ -252,7 +252,7 @@ App.ServiceConfigsByCategoryView = Em.View.extend(App.UserPref, App.ConfigOverri return false; } - var searchString = config.get('defaultValue') + config.get('description') + + var searchString = config.get('savedValue') + config.get('description') + config.get('displayName') + config.get('name') + config.get('value') + config.getWithDefault('stackConfigProperty.displayName', ''); if (config.get('overrides')) { @@ -383,7 +383,8 @@ App.ServiceConfigsByCategoryView = Em.View.extend(App.UserPref, App.ConfigOverri category: propertyObj.categoryName, id: 'site property', serviceName: propertyObj.serviceName, - defaultValue: null, + savedValue: null, + recommendedValue: null, supportsFinal: App.config.shouldSupportFinal(propertyObj.serviceName, propertyObj.filename), filename: propertyObj.filename || '', isUserProperty: true, @@ -633,18 +634,18 @@ App.ServiceConfigsByCategoryView = Em.View.extend(App.UserPref, App.ConfigOverri doRestoreDefaultValue: function (event) { var serviceConfigProperty = event.contexts[0]; var value = serviceConfigProperty.get('value'); - var dValue = serviceConfigProperty.get('defaultValue'); + var savedValue = serviceConfigProperty.get('savedValue'); var supportsFinal = serviceConfigProperty.get('supportsFinal'); - var defaultIsFinal = serviceConfigProperty.get('defaultIsFinal'); + var savedIsFinal = serviceConfigProperty.get('savedIsFinal'); - if (dValue != null) { + if (savedValue != null) { if (serviceConfigProperty.get('displayType') === 'password') { - serviceConfigProperty.set('retypedPassword', dValue); + serviceConfigProperty.set('retypedPassword', savedValue); } - serviceConfigProperty.set('value', dValue); + serviceConfigProperty.set('value', savedValue); } if (supportsFinal) { - serviceConfigProperty.set('isFinal', defaultIsFinal); + serviceConfigProperty.set('isFinal', savedIsFinal); } this.configChangeObserver(serviceConfigProperty); Em.$('body>.tooltip').remove(); //some tooltips get frozen when their owner's DOM element is removed http://git-wip-us.apache.org/repos/asf/ambari/blob/07616603/ambari-web/app/views/common/configs/widgets/checkbox_config_widget_view.js ---------------------------------------------------------------------- diff --git a/ambari-web/app/views/common/configs/widgets/checkbox_config_widget_view.js b/ambari-web/app/views/common/configs/widgets/checkbox_config_widget_view.js index 03d3d3f..8ab8088 100644 --- a/ambari-web/app/views/common/configs/widgets/checkbox_config_widget_view.js +++ b/ambari-web/app/views/common/configs/widgets/checkbox_config_widget_view.js @@ -59,13 +59,6 @@ App.CheckboxConfigWidgetView = App.ConfigWidgetView.extend({ restoreValue: function () { this.$('input[type="checkbox"]:eq(0)').checkbox('click'); this._super(); - }, - - /** - * @method setRecommendedValue - */ - setRecommendedValue: function () { - this.set('config.value', this.get('config.recommendedValue')); } }); http://git-wip-us.apache.org/repos/asf/ambari/blob/07616603/ambari-web/app/views/common/configs/widgets/combo_config_widget_view.js ---------------------------------------------------------------------- diff --git a/ambari-web/app/views/common/configs/widgets/combo_config_widget_view.js b/ambari-web/app/views/common/configs/widgets/combo_config_widget_view.js index a9346ab..2cb4488 100644 --- a/ambari-web/app/views/common/configs/widgets/combo_config_widget_view.js +++ b/ambari-web/app/views/common/configs/widgets/combo_config_widget_view.js @@ -115,8 +115,7 @@ App.ComboConfigWidgetView = App.ConfigWidgetView.extend({ * @method restoreValue */ restoreValue: function() { - this._super(); - this.setConfigValue({ context: this.get('config.defaultValue') }); + this.setConfigValue({ context: this.get('config.savedValue') }); }, /** http://git-wip-us.apache.org/repos/asf/ambari/blob/07616603/ambari-web/app/views/common/configs/widgets/config_widget_view.js ---------------------------------------------------------------------- diff --git a/ambari-web/app/views/common/configs/widgets/config_widget_view.js b/ambari-web/app/views/common/configs/widgets/config_widget_view.js index 0b3939c..b7c1931 100644 --- a/ambari-web/app/views/common/configs/widgets/config_widget_view.js +++ b/ambari-web/app/views/common/configs/widgets/config_widget_view.js @@ -207,8 +207,8 @@ App.ConfigWidgetView = Em.View.extend(App.SupportsDependentConfigs, App.WidgetPo * @type {boolean} */ valueIsChanged: function () { - return this.get('config.value') != this.get('config.defaultValue'); - }.property('config.value'), + return !Em.isNone(this.get('config.savedValue')) && this.get('config.value') != this.get('config.savedValue'); + }.property('config.value', 'config.savedValue'), /** * Enable/disable widget state @@ -224,13 +224,31 @@ App.ConfigWidgetView = Em.View.extend(App.SupportsDependentConfigs, App.WidgetPo */ restoreValue: function () { var self = this; - this.set('config.value', this.get('config.defaultValue')); + this.set('config.value', this.get('config.savedValue')); this.sendRequestRorDependentConfigs(this.get('config')).done(function() { self.restoreDependentConfigs(self.get('config')); }); if (this.get('config.supportsFinal')) { - this.get('config').set('isFinal', this.get('config.defaultIsFinal')); + this.get('config').set('isFinal', this.get('config.savedIsFinal')); + } + Em.$('body > .tooltip').remove(); + }, + + /** + * set <code>recommendedValue<code> to config + * and send request to change dependent configs + * @method setRecommendedValue + */ + setRecommendedValue: function() { + var self = this; + this.set('config.value', this.get('config.recommendedValue')); + this.sendRequestRorDependentConfigs(this.get('config')).done(function() { + self.restoreDependentConfigs(self.get('config')); + }); + + if (this.get('config.supportsFinal')) { + this.get('config').set('isFinal', this.get('config.recommendedIsFinal')); } Em.$('body > .tooltip').remove(); }, @@ -367,11 +385,6 @@ App.ConfigWidgetView = Em.View.extend(App.SupportsDependentConfigs, App.WidgetPo return true; } return this.isValueCompatibleWithWidget(); - }.property('config.value', 'config.showAsTextBox'), - - /** - * @method setRecommendedValue - */ - setRecommendedValue: Em.required(Function) + }.property('config.value', 'config.showAsTextBox') }); http://git-wip-us.apache.org/repos/asf/ambari/blob/07616603/ambari-web/app/views/common/configs/widgets/directory_config_widget_view.js ---------------------------------------------------------------------- diff --git a/ambari-web/app/views/common/configs/widgets/directory_config_widget_view.js b/ambari-web/app/views/common/configs/widgets/directory_config_widget_view.js index be589b0..3f132ea 100644 --- a/ambari-web/app/views/common/configs/widgets/directory_config_widget_view.js +++ b/ambari-web/app/views/common/configs/widgets/directory_config_widget_view.js @@ -39,6 +39,7 @@ App.DirectoryConfigWidgetView = App.ConfigWidgetView.extend({ didInsertElement: function() { this.initPopover(); + this._super(); this.set('config.displayType', this.get('config.stackConfigProperty.widget.type')); } http://git-wip-us.apache.org/repos/asf/ambari/blob/07616603/ambari-web/app/views/common/configs/widgets/list_config_widget_view.js ---------------------------------------------------------------------- diff --git a/ambari-web/app/views/common/configs/widgets/list_config_widget_view.js b/ambari-web/app/views/common/configs/widgets/list_config_widget_view.js index 149f87d..41bc203 100644 --- a/ambari-web/app/views/common/configs/widgets/list_config_widget_view.js +++ b/ambari-web/app/views/common/configs/widgets/list_config_widget_view.js @@ -243,7 +243,7 @@ App.ListConfigWidgetView = App.ConfigWidgetView.extend({ * @method setRecommendedValue */ setRecommendedValue: function () { - this.set('config.value', this.get('config.recommendedValue')); + this._super(); this.calculateInitVal(); }, http://git-wip-us.apache.org/repos/asf/ambari/blob/07616603/ambari-web/app/views/common/configs/widgets/plain_config_text_field.js ---------------------------------------------------------------------- diff --git a/ambari-web/app/views/common/configs/widgets/plain_config_text_field.js b/ambari-web/app/views/common/configs/widgets/plain_config_text_field.js index 27d6b3b..ba62dee 100644 --- a/ambari-web/app/views/common/configs/widgets/plain_config_text_field.js +++ b/ambari-web/app/views/common/configs/widgets/plain_config_text_field.js @@ -28,7 +28,7 @@ App.PlainConfigTextField = Ember.View.extend(App.SupportsDependentConfigs, { templateName: require('templates/common/configs/widgets/plain_config_text_field'), valueBinding: 'serviceConfig.value', classNames: ['widget-config-plain-text-field'], - placeholderBinding: 'serviceConfig.defaultValue', + placeholderBinding: 'serviceConfig.savedValue', unit: function() { return Em.getWithDefault(this, 'serviceConfig.stackConfigProperty.valueAttributes.unit', false); }.property('serviceConfig.stackConfigProperty.valueAttributes.unit'), http://git-wip-us.apache.org/repos/asf/ambari/blob/07616603/ambari-web/app/views/common/configs/widgets/slider_config_widget_view.js ---------------------------------------------------------------------- diff --git a/ambari-web/app/views/common/configs/widgets/slider_config_widget_view.js b/ambari-web/app/views/common/configs/widgets/slider_config_widget_view.js index e618020..2924514 100644 --- a/ambari-web/app/views/common/configs/widgets/slider_config_widget_view.js +++ b/ambari-web/app/views/common/configs/widgets/slider_config_widget_view.js @@ -99,8 +99,8 @@ App.SliderConfigWidgetView = App.ConfigWidgetView.extend({ */ widgetDefaultValue: function () { var parseFunction = this.get('mirrorValueParseFunction'); - return parseFunction(this.widgetValueByConfigAttributes(this.get('config.defaultValue'))); - }.property('config.defaultValue'), + return parseFunction(this.widgetValueByConfigAttributes(this.get('config.savedValue'))); + }.property('config.savedValue'), /** * Default value of config property transformed according widget format @@ -240,8 +240,8 @@ App.SliderConfigWidgetView = App.ConfigWidgetView.extend({ } } // avoid precision during restore value - if (parsed == parseFunction(this.widgetValueByConfigAttributes(this.get('config.defaultValue')))) { - this.set('config.value', this.get('config.defaultValue')); + if (parsed == parseFunction(this.widgetValueByConfigAttributes(this.get('config.savedValue')))) { + this.set('config.value', this.get('config.savedValue')); } } else { this.set('isMirrorValueValid', false); @@ -304,7 +304,7 @@ App.SliderConfigWidgetView = App.ConfigWidgetView.extend({ ticksLabels.push((items.length < 5 || index % 2 === 0 || items.length - 1 == index) ? tick + ' ' + self.get('unitLabel') : ''); }); - // default-value marker should be added only if defaultValue is in range [min, max] + // default marker should be added only if recommendedValue is in range [min, max] if (recommendedValue <= this.get('maxMirrorValue') && recommendedValue >= this.get('minMirrorValue') && recommendedValue != '') { // process additional tick for default value if it not defined in previous computation if (!ticks.contains(recommendedValue)) { @@ -410,7 +410,7 @@ App.SliderConfigWidgetView = App.ConfigWidgetView.extend({ }, /** - * Restore <code>defaultValue</code> for config + * Restore <code>savedValue</code> for config * Restore <code>mirrorValue</code> too * @method restoreValue */ @@ -423,11 +423,19 @@ App.SliderConfigWidgetView = App.ConfigWidgetView.extend({ * @method setRecommendedValue */ setRecommendedValue: function () { - this.setValue(this.get('config.recommendedValue')); - this.get('slider').setValue(this.get('mirrorValue')); + this._super(); + this.get('slider').setValue(this.get('widgetRecommendedValue')); }, /** + * Determines if config-value was changed + * @type {boolean} + */ + valueIsChanged: function () { + return !Em.isNone(this.get('config.savedValue')) && this.get('parseFunction')(this.get('config.value')) != this.get('parseFunction')(this.get('config.savedValue')); + }.property('config.value', 'config.savedValue'), + + /** * Run changeBoundariesOnce only once * @method changeBoundaries */ http://git-wip-us.apache.org/repos/asf/ambari/blob/07616603/ambari-web/app/views/common/configs/widgets/time_interval_spinner_view.js ---------------------------------------------------------------------- diff --git a/ambari-web/app/views/common/configs/widgets/time_interval_spinner_view.js b/ambari-web/app/views/common/configs/widgets/time_interval_spinner_view.js index fb5879d..231bacf 100644 --- a/ambari-web/app/views/common/configs/widgets/time_interval_spinner_view.js +++ b/ambari-web/app/views/common/configs/widgets/time_interval_spinner_view.js @@ -45,10 +45,10 @@ App.TimeIntervalSpinnerView = App.ConfigWidgetView.extend({ /** * Default property value in widget format. * - * @property defaultValue + * @property savedValue * @type {Object[]} */ - defaultValue: null, + savedValue: null, /** * Maximum property value in widget format. @@ -92,7 +92,7 @@ App.TimeIntervalSpinnerView = App.ConfigWidgetView.extend({ * Content setter. * Affects to view attributes: * @see propertyUnit - * @see defaultValue + * @see savedValue * @see minValue * @see maxValue * content @@ -167,7 +167,7 @@ App.TimeIntervalSpinnerView = App.ConfigWidgetView.extend({ * @method checkModified */ checkModified: function() { - this.set('valueIsChanged', this.configValueByWidget(this.get('content')) != parseInt(this.get('config.defaultValue'))); + this.set('valueIsChanged', this.configValueByWidget(this.get('content')) != parseInt(this.get('config.savedValue'))); }, /** @@ -228,7 +228,7 @@ App.TimeIntervalSpinnerView = App.ConfigWidgetView.extend({ */ restoreValue: function() { this._super(); - this.set('content', this.generateWidgetValue(this.get('config.defaultValue'))); + this.set('content', this.generateWidgetValue(this.get('config.savedValue'))); this.parseIncrement(); }, http://git-wip-us.apache.org/repos/asf/ambari/blob/07616603/ambari-web/app/views/common/configs/widgets/toggle_config_widget_view.js ---------------------------------------------------------------------- diff --git a/ambari-web/app/views/common/configs/widgets/toggle_config_widget_view.js b/ambari-web/app/views/common/configs/widgets/toggle_config_widget_view.js index 8aec220..7f5d283 100644 --- a/ambari-web/app/views/common/configs/widgets/toggle_config_widget_view.js +++ b/ambari-web/app/views/common/configs/widgets/toggle_config_widget_view.js @@ -163,6 +163,7 @@ App.ToggleConfigWidgetView = App.ConfigWidgetView.extend({ * @method setRecommendedValue */ setRecommendedValue: function () { + this._super(); this.setValue(this.get('config.recommendedValue')); }, http://git-wip-us.apache.org/repos/asf/ambari/blob/07616603/ambari-web/app/views/common/controls_view.js ---------------------------------------------------------------------- diff --git a/ambari-web/app/views/common/controls_view.js b/ambari-web/app/views/common/controls_view.js index 6dd82b7..7263475 100644 --- a/ambari-web/app/views/common/controls_view.js +++ b/ambari-web/app/views/common/controls_view.js @@ -159,7 +159,7 @@ App.ServiceConfigTextField = Ember.TextField.extend(App.ServiceConfigPopoverSupp valueBinding: 'serviceConfig.value', classNameBindings: 'textFieldClassName', - placeholderBinding: 'serviceConfig.defaultValue', + placeholderBinding: 'serviceConfig.savedValue', keyPress: function (event) { if (event.keyCode == 13) { @@ -203,7 +203,7 @@ App.ServiceConfigTextField = Ember.TextField.extend(App.ServiceConfigPopoverSupp App.ServiceConfigTextFieldWithUnit = Ember.View.extend(App.ServiceConfigPopoverSupport, App.SupportsDependentConfigs, { valueBinding: 'serviceConfig.value', classNames: ['input-append', 'with-unit'], - placeholderBinding: 'serviceConfig.defaultValue', + placeholderBinding: 'serviceConfig.savedValue', //Set editDone true for last edited config text field parameter focusOut: function () { @@ -467,7 +467,7 @@ App.ServiceConfigRadioButtons = Ember.View.extend(App.ServiceConfigCalculateId, var hostNameDefault; var databaseNameDefault; var connectionUrlValue = connectionUrl.get('value'); - var connectionUrlDefaultValue = connectionUrl.get('defaultValue'); + var connectionUrlDefaultValue = connectionUrl.get('recommendedValue'); var dbClassValue = dbClass.get('value'); var serviceName = this.get('serviceConfig.serviceName'); var isServiceInstalled = App.Service.find().someProperty('serviceName', serviceName); @@ -478,8 +478,8 @@ App.ServiceConfigRadioButtons = Ember.View.extend(App.ServiceConfigCalculateId, var isNotExistingMySQLServer = this.get('serviceConfig.value') !== 'Existing MSSQL Server database with integrated authentication'; var categoryConfigsAll = this.get('categoryConfigsAll'); if (isServiceInstalled) { - hostNameDefault = this.get('hostNameProperty.defaultValue'); - databaseNameDefault = this.get('databaseNameProperty.defaultValue'); + hostNameDefault = this.get('hostNameProperty.recommendedValue'); + databaseNameDefault = this.get('databaseNameProperty.recommendedValue'); } else { hostNameDefault = hostName; databaseNameDefault = databaseName; @@ -615,12 +615,12 @@ App.ServiceConfigRadioButtons = Ember.View.extend(App.ServiceConfigCalculateId, } this.get('categoryConfigsAll').findProperty('name', 'db_host').set('value', this.get('hostNameProperty.value')); sqlConnectorJAR.set('value',sqlConnectorJARValue); - sqlConnectorJAR.set('defaultValue',sqlConnectorJARValue); + sqlConnectorJAR.set('recommendedValue',sqlConnectorJARValue); sqlCommandInvoker.set('value', sqlCommand); break; } connectionUrl.set('value', connectionUrlValue); - connectionUrl.set('defaultValue', connectionUrlDefaultValue); + connectionUrl.set('recommendedValue', connectionUrlDefaultValue); dbClass.set('value', dbClassValue); } } @@ -863,7 +863,7 @@ App.ServiceConfigRadioButton = Ember.Checkbox.extend({ App.ServiceConfigComboBox = Ember.Select.extend(App.ServiceConfigPopoverSupport, App.ServiceConfigCalculateId, App.SupportsDependentConfigs, { contentBinding: 'serviceConfig.options', selectionBinding: 'serviceConfig.value', - placeholderBinding: 'serviceConfig.defaultValue', + placeholderBinding: 'serviceConfig.savedValue', classNames: [ 'span3' ] }); http://git-wip-us.apache.org/repos/asf/ambari/blob/07616603/ambari-web/app/views/common/modal_popups/prompt_popup.js ---------------------------------------------------------------------- diff --git a/ambari-web/app/views/common/modal_popups/prompt_popup.js b/ambari-web/app/views/common/modal_popups/prompt_popup.js deleted file mode 100644 index df45489..0000000 --- a/ambari-web/app/views/common/modal_popups/prompt_popup.js +++ /dev/null @@ -1,54 +0,0 @@ -/** - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -var App = require('app'); - -/** - * Show prompt popup - * - * @param {String} text - additional text constant. Will be placed on the top of the input field - * @param {Function} primary - "OK" button click handler - * @param {String} defaultValue - additional text constant. Will be default value for input field - * @param {Function} secondary - * @return {*} - */ -App.showPromptPopup = function (text, primary, defaultValue, secondary) { - if (!primary) { - return false; - } - return App.ModalPopup.show({ - header: Em.I18n.t('popup.prompt.commonHeader'), - bodyClass: Em.View.extend({ - templateName: require('templates/common/modal_popups/prompt_popup'), - text: text - }), - inputValue: defaultValue || '', - isInvalid: false, - errorMessage: '', - onPrimary: function () { - this.hide(); - primary(this.get('inputValue')); - }, - onSecondary: function () { - this.hide(); - if (secondary) { - secondary(); - } - } - }); -}; http://git-wip-us.apache.org/repos/asf/ambari/blob/07616603/ambari-web/test/controllers/main/admin/highAvailability/resourceManager/step3_controller_test.js ---------------------------------------------------------------------- diff --git a/ambari-web/test/controllers/main/admin/highAvailability/resourceManager/step3_controller_test.js b/ambari-web/test/controllers/main/admin/highAvailability/resourceManager/step3_controller_test.js index 21416d6..d9ed1df 100644 --- a/ambari-web/test/controllers/main/admin/highAvailability/resourceManager/step3_controller_test.js +++ b/ambari-web/test/controllers/main/admin/highAvailability/resourceManager/step3_controller_test.js @@ -267,22 +267,22 @@ describe('App.RMHighAvailabilityWizardStep3Controller', function () { it('setting new RM properties values', function () { controller.setDynamicConfigValues(configs, '2181', ':8088', ':8090'); expect(configs.configs.findProperty('name', 'yarn.resourcemanager.hostname.rm1').get('value')).to.equal('h0'); - expect(configs.configs.findProperty('name', 'yarn.resourcemanager.hostname.rm1').get('defaultValue')).to.equal('h0'); + expect(configs.configs.findProperty('name', 'yarn.resourcemanager.hostname.rm1').get('recommendedValue')).to.equal('h0'); expect(configs.configs.findProperty('name', 'yarn.resourcemanager.hostname.rm2').get('value')).to.equal('h1'); - expect(configs.configs.findProperty('name', 'yarn.resourcemanager.hostname.rm2').get('defaultValue')).to.equal('h1'); + expect(configs.configs.findProperty('name', 'yarn.resourcemanager.hostname.rm2').get('recommendedValue')).to.equal('h1'); expect(configs.configs.findProperty('name', 'yarn.resourcemanager.webapp.address.rm1').get('value')).to.equal('h0:8088'); - expect(configs.configs.findProperty('name', 'yarn.resourcemanager.webapp.address.rm1').get('defaultValue')).to.equal('h0:8088'); + expect(configs.configs.findProperty('name', 'yarn.resourcemanager.webapp.address.rm1').get('recommendedValue')).to.equal('h0:8088'); expect(configs.configs.findProperty('name', 'yarn.resourcemanager.webapp.address.rm2').get('value')).to.equal('h1:8088'); - expect(configs.configs.findProperty('name', 'yarn.resourcemanager.webapp.address.rm2').get('defaultValue')).to.equal('h1:8088'); + expect(configs.configs.findProperty('name', 'yarn.resourcemanager.webapp.address.rm2').get('recommendedValue')).to.equal('h1:8088'); expect(configs.configs.findProperty('name', 'yarn.resourcemanager.webapp.https.address.rm1').get('value')).to.equal('h0:8090'); - expect(configs.configs.findProperty('name', 'yarn.resourcemanager.webapp.https.address.rm1').get('defaultValue')).to.equal('h0:8090'); + expect(configs.configs.findProperty('name', 'yarn.resourcemanager.webapp.https.address.rm1').get('recommendedValue')).to.equal('h0:8090'); expect(configs.configs.findProperty('name', 'yarn.resourcemanager.webapp.https.address.rm2').get('value')).to.equal('h1:8090'); - expect(configs.configs.findProperty('name', 'yarn.resourcemanager.webapp.https.address.rm2').get('defaultValue')).to.equal('h1:8090'); + expect(configs.configs.findProperty('name', 'yarn.resourcemanager.webapp.https.address.rm2').get('recommendedValue')).to.equal('h1:8090'); expect(configs.configs.findProperty('name', 'yarn.resourcemanager.zk-address').get('value')).to.equal('h2:2181,h3:2181'); - expect(configs.configs.findProperty('name', 'yarn.resourcemanager.zk-address').get('defaultValue')).to.equal('h2:2181,h3:2181'); + expect(configs.configs.findProperty('name', 'yarn.resourcemanager.zk-address').get('recommendedValue')).to.equal('h2:2181,h3:2181'); }); }); http://git-wip-us.apache.org/repos/asf/ambari/blob/07616603/ambari-web/test/controllers/main/admin/kerberos/step4_controller_test.js ---------------------------------------------------------------------- diff --git a/ambari-web/test/controllers/main/admin/kerberos/step4_controller_test.js b/ambari-web/test/controllers/main/admin/kerberos/step4_controller_test.js index b45a3a4..780bc00 100644 --- a/ambari-web/test/controllers/main/admin/kerberos/step4_controller_test.js +++ b/ambari-web/test/controllers/main/admin/kerberos/step4_controller_test.js @@ -180,8 +180,8 @@ describe('App.KerberosWizardStep4Controller', function() { getDBProperty: function() { return Em.A([ Em.Object.create({ name: 'realm', value: 'realm_value' }), - Em.Object.create({ name: 'admin_principal', value: 'some_val1', defaultValue: 'some_val1', filename: 'krb5-conf.xml' }), - Em.Object.create({ name: 'admin_password', value: 'some_password', defaultValue: 'some_password', filename: 'krb5-conf.xml' }) + Em.Object.create({ name: 'admin_principal', value: 'some_val1', recommendedValue: 'some_val1', filename: 'krb5-conf.xml' }), + Em.Object.create({ name: 'admin_password', value: 'some_password', recommendedValue: 'some_password', filename: 'krb5-conf.xml' }) ]); } }) http://git-wip-us.apache.org/repos/asf/ambari/blob/07616603/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 7d46d9d..320edc8 100644 --- a/ambari-web/test/controllers/main/service/info/config_test.js +++ b/ambari-web/test/controllers/main/service/info/config_test.js @@ -606,138 +606,6 @@ describe("App.MainServiceInfoConfigsController", function () { }); - describe("#addDynamicProperties", function() { - - var tests = [ - { - stepConfigs: [Em.Object.create({ - serviceName: "HIVE", - configs: [] - })], - content: Em.Object.create({ - serviceName: "HIVE" - }), - m: "add dynamic property", - addDynamic: true - }, - { - stepConfigs: [Em.Object.create({ - serviceName: "HIVE", - configs: [ - Em.Object.create({ - name: "templeton.hive.properties" - }) - ] - })], - content: Em.Object.create({ - serviceName: "HIVE" - }), - m: "don't add dynamic property (already included)", - addDynamic: false - }, - { - stepConfigs: [Em.Object.create({ - serviceName: "HDFS", - configs: [] - })], - content: Em.Object.create({ - serviceName: "HDFS" - }), - m: "don't add dynamic property (wrong service)", - addDynamic: false - } - ]; - var dynamicProperty = { - "name": "templeton.hive.properties", - "templateName": ["hive.metastore.uris"], - "foreignKey": null, - "value": "hive.metastore.local=false,hive.metastore.uris=<templateName[0]>,hive.metastore.sasl.enabled=yes,hive.metastore.execute.setugi=true,hive.metastore.warehouse.dir=/apps/hive/warehouse", - "filename": "webhcat-site.xml" - }; - - - - tests.forEach(function(t) { - it(t.m, function() { - mainServiceInfoConfigsController.set("content", t.content); - mainServiceInfoConfigsController.set("stepConfigs", t.stepConfigs); - var configs = []; - mainServiceInfoConfigsController.addDynamicProperties(configs); - if (t.addDynamic){ - expect(configs.findProperty("name","templeton.hive.properties")).to.deep.eql(dynamicProperty); - } - }); - }); - }); - - describe("#loadUiSideConfigs", function () { - - var t = { - configMapping: [ - { - foreignKey: null, - templateName: "", - value: "default", - name: "name1", - filename: "filename1" - }, - { - foreignKey: "notNull", - templateName: "", - value: "default2", - name: "name2", - filename: "filename2" - } - ], - configMappingf: [ - { - foreignKey: null, - templateName: "", - value: "default", - name: "name1", - filename: "filename1" - } - ], - valueWithOverrides: { - "value": "default", - "overrides": { - "value1": "value1", - "value2": "value2" - } - }, - uiConfigs: [ - { - "id": "site property", - "name": "name1", - "value": "default", - "filename": "filename1", - "overrides": { - "value1": "value1", - "value2": "value2" - } - } - ] - }; - - beforeEach(function(){ - sinon.stub(mainServiceInfoConfigsController, "addDynamicProperties", Em.K); - sinon.stub(mainServiceInfoConfigsController, "getGlobConfigValueWithOverrides", function () { - return t.valueWithOverrides - }); - }); - - afterEach(function(){ - mainServiceInfoConfigsController.addDynamicProperties.restore(); - mainServiceInfoConfigsController.getGlobConfigValueWithOverrides.restore(); - }); - - it("load ui config", function() { - expect(mainServiceInfoConfigsController.loadUiSideConfigs(t.configMapping)[0]).to.deep.equal(t.uiConfigs[0]); - expect(mainServiceInfoConfigsController.addDynamicProperties.calledWith(t.configMappingf)).to.equal(true); - expect(mainServiceInfoConfigsController.getGlobConfigValueWithOverrides.calledWith(t.configMapping[0].templateName, t.configMapping[0].value, t.configMapping[0].name)).to.equal(true); - }); - }); - describe("#formatConfigValues", function () { var t = { configs: [ http://git-wip-us.apache.org/repos/asf/ambari/blob/07616603/ambari-web/test/controllers/wizard/step7_test.js ---------------------------------------------------------------------- diff --git a/ambari-web/test/controllers/wizard/step7_test.js b/ambari-web/test/controllers/wizard/step7_test.js index 044ebbb..7eeaa82 100644 --- a/ambari-web/test/controllers/wizard/step7_test.js +++ b/ambari-web/test/controllers/wizard/step7_test.js @@ -670,10 +670,10 @@ describe('App.InstallerStep7Controller', function () { it('should set property to true', function () { var allSelectedServiceNames = ['SLIDER', 'YARN'], configs = [ - {name: 'hadoop.registry.rm.enabled', value: false, defaultValue: false} + {name: 'hadoop.registry.rm.enabled', value: false, recommendedValue: false} ], expected = [ - {name: 'hadoop.registry.rm.enabled', value: true, defaultValue: true, forceUpdate: true} + {name: 'hadoop.registry.rm.enabled', value: true, recommendedValue: true} ]; installerStep7Controller.reopen({allSelectedServiceNames: allSelectedServiceNames}); installerStep7Controller.resolveYarnConfigs(configs); @@ -683,10 +683,10 @@ describe('App.InstallerStep7Controller', function () { it('should set property to false', function () { var allSelectedServiceNames = ['YARN'], configs = [ - {name: 'hadoop.registry.rm.enabled', value: true, defaultValue: true} + {name: 'hadoop.registry.rm.enabled', value: true, recommendedValue: true} ], expected = [ - {name: 'hadoop.registry.rm.enabled', value: false, defaultValue: false, forceUpdate: true} + {name: 'hadoop.registry.rm.enabled', value: false, recommendedValue: false} ]; installerStep7Controller.reopen({allSelectedServiceNames: allSelectedServiceNames}); installerStep7Controller.resolveYarnConfigs(configs); @@ -696,10 +696,10 @@ describe('App.InstallerStep7Controller', function () { it('should skip setting property', function () { var allSelectedServiceNames = ['YARN', 'SLIDER'], configs = [ - {name: 'hadoop.registry.rm.enabled', value: true, defaultValue: true} + {name: 'hadoop.registry.rm.enabled', value: true, recommendedValue: true} ], expected = [ - {name: 'hadoop.registry.rm.enabled', value: true, defaultValue: true} + {name: 'hadoop.registry.rm.enabled', value: true, recommendedValue: true} ]; installerStep7Controller.reopen({allSelectedServiceNames: allSelectedServiceNames}); installerStep7Controller.resolveYarnConfigs(configs); @@ -727,14 +727,14 @@ describe('App.InstallerStep7Controller', function () { it('shouldn\'t do nothing if Ganglia and Storm are installed', function () { var installedServiceNames = ['GANGLIA', 'STORM'], configs = [ - {name: 'nimbus.childopts', value: '.jar=host=host2', defaultValue: ''}, - {name: 'supervisor.childopts', value: '.jar=host=host2', defaultValue: ''}, - {name: 'worker.childopts', value: '.jar=host=host2', defaultValue: ''} + {name: 'nimbus.childopts', value: '.jar=host=host2', recommendedValue: ''}, + {name: 'supervisor.childopts', value: '.jar=host=host2', recommendedValue: ''}, + {name: 'worker.childopts', value: '.jar=host=host2', recommendedValue: ''} ], expected = [ - {name: 'nimbus.childopts', value: '.jar=host=host2', defaultValue: ''}, - {name: 'supervisor.childopts', value: '.jar=host=host2', defaultValue: ''}, - {name: 'worker.childopts', value: '.jar=host=host2', defaultValue: ''} + {name: 'nimbus.childopts', value: '.jar=host=host2', recommendedValue: ''}, + {name: 'supervisor.childopts', value: '.jar=host=host2', recommendedValue: ''}, + {name: 'worker.childopts', value: '.jar=host=host2', recommendedValue: ''} ]; installerStep7Controller.reopen({installedServiceNames: installedServiceNames}); installerStep7Controller.resolveStormConfigs(configs); @@ -744,14 +744,14 @@ describe('App.InstallerStep7Controller', function () { it('shouldn\'t do nothing if Ganglia is in allSelectedServiceNames', function () { var allSelectedServiceNames = ['GANGLIA'], configs = [ - {name: 'nimbus.childopts', value: '.jar=host=host2', defaultValue: ''}, - {name: 'supervisor.childopts', value: '.jar=host=host2', defaultValue: ''}, - {name: 'worker.childopts', value: '.jar=host=host2', defaultValue: ''} + {name: 'nimbus.childopts', value: '.jar=host=host2', recommendedValue: ''}, + {name: 'supervisor.childopts', value: '.jar=host=host2', recommendedValue: ''}, + {name: 'worker.childopts', value: '.jar=host=host2', recommendedValue: ''} ], expected = [ - {name: 'nimbus.childopts', value: '.jar=host=host1', defaultValue: '.jar=host=host1', forceUpdate: true}, - {name: 'supervisor.childopts', value: '.jar=host=host1', defaultValue: '.jar=host=host1', forceUpdate: true}, - {name: 'worker.childopts', value: '.jar=host=host1', defaultValue: '.jar=host=host1', forceUpdate: true} + {name: 'nimbus.childopts', value: '.jar=host=host1', recommendedValue: '.jar=host=host1'}, + {name: 'supervisor.childopts', value: '.jar=host=host1', recommendedValue: '.jar=host=host1'}, + {name: 'worker.childopts', value: '.jar=host=host1', recommendedValue: '.jar=host=host1'} ]; installerStep7Controller.reopen({allSelectedServiceNames: allSelectedServiceNames}); installerStep7Controller.resolveStormConfigs(configs); @@ -763,14 +763,14 @@ describe('App.InstallerStep7Controller', function () { it('shouldn\'t do nothing if Ganglia is in installedServiceNames (2)', function () { var installedServiceNames = ['GANGLIA'], configs = [ - {name: 'nimbus.childopts', value: '.jar=host=host2', defaultValue: ''}, - {name: 'supervisor.childopts', value: '.jar=host=host2', defaultValue: ''}, - {name: 'worker.childopts', value: '.jar=host=host2', defaultValue: ''} + {name: 'nimbus.childopts', value: '.jar=host=host2', recommendedValue: ''}, + {name: 'supervisor.childopts', value: '.jar=host=host2', recommendedValue: ''}, + {name: 'worker.childopts', value: '.jar=host=host2', recommendedValue: ''} ], expected = [ - {name: 'nimbus.childopts', value: '.jar=host=host1', defaultValue: '.jar=host=host1', forceUpdate: true}, - {name: 'supervisor.childopts', value: '.jar=host=host1', defaultValue: '.jar=host=host1', forceUpdate: true}, - {name: 'worker.childopts', value: '.jar=host=host1', defaultValue: '.jar=host=host1', forceUpdate: true} + {name: 'nimbus.childopts', value: '.jar=host=host1', recommendedValue: '.jar=host=host1'}, + {name: 'supervisor.childopts', value: '.jar=host=host1', recommendedValue: '.jar=host=host1'}, + {name: 'worker.childopts', value: '.jar=host=host1', recommendedValue: '.jar=host=host1'} ]; installerStep7Controller.reopen({installedServiceNames: installedServiceNames}); installerStep7Controller.resolveStormConfigs(configs); @@ -782,14 +782,14 @@ describe('App.InstallerStep7Controller', function () { it('should replace host name for *.childopts properties if Ganglia is in installedServiceNames for Add Service Wizard', function () { var installedServiceNames = ['GANGLIA'], configs = [ - {name: 'nimbus.childopts', value: '.jar=host=host2', defaultValue: ''}, - {name: 'supervisor.childopts', value: '.jar=host=host2', defaultValue: ''}, - {name: 'worker.childopts', value: '.jar=host=host2', defaultValue: ''} + {name: 'nimbus.childopts', value: '.jar=host=host2', recommendedValue: ''}, + {name: 'supervisor.childopts', value: '.jar=host=host2', recommendedValue: ''}, + {name: 'worker.childopts', value: '.jar=host=host2', recommendedValue: ''} ], expected = [ - {name: 'nimbus.childopts', value: '.jar=host=realhost1', defaultValue: '.jar=host=realhost1', forceUpdate: true}, - {name: 'supervisor.childopts', value: '.jar=host=realhost1', defaultValue: '.jar=host=realhost1', forceUpdate: true}, - {name: 'worker.childopts', value: '.jar=host=realhost1', defaultValue: '.jar=host=realhost1', forceUpdate: true} + {name: 'nimbus.childopts', value: '.jar=host=realhost1', recommendedValue: '.jar=host=realhost1'}, + {name: 'supervisor.childopts', value: '.jar=host=realhost1', recommendedValue: '.jar=host=realhost1'}, + {name: 'worker.childopts', value: '.jar=host=realhost1', recommendedValue: '.jar=host=realhost1'} ]; installerStep7Controller.reopen({ installedServiceNames: installedServiceNames, @@ -1691,9 +1691,9 @@ describe('App.InstallerStep7Controller', function () { var properties = configs.filterProperty('name', 'hbase.client.scanner.caching'); expect(properties).to.have.length(2); expect(properties.findProperty('filename', 'hbase-site.xml').value).to.equal('1500'); - expect(properties.findProperty('filename', 'hbase-site.xml').defaultValue).to.equal('1500'); + expect(properties.findProperty('filename', 'hbase-site.xml').savedValue).to.equal('1500'); expect(properties.findProperty('filename', 'ams-hbase-site.xml').value).to.equal('2500'); - expect(properties.findProperty('filename', 'ams-hbase-site.xml').defaultValue).to.equal('2500'); + expect(properties.findProperty('filename', 'ams-hbase-site.xml').savedValue).to.equal('2500'); }); }); http://git-wip-us.apache.org/repos/asf/ambari/blob/07616603/ambari-web/test/controllers/wizard/step8_test.js ---------------------------------------------------------------------- diff --git a/ambari-web/test/controllers/wizard/step8_test.js b/ambari-web/test/controllers/wizard/step8_test.js index 432f8e0..67631a6 100644 --- a/ambari-web/test/controllers/wizard/step8_test.js +++ b/ambari-web/test/controllers/wizard/step8_test.js @@ -413,42 +413,6 @@ describe('App.WizardStep8Controller', function () { }); }); - describe('#getGlobConfigValueWithOverrides', function () { - it('should retun empty objects', function () { - expect(installerStep8Controller.getGlobConfigValueWithOverrides('','','')).to.eql({ - "value": "", - "overrides": [] - }); - }); - it('should retun overrides', function () { - var expression = '<cod index=[1]></cod index=[2]>'; - installerStep8Controller.set('configs', Em.A([ - Em.Object.create({ - name:'name', overrides: Em.A([ - Em.Object.create({ - value: '4', - hosts: Em.A(['h1','h2']) - }) - ]) - }) - ])); - var names = Em.A(['name0', 'name', 'name', 'ad']); - var result = { - "value": "undefinedundefined", - "overrides": [ - { - "value": "44", - "hosts": [ - "h1", - "h2" - ] - } - ] - }; - expect(installerStep8Controller.getGlobConfigValueWithOverrides(names,expression,'')).to.eql(result); - }); - }); - describe('#isConfigsChanged', function () { it('should return true if config changed', function () { var properties = Em.Object.create({ @@ -1692,25 +1656,6 @@ describe('App.WizardStep8Controller', function () { }); }); - describe('#addDynamicProperties', function() { - it('shouldn\'t add property', function() { - var serviceConfigProperties = [ - {name: 'templeton.hive.properties'} - ], - configs = []; - installerStep8Controller.reopen({content: {serviceConfigProperties: serviceConfigProperties}}); - installerStep8Controller.addDynamicProperties(configs); - expect(configs.length).to.equal(0); - }); - it('should add property', function() { - var serviceConfigProperties = [], - configs = []; - installerStep8Controller.reopen({content: {serviceConfigProperties: serviceConfigProperties}}); - installerStep8Controller.addDynamicProperties(configs); - expect(configs.length).to.equal(1); - }); - }); - describe('#applyInstalledServicesConfigurationGroup', function() { beforeEach(function() { sinon.stub($, 'ajax', function () { @@ -1750,45 +1695,14 @@ describe('App.WizardStep8Controller', function () { describe('#loadUiSideConfigs', function() { beforeEach(function() { - sinon.stub(installerStep8Controller, 'addDynamicProperties', Em.K); - sinon.stub(installerStep8Controller, 'getGlobConfigValueWithOverrides', function(t, v, n) { - return { - value: v, - overrides: [] - } - }); sinon.stub(App.config, 'setConfigValue', Em.K); }); afterEach(function() { - installerStep8Controller.addDynamicProperties.restore(); - installerStep8Controller.getGlobConfigValueWithOverrides.restore(); App.config.setConfigValue.restore(); }); - it('all configs witohut foreignKey', function() { + it('configs with foreignKey', function() { var configMapping = [ - {foreignKey: null, templateName: 't1', value: 'v1', name: 'c1', filename: 'f1'}, - {foreignKey: null, templateName: 't2', value: 'v2', name: 'c2', filename: 'f2'}, - {foreignKey: null, templateName: 't3', value: 'v3', name: 'c3', filename: 'f2'}, - {foreignKey: null, templateName: 't4', value: 'v4', name: 'c4', filename: 'f1'} - ]; - var uiConfigs = installerStep8Controller.loadUiSideConfigs(configMapping); - expect(uiConfigs.length).to.equal(configMapping.length); - expect(uiConfigs.everyProperty('id', 'site property')).to.be.true; - uiConfigs.forEach(function(c, index) { - expect(c.overrides).to.be.an.array; - expect(c.value).to.equal(configMapping[index].value); - expect(c.name).to.equal(configMapping[index].name); - expect(c.filename).to.equal(configMapping[index].filename); - }); - }); - - it('some configs witohut foreignKey', function() { - var configMapping = [ - {foreignKey: null, templateName: 't1', value: 'v1', name: 'c1', filename: 'f1'}, - {foreignKey: null, templateName: 't2', value: 'v2', name: 'c2', filename: 'f2'}, - {foreignKey: null, templateName: 't3', value: 'v3', name: 'c3', filename: 'f2'}, - {foreignKey: null, templateName: 't4', value: 'v4', name: 'c4', filename: 'f1'}, {foreignKey: 'fk1', templateName: 't5', value: 'v5', name: 'c5', filename: 'f1'}, {foreignKey: 'fk2', templateName: 't6', value: 'v6', name: 'c6', filename: 'f1'}, {foreignKey: 'fk3', templateName: 't7', value: 'v7', name: 'c7', filename: 'f2'}, @@ -2187,52 +2101,6 @@ describe('App.WizardStep8Controller', function () { }); }); - describe("#addDynamicProperties", function() { - - var tests = [ - { - content: Em.Object.create({ - serviceConfigProperties: [ - Em.Object.create({ - configs: [] - }) - ] - }), - m: 'add dynamic property', - addDynamic: true - }, - { - content: Em.Object.create({ - serviceConfigProperties: [ - Em.Object.create({ - name: 'templeton.hive.properties' - }) - ] - }), - m: 'don\'t add dynamic property (already included)', - addDynamic: false - } - ], - dynamicProperty = { - name: 'templeton.hive.properties', - templateName: ['hive.metastore.uris'], - foreignKey: null, - value: 'hive.metastore.local=false,hive.metastore.uris=<templateName[0]>,hive.metastore.sasl.enabled=yes,hive.metastore.execute.setugi=true,hive.metastore.warehouse.dir=/apps/hive/warehouse', - filename: 'webhcat-site.xml' - }; - - tests.forEach(function(t) { - it(t.m, function() { - installerStep8Controller.set('content', t.content); - var configs = []; - installerStep8Controller.addDynamicProperties(configs); - if (t.addDynamic){ - expect(configs.findProperty('name', 'templeton.hive.properties')).to.deep.eql(dynamicProperty); - } - }); - }); - }); - describe('#isAllClusterDeleteRequestsCompleted', function () { it('should depend on completed cluster delete requests number', function () { installerStep8Controller.setProperties({ http://git-wip-us.apache.org/repos/asf/ambari/blob/07616603/ambari-web/test/controllers/wizard_test.js ---------------------------------------------------------------------- diff --git a/ambari-web/test/controllers/wizard_test.js b/ambari-web/test/controllers/wizard_test.js index 9b9c06f..a94e31a 100644 --- a/ambari-web/test/controllers/wizard_test.js +++ b/ambari-web/test/controllers/wizard_test.js @@ -186,7 +186,7 @@ describe('App.WizardController', function () { id: 'id', name: 'name', value: 'value', - defaultValue: 'defaultValue', + recommendedValue: 'recommendedValue', description: 'description', serviceName: 'serviceName', domain: 'domain', http://git-wip-us.apache.org/repos/asf/ambari/blob/07616603/ambari-web/test/data/HDP2/site_properties_test.js ---------------------------------------------------------------------- diff --git a/ambari-web/test/data/HDP2/site_properties_test.js b/ambari-web/test/data/HDP2/site_properties_test.js index 0336f92..ced9376 100644 --- a/ambari-web/test/data/HDP2/site_properties_test.js +++ b/ambari-web/test/data/HDP2/site_properties_test.js @@ -29,13 +29,13 @@ describe('hdp2SiteProperties', function () { }); }); - // No site properties should have value and defaultValue defined on client side. + // No site properties should have value and recommendedValue defined on client side. // These should be always retrieved from server. siteProperties.forEach(function(siteProperty){ - it('Check value and defaultValue attribute of "' + siteProperty.name + '"' + '. It should not be defined ', function () { + it('Check value and recommendedValue attribute of "' + siteProperty.name + '"' + '. It should not be defined ', function () { expect(siteProperty.value).to.equal(undefined); - expect(siteProperty.defaultValue).to.equal(undefined); + expect(siteProperty.recommendedValue).to.equal(undefined); }); }); http://git-wip-us.apache.org/repos/asf/ambari/blob/07616603/ambari-web/test/mappers/configs/config_versions_mapper_test.js ---------------------------------------------------------------------- diff --git a/ambari-web/test/mappers/configs/config_versions_mapper_test.js b/ambari-web/test/mappers/configs/config_versions_mapper_test.js index 4e590fe..bf0b145 100644 --- a/ambari-web/test/mappers/configs/config_versions_mapper_test.js +++ b/ambari-web/test/mappers/configs/config_versions_mapper_test.js @@ -118,9 +118,9 @@ describe('App.configVersionsMapper', function () { //CONFIG_PROPERTY expect(App.ConfigProperty.find('dtnode_heapsize_hadoop-env_4').get('value')).to.eql('1026m'); - expect(App.ConfigProperty.find('dtnode_heapsize_hadoop-env_4').get('defaultValue')).to.equal('1026m'); + expect(App.ConfigProperty.find('dtnode_heapsize_hadoop-env_4').get('recommendedValue')).to.equal('1026m'); expect(App.ConfigProperty.find('dtnode_heapsize_hadoop-env_4').get('isFinal')).to.be.false; - expect(App.ConfigProperty.find('dtnode_heapsize_hadoop-env_4').get('defaultIsFinal')).to.be.false; + expect(App.ConfigProperty.find('dtnode_heapsize_hadoop-env_4').get('recommendedIsFinal')).to.be.false; }); }); http://git-wip-us.apache.org/repos/asf/ambari/blob/07616603/ambari-web/test/mappers/configs/stack_config_properties_mapper_test.js ---------------------------------------------------------------------- diff --git a/ambari-web/test/mappers/configs/stack_config_properties_mapper_test.js b/ambari-web/test/mappers/configs/stack_config_properties_mapper_test.js index 416a14f..8fcb30e 100644 --- a/ambari-web/test/mappers/configs/stack_config_properties_mapper_test.js +++ b/ambari-web/test/mappers/configs/stack_config_properties_mapper_test.js @@ -174,8 +174,8 @@ describe('App.stackConfigPropertiesMapper', function () { expect(App.StackConfigProperty.find('p1_site1').get('name')).to.eql('p1'); expect(App.StackConfigProperty.find('p1_site1').get('displayName')).to.eql('P1'); expect(App.StackConfigProperty.find('p1_site1').get('description')).to.eql('desc1'); - expect(App.StackConfigProperty.find('p1_site1').get('defaultValue')).to.eql('v1'); - expect(App.StackConfigProperty.find('p1_site1').get('defaultIsFinal')).to.be.false; + expect(App.StackConfigProperty.find('p1_site1').get('recommendedValue')).to.eql('v1'); + expect(App.StackConfigProperty.find('p1_site1').get('recommendedIsFinal')).to.be.false; expect(App.StackConfigProperty.find('p1_site1').get('serviceName')).to.eql('s1'); expect(App.StackConfigProperty.find('p1_site1').get('stackName')).to.eql('HDP'); expect(App.StackConfigProperty.find('p1_site1').get('stackVersion')).to.eql('2.2'); http://git-wip-us.apache.org/repos/asf/ambari/blob/07616603/ambari-web/test/mock_data_setup/configs_mock_data.js ---------------------------------------------------------------------- diff --git a/ambari-web/test/mock_data_setup/configs_mock_data.js b/ambari-web/test/mock_data_setup/configs_mock_data.js index 0136f9b..6c50628 100644 --- a/ambari-web/test/mock_data_setup/configs_mock_data.js +++ b/ambari-web/test/mock_data_setup/configs_mock_data.js @@ -226,7 +226,7 @@ module.exports = { "c6401.ambari.apache.org", "c6402.ambari.apache.org" ], - "defaultValue":"['c6401.ambari.apache.org','c6402.ambari.apache.org']", + "recommendedValue":"['c6401.ambari.apache.org','c6402.ambari.apache.org']", "filename":"storm-site.xml", "isUserProperty":false, "isOverridable":false, @@ -243,7 +243,7 @@ module.exports = { { "name":"single_line_property", "value":"value", - "defaultValue":"value", + "recommendedValue":"value", "filename":"storm-site.xml", "isUserProperty":true, "isOverridable":true, @@ -257,7 +257,7 @@ module.exports = { { "name":"multi_line_property", "value":"value \n value", - "defaultValue":"value \n value", + "recommendedValue":"value \n value", "filename":"storm-site.xml", "isUserProperty":true, "isOverridable":true, @@ -271,7 +271,7 @@ module.exports = { { "name":"nonexistent_property", "value":"some value", - "defaultValue":"some value", + "recommendedValue":"some value", "filename":"storm-env.xml", "isUserProperty":false, "isOverridable":true, @@ -285,7 +285,7 @@ module.exports = { { "name":"dfs.datanode.data.dir", "value":"/a,/b", - "defaultValue":"/a,/b", + "recommendedValue":"/a,/b", "filename":"hdfs-site.xml", "isUserProperty":false, "isOverridable":true, @@ -305,7 +305,7 @@ module.exports = { { "name":"content", "value":"custom mock property", - "defaultValue":"custom mock property", + "recommendedValue":"custom mock property", "filename":"hdfs-site.xml", "isUserProperty":false, "isOverridable":true, @@ -325,7 +325,7 @@ module.exports = { { "name":"content", "value":"hdfs log4j content", - "defaultValue":"hdfs log4j content", + "recommendedValue":"hdfs log4j content", "filename":"hdfs-log4j.xml", "isUserProperty":false, "isOverridable":true, @@ -345,7 +345,7 @@ module.exports = { { "name":"storm_log_dir", "value":"/var/log/storm", - "defaultValue":"/var/log/storm", + "recommendedValue":"/var/log/storm", "filename":"storm-env.xml", "isUserProperty":false, "isOverridable":true, http://git-wip-us.apache.org/repos/asf/ambari/blob/07616603/ambari-web/test/models/configs/config_property_test.js ---------------------------------------------------------------------- diff --git a/ambari-web/test/models/configs/config_property_test.js b/ambari-web/test/models/configs/config_property_test.js index 84cae0b..5faad7a 100644 --- a/ambari-web/test/models/configs/config_property_test.js +++ b/ambari-web/test/models/configs/config_property_test.js @@ -43,7 +43,7 @@ describe('App.ConfigProperty', function () { }); }); - describe('#isNotDefaultValue', function () { + describe.skip('#isNotDefaultValue', function () { var tests = [ { isEditable: false, value: 1, defaultValue: 2, supportsFinal: true, isFinal: true, defaultIsFinal: false, isNotDefaultValue: false }, { isEditable: true, value: 1, defaultValue: 1, supportsFinal: false, isFinal: true, defaultIsFinal: true, isNotDefaultValue: false }, http://git-wip-us.apache.org/repos/asf/ambari/blob/07616603/ambari-web/test/models/configs/objects/service_config_property_test.js ---------------------------------------------------------------------- diff --git a/ambari-web/test/models/configs/objects/service_config_property_test.js b/ambari-web/test/models/configs/objects/service_config_property_test.js index a71e838..a364810 100644 --- a/ambari-web/test/models/configs/objects/service_config_property_test.js +++ b/ambari-web/test/models/configs/objects/service_config_property_test.js @@ -185,7 +185,7 @@ var serviceConfigProperty, initial: { id: 'puppet var', value: '', - defaultValue: 'default' + savedValue: 'default' }, result: { value: 'default' @@ -197,17 +197,17 @@ var serviceConfigProperty, isEditable: false }, { - defaultValue: null + savedValue: null }, { value: 'value', - defaultValue: 'value' + savedValue: 'value' } ], notDefaultTrueData = { isEditable: true, value: 'value', - defaultValue: 'default' + savedValue: 'default' }, types = ['masterHost', 'slaveHosts', 'masterHosts', 'slaveHost', 'radio button'], classCases = [ http://git-wip-us.apache.org/repos/asf/ambari/blob/07616603/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 ccc6931..ae85b15 100644 --- a/ambari-web/test/utils/config_test.js +++ b/ambari-web/test/utils/config_test.js @@ -66,11 +66,11 @@ describe('App.config', function () { config = { displayType: 'int', value: '1024m', - defaultValue: '1024m' + savedValue: '1024m' }; App.config.handleSpecialProperties(config); expect(config.value).to.equal('1024'); - expect(config.defaultValue).to.equal('1024'); + expect(config.savedValue).to.equal('1024'); }); }); @@ -80,13 +80,13 @@ describe('App.config', function () { { name: 'config1', value: 'value1', - defaultValue: 'value1', + recommendedValue: 'value1', filename: 'capacity-scheduler.xml' }, { name: 'config2', value: 'value2', - defaultValue: 'value2', + recommendedValue: 'value2', filename: 'capacity-scheduler.xml' } ]; @@ -94,19 +94,19 @@ describe('App.config', function () { var result = App.config.fileConfigsIntoTextarea.call(App.config, configs, filename); expect(result.length).to.equal(1); expect(result[0].value).to.equal('config1=value1\nconfig2=value2\n'); - expect(result[0].defaultValue).to.equal('config1=value1\nconfig2=value2\n'); + expect(result[0].recommendedValue).to.equal('config1=value1\nconfig2=value2\n'); }); it('three config into textarea', function () { configs.push({ name: 'config3', value: 'value3', - defaultValue: 'value3', + recommendedValue: 'value3', filename: 'capacity-scheduler.xml' }); var result = App.config.fileConfigsIntoTextarea.call(App.config, configs, filename); expect(result.length).to.equal(1); expect(result[0].value).to.equal('config1=value1\nconfig2=value2\nconfig3=value3\n'); - expect(result[0].defaultValue).to.equal('config1=value1\nconfig2=value2\nconfig3=value3\n'); + expect(result[0].recommendedValue).to.equal('config1=value1\nconfig2=value2\nconfig3=value3\n'); }); it('one of three configs has different filename', function () { configs[1].filename = 'another filename'; @@ -114,7 +114,7 @@ describe('App.config', function () { //result contains two configs: one with different filename and one textarea config expect(result.length).to.equal(2); expect(result[1].value).to.equal('config1=value1\nconfig3=value3\n'); - expect(result[1].defaultValue).to.equal('config1=value1\nconfig3=value3\n'); + expect(result[1].recommendedValue).to.equal('config1=value1\nconfig3=value3\n'); }); it('none configs into empty textarea', function () { filename = 'capacity-scheduler.xml'; @@ -122,34 +122,34 @@ describe('App.config', function () { var result = App.config.fileConfigsIntoTextarea.call(App.config, configs, filename); expect(result.length).to.equal(1); expect(result[0].value).to.equal(''); - expect(result[0].defaultValue).to.equal(''); + expect(result[0].recommendedValue).to.equal(''); }); it("filename has configs that shouldn't be included in textarea", function () { var configs = [ { name: 'config1', value: 'value1', - defaultValue: 'value1', + recommendedValue: 'value1', filename: filename }, { name: 'config2', value: 'value2', - defaultValue: 'value2', + recommendedValue: 'value2', filename: filename } ]; var cfg = { name: 'config3', value: 'value3', - defaultValue: 'value3', + recommendedValue: 'value3', filename: filename }; configs.push(cfg); var result = App.config.fileConfigsIntoTextarea.call(App.config, configs, filename, [cfg]); expect(result.length).to.equal(2); expect(result[1].value).to.equal('config1=value1\nconfig2=value2\n'); - expect(result[1].defaultValue).to.equal('config1=value1\nconfig2=value2\n'); + expect(result[1].recommendedValue).to.equal('config1=value1\nconfig2=value2\n'); expect(configs.findProperty('name', 'config3')).to.eql(cfg); }); }); @@ -409,7 +409,7 @@ describe('App.config', function () { }); it('bigtop should use New PostgreSQL Database as its default hive metastore database', function () { - expect(App.config.get('preDefinedSiteProperties').findProperty('defaultValue', 'New PostgreSQL Database')).to.be.ok; + expect(App.config.get('preDefinedSiteProperties').findProperty('recommendedValue', 'New PostgreSQL Database')).to.be.ok; }); after(function() { @@ -423,7 +423,7 @@ describe('App.config', function () { }); it('HDP2 should use New MySQL Database as its default hive metastore database', function () { - expect(App.config.get('preDefinedSiteProperties').findProperty('defaultValue', 'New MySQL Database')).to.be.ok; + expect(App.config.get('preDefinedSiteProperties').findProperty('recommendedValue', 'New MySQL Database')).to.be.ok; }); after(function() { @@ -901,12 +901,12 @@ describe('App.config', function () { name: 'prop_name0', serviceName: 's0', value: 'v0', - defaultValue: 'dv0', + savedValue: 'dv0', filename: 'fn0.xml', overrides: null, isVisible: false, isFinal: true, - defaultIsFinal: false, + savedIsFinal: false, supportsFinal: true, category: 'c0' }, @@ -916,7 +916,7 @@ describe('App.config', function () { displayName: 'Prop Name0', serviceName: 's0', value: 'v0', - defaultValue: 'dv0', + savedValue: 'dv0', displayType: 'advanced', filename: 'fn0.xml', isUserProperty: false, @@ -926,7 +926,7 @@ describe('App.config', function () { isRequired: false, isVisible: false, isFinal: true, - defaultIsFinal: false, + savedIsFinal: false, supportsFinal: true, showLabel: true, category: 'c0' @@ -1129,7 +1129,7 @@ describe('App.config', function () { { name: 'falcon_user', value: '', - defaultValue: 'fu' + recommendedValue: 'fu' } ], m: 'in all, default value used', http://git-wip-us.apache.org/repos/asf/ambari/blob/07616603/ambari-web/test/utils/configs/config_property_helper_test.js ---------------------------------------------------------------------- diff --git a/ambari-web/test/utils/configs/config_property_helper_test.js b/ambari-web/test/utils/configs/config_property_helper_test.js index d66f402..1e48c54 100644 --- a/ambari-web/test/utils/configs/config_property_helper_test.js +++ b/ambari-web/test/utils/configs/config_property_helper_test.js @@ -85,11 +85,11 @@ describe('configPropertyHelper', function () { serviceConfigProperty = App.ServiceConfigProperty.create(); }); - describe('#setDefaultValue', function () { - it('should change the default value', function () { - serviceConfigProperty.set('defaultValue', 'value0'); - configPropertyHelper.setDefaultValue(serviceConfigProperty, /\d/, '1'); - expect(serviceConfigProperty.get('defaultValue')).to.equal('value1'); + describe('#setRecommendedValue', function () { + it('should change the recommended value', function () { + serviceConfigProperty.set('recommendedValue', 'value0'); + configPropertyHelper.setRecommendedValue(serviceConfigProperty, /\d/, '1'); + expect(serviceConfigProperty.get('recommendedValue')).to.equal('value1'); }); }); @@ -194,13 +194,13 @@ describe('configPropertyHelper', function () { { filename: 'hbase-site.xml', value: 'host0,host1', - defaultValue: 'host0,host1', + recommendedValue: 'host0,host1', title: 'should set ZooKeeper Server hostnames' }, { filename: 'ams-hbase-site.xml', value: 'localhost', - defaultValue: '', + recommendedValue: null, title: 'should ignore ZooKeeper Server hostnames' } ], @@ -272,7 +272,7 @@ describe('configPropertyHelper', function () { dependencies: { 'hive.metastore.uris': 'thrift://localhost:9083' }, - defaultValue: 'thrift://localhost:9083', + recommendedValue: 'thrift://localhost:9083', value: 'thrift://h0:9083,thrift://h1:9083', title: 'comma separated list of Metastore hosts with thrift prefix and port' }, @@ -292,7 +292,7 @@ describe('configPropertyHelper', function () { dependencies: { 'hive.metastore.uris': 'thrift://localhost:9083' }, - defaultValue: 'hive.metastore.local=false,hive.metastore.uris=thrift://localhost:9933,hive.metastore.sasl.enabled=false', + recommendedValue: 'hive.metastore.local=false,hive.metastore.uris=thrift://localhost:9933,hive.metastore.sasl.enabled=false', value: 'hive.metastore.local=false,hive.metastore.uris=thrift://h0:9083\\,thrift://h1:9083,hive.metastore.sasl.enabled=false,hive.metastore.execute.setugi=true', title: 'should add relevant hive.metastore.uris value' }, @@ -312,7 +312,7 @@ describe('configPropertyHelper', function () { dependencies: { clientPort: '2182' }, - defaultValue: 'localhost:2181', + recommendedValue: 'localhost:2181', value: 'h0:2182', title: 'should add ZK host and port dynamically' }, @@ -399,7 +399,7 @@ describe('configPropertyHelper', function () { } }); expect(serviceConfigProperty.get('value')).to.equal(item.value); - expect(serviceConfigProperty.get('defaultValue')).to.equal(item.defaultValue); + expect(serviceConfigProperty.get('recommendedValue')).to.equal(item.recommendedValue); }); }); @@ -435,32 +435,32 @@ describe('configPropertyHelper', function () { it(cases['hive.metastore.uris'].title, function () { serviceConfigProperty.setProperties({ name: 'hive.metastore.uris', - defaultValue: cases['hive.metastore.uris'].defaultValue + recommendedValue: cases['hive.metastore.uris'].recommendedValue }); configPropertyHelper.initialValue(serviceConfigProperty, cases['hive.metastore.uris'].localDB, cases['hive.metastore.uris'].dependencies); expect(serviceConfigProperty.get('value')).to.equal(cases['hive.metastore.uris'].value); - expect(serviceConfigProperty.get('defaultValue')).to.equal(cases['hive.metastore.uris'].value); + expect(serviceConfigProperty.get('recommendedValue')).to.equal(cases['hive.metastore.uris'].value); }); it(cases['templeton.hive.properties'].title, function () { serviceConfigProperty.setProperties({ name: 'templeton.hive.properties', - defaultValue: cases['templeton.hive.properties'].defaultValue, - value: cases['templeton.hive.properties'].defaultValue + recommendedValue: cases['templeton.hive.properties'].recommendedValue, + value: cases['templeton.hive.properties'].recommendedValue }); configPropertyHelper.initialValue(serviceConfigProperty, cases['templeton.hive.properties'].localDB, cases['templeton.hive.properties'].dependencies); expect(serviceConfigProperty.get('value')).to.equal(cases['templeton.hive.properties'].value); - expect(serviceConfigProperty.get('defaultValue')).to.equal(cases['templeton.hive.properties'].value); + expect(serviceConfigProperty.get('recommendedValue')).to.equal(cases['templeton.hive.properties'].value); }); it(cases['yarn.resourcemanager.zk-address'].title, function () { serviceConfigProperty.setProperties({ name: 'yarn.resourcemanager.zk-address', - defaultValue: cases['yarn.resourcemanager.zk-address'].defaultValue + recommendedValue: cases['yarn.resourcemanager.zk-address'].recommendedValue }); configPropertyHelper.initialValue(serviceConfigProperty, cases['yarn.resourcemanager.zk-address'].localDB, cases['yarn.resourcemanager.zk-address'].dependencies); expect(serviceConfigProperty.get('value')).to.equal(cases['yarn.resourcemanager.zk-address'].value); - expect(serviceConfigProperty.get('defaultValue')).to.equal(cases['yarn.resourcemanager.zk-address'].value); + expect(serviceConfigProperty.get('recommendedValue')).to.equal(cases['yarn.resourcemanager.zk-address'].value); }); it(cases['oozieserver_host'].title, function () { @@ -495,7 +495,7 @@ describe('configPropertyHelper', function () { component: 'HIVE_METASTORE' } ], - defaultValue: 'thrift://localhost:9083', + recommendedValue: 'thrift://localhost:9083', expected: 'thrift://h1:9083,thrift://h2:9083', title: 'typical case' }, @@ -506,7 +506,7 @@ describe('configPropertyHelper', function () { component: 'HIVE_SERVER' } ], - defaultValue: 'thrift://localhost:9083', + recommendedValue: 'thrift://localhost:9083', expected: '', title: 'no Metastore hosts in DB' }, @@ -525,7 +525,7 @@ describe('configPropertyHelper', function () { component: 'HIVE_METASTORE' } ], - defaultValue: '', + recommendedValue: '', expected: '', title: 'default value without port' }, @@ -551,7 +551,7 @@ describe('configPropertyHelper', function () { cases.forEach(function (item) { it(item.title, function () { - expect(configPropertyHelper.getHiveMetastoreUris(item.hosts, item.defaultValue)).to.equal(item.expected); + expect(configPropertyHelper.getHiveMetastoreUris(item.hosts, item.recommendedValue)).to.equal(item.expected); }); }); @@ -862,7 +862,7 @@ describe('configPropertyHelper', function () { }); configPropertyHelper.unionAllMountPoints(serviceConfigProperty, item.isOnlyFirstOneNeeded, localDB); expect(serviceConfigProperty.get('value')).to.equal(item.value); - expect(serviceConfigProperty.get('defaultValue')).to.equal(item.value); + expect(serviceConfigProperty.get('recommendedValue')).to.equal(item.value); }); });
