Repository: ambari Updated Branches: refs/heads/trunk 57138c3d3 -> c2cfab3ac
AMBARI-5159. Storm config page not available. (onechiporenko) Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/c2cfab3a Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/c2cfab3a Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/c2cfab3a Branch: refs/heads/trunk Commit: c2cfab3acbf965603d13665c13634f9b6aa21d8a Parents: 57138c3 Author: Oleg Nechiporenko <[email protected]> Authored: Thu Mar 20 15:03:59 2014 +0200 Committer: Oleg Nechiporenko <[email protected]> Committed: Thu Mar 20 15:04:33 2014 +0200 ---------------------------------------------------------------------- .../validators/service_configs_validator.js | 13 ++++++---- .../service_configs_validator_test.js | 25 ++++++++++++++++++++ 2 files changed, 33 insertions(+), 5 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/c2cfab3a/ambari-web/app/utils/configs/validators/service_configs_validator.js ---------------------------------------------------------------------- diff --git a/ambari-web/app/utils/configs/validators/service_configs_validator.js b/ambari-web/app/utils/configs/validators/service_configs_validator.js index 93b2475..eec25d2 100644 --- a/ambari-web/app/utils/configs/validators/service_configs_validator.js +++ b/ambari-web/app/utils/configs/validators/service_configs_validator.js @@ -62,27 +62,30 @@ App.ServiceConfigsValidator = Em.Object.extend({ } defaultValue = parseInt(defaultValue.toString().replace( /\D+/g, '')); if (defaultValue && currentValue && currentValue < defaultValue) { - return "Value is less than the recommended default of "+defaultValue; + return "Value is less than the recommended default of " + defaultValue; } return null; }, /** - * Check if provided <code>config.value</code> is less than <code>recommendedDefaults</code> + * Check if provided <code>config.value</code> is less than <code>recommendedDefaults</code> or <code>config.defaultValue</code> * Value looks like "-Xmx****m" * @param {object} config * @return {string|null} */ validateXmxValue: function(config) { - var defaultValueRaw = this.get('recommendedDefaults')[config.get('name')]; + var recomendedDefault = this.get('recommendedDefaults')[config.get('name')]; + var defaultValueRaw = Em.isNone(recomendedDefault) ? config.get('defaultValue') : recomendedDefault; + Em.assert('validateXmxValue: Config\'s default value can\'t be null or undefined', !Em.isNone(defaultValueRaw)); var currentValueRaw = config.get('value'); if (!this._checkXmxValueFormat(currentValueRaw)) { return 'Invalid value format'; } var currentValue = this._formatXmxSizeToBytes(this._getXmxSize(currentValueRaw)); - var defaultValue = this._formatXmxSizeToBytes(this._getXmxSize(defaultValueRaw)); + var defaultValueXmx = this._getXmxSize(defaultValueRaw); + var defaultValue = this._formatXmxSizeToBytes(defaultValueXmx); if (currentValue < defaultValue) { - return "Value is less than the recommended default of " + defaultValueRaw; + return "Value is less than the recommended default of -Xmx" + defaultValueXmx; } return null; }, http://git-wip-us.apache.org/repos/asf/ambari/blob/c2cfab3a/ambari-web/test/utils/configs/validators/service_configs_validator_test.js ---------------------------------------------------------------------- diff --git a/ambari-web/test/utils/configs/validators/service_configs_validator_test.js b/ambari-web/test/utils/configs/validators/service_configs_validator_test.js index 0729064..3da3ecb 100644 --- a/ambari-web/test/utils/configs/validators/service_configs_validator_test.js +++ b/ambari-web/test/utils/configs/validators/service_configs_validator_test.js @@ -262,6 +262,24 @@ describe('App.ServiceConfigsValidator', function() { name: 'property1' }), e: 'string' + }, + { + recommendedDefaults: {}, + config: Em.Object.create({ + defaultValue: '-Xmx123', + value: '-Xmx123', + name: 'name' + }), + e: null + }, + { + recommendedDefaults: {}, + config: Em.Object.create({ + defaultValue: '-Xmx124', + value: '-Xmx123', + name: 'name' + }), + e: 'string' } ]); tests.forEach(function(test) { @@ -277,6 +295,13 @@ describe('App.ServiceConfigsValidator', function() { } }); }); + + it('Error should be thrown', function() { + var v = App.ServiceConfigsValidator.create({}); + v.set('recommendedDefaults', {}); + expect(function() {v.validateXmxValue(Em.Object.create({value:''}));}).to.throw(Error); + }); + }); });
