Sfoglia il codice sorgente

AMBARI-8003 UI changes for Ambari Datanode directories need to allow for heterogeneous storage tags 2. (ababiichuk)

aBabiichuk 10 anni fa
parent
commit
bcf1c9914b

+ 1 - 1
ambari-web/app/models/service_config.js

@@ -808,7 +808,7 @@ App.ServiceConfigProperty = Ember.Object.extend({
           break;
           break;
         case 'datanodedirs':
         case 'datanodedirs':
           if (!validator.isValidDataNodeDir(value)) {
           if (!validator.isValidDataNodeDir(value)) {
-            this.set('errorMessage', 'dir format is wrong, can be "[{storage type}] /{dir name}"');
+            this.set('errorMessage', 'dir format is wrong, can be "[{storage type}]/{dir name}"');
             isError = true;
             isError = true;
           }
           }
           else {
           else {

+ 1 - 1
ambari-web/app/utils/validator.js

@@ -62,7 +62,7 @@ module.exports = {
    * @returns {boolean}
    * @returns {boolean}
    */
    */
   isValidDataNodeDir: function(value) {
   isValidDataNodeDir: function(value) {
-    var floatRegex = /(^\[[0-9a-z]+\]$)|(^\/[0-9a-z]*)/;
+    var floatRegex = /^(\[[0-9a-z]+\])?(\/[0-9a-z]*)/;
     var dirs = value.replace(/,/g,' ').trim().split(new RegExp("\\s+", "g"));
     var dirs = value.replace(/,/g,' ').trim().split(new RegExp("\\s+", "g"));
     for(var i = 0; i < dirs.length; i++){
     for(var i = 0; i < dirs.length; i++){
       if(!floatRegex.test(dirs[i])){
       if(!floatRegex.test(dirs[i])){

+ 3 - 3
ambari-web/test/utils/validator_test.js

@@ -296,7 +296,7 @@ describe('validator', function () {
       })
       })
     });
     });
   });
   });
-  describe.only('#isValidDataNodeDir(value)', function() {
+  describe('#isValidDataNodeDir(value)', function() {
     var tests = [
     var tests = [
       {m:'"dir" - invalid',i:'dir',e:false},
       {m:'"dir" - invalid',i:'dir',e:false},
       {m:'"/dir" - valid',i:'/dir',e:true},
       {m:'"/dir" - valid',i:'/dir',e:true},
@@ -305,9 +305,9 @@ describe('validator', function () {
       {m:'"/123" - valid',i:'/111',e:true},
       {m:'"/123" - valid',i:'/111',e:true},
       {m:'"/abc" - valid',i:'/abc',e:true},
       {m:'"/abc" - valid',i:'/abc',e:true},
       {m:'"/1a2b3c" - valid',i:'/1a2b3c',e:true},
       {m:'"/1a2b3c" - valid',i:'/1a2b3c',e:true},
-      {m:'"[ssd] /1a2b3c" - valid',i:'[ssd] /1a2b3c',e:true},
+      {m:'"[ssd]/1a2b3c" - valid',i:'[ssd]/1a2b3c',e:true},
       {m:'"[] /1a2b3c" - invalid',i:'[] /1a2b3c',e:false},
       {m:'"[] /1a2b3c" - invalid',i:'[] /1a2b3c',e:false},
-      {m:'"[ssd]/1a2b3c" - invalid',i:'[ssd]/1a2b3c',e:false},
+      {m:'"[ssd] /1a2b3c" - invalid',i:'[ssd] /1a2b3c',e:false},
       {m:'"[/1a2b3c]" - invalid',i:'[/1a2b3c]',e:false},
       {m:'"[/1a2b3c]" - invalid',i:'[/1a2b3c]',e:false},
       {m:'"[s]ss /sd" - invalid',i:'[s]ss /sd',e:false}
       {m:'"[s]ss /sd" - invalid',i:'[s]ss /sd',e:false}