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);
+    });
+
   });
 
 });

Reply via email to