Arik Hadas has uploaded a new change for review.

Change subject: webadmin: patterned pool names support
......................................................................

webadmin: patterned pool names support

This patch contains the frontend part of patterned pool names support.
the user can specify inside a pool name a mask for the indexes that are
included in the generated names of the VMs in the pool. that way, the
user can determine a fixed-length to the generated VM names.

The mask is a sequence of question-marks. the mask will be replaced with
a zero-padded number in the length of the mask corredponding to the
index of the VM in the pool, in the generate VM names.
for example, for the patterned pool name 'my???pool', the generated
names of the VMs will be:
my01pool, my02pool, ... , my999pool (it's the user's responsibility not
to set too many VMs in pool).

Change-Id: I7d0a5c6c06150493c2359686c3958bf92b3f69f7
Bug-Url: https://bugzilla.redhat.com/892260
Signed-off-by: Arik Hadas <[email protected]>
---
M 
backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/VmPool.java
M 
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dal/VdcBllMessages.java
M backend/manager/modules/dal/src/main/resources/bundles/AppErrors.properties
M 
frontend/webadmin/modules/frontend/src/main/java/org/ovirt/engine/ui/frontend/AppErrors.java
M 
frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/CommonApplicationMessages.java
M 
frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/AbstractVmPopupWidget.java
M 
frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/AbstractVmPopupWidget.ui.xml
M 
frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/pool/PoolNewPopupWidget.java
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/UnitVmModel.java
A 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/validation/PoolNameValidation.java
A 
frontend/webadmin/modules/uicommonweb/src/test/java/org/ovirt/engine/ui/uicommonweb/validation/PoolNameValidationTest.java
M 
frontend/webadmin/modules/uicompat/src/main/java/org/ovirt/engine/ui/uicompat/Constants.java
M 
frontend/webadmin/modules/userportal-gwtp/src/main/resources/org/ovirt/engine/ui/frontend/AppErrors.properties
M 
frontend/webadmin/modules/webadmin/src/main/resources/org/ovirt/engine/ui/frontend/AppErrors.properties
14 files changed, 169 insertions(+), 9 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/85/11985/1

diff --git 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/VmPool.java
 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/VmPool.java
index dbd97b3..5165e6d 100644
--- 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/VmPool.java
+++ 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/VmPool.java
@@ -49,6 +49,8 @@
 
     private int vmPoolRunningCount = 1;
 
+    public static final char MASK_CHARACTER = '?';
+
     public VmPool() {
     }
 
diff --git 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dal/VdcBllMessages.java
 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dal/VdcBllMessages.java
index 5553f04..a3d25ec 100644
--- 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dal/VdcBllMessages.java
+++ 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dal/VdcBllMessages.java
@@ -179,6 +179,7 @@
     ACTION_TYPE_FAILED_NAME_MAY_NOT_CONTAIN_SPECIAL_CHARS,
     ACTION_TYPE_FAILED_LINUX_BOOT_PARAMS_MAY_NOT_CONTAIN_TRIMMING_WHITESPACES,
     ACTION_TYPE_FAILED_NAME_MAY_NOT_CONTAIN_SPECIAL_CHARS_OR_DASH,
+    ACTION_TYPE_FAILED_INVALID_POOL_NAME,
     ACTION_TYPE_FAILED_INVALID_VDS_HOSTNAME,
     ACTION_TYPE_FAILED_HOSNAME_CANNOT_CHANGE,
     ACTION_TYPE_FAILED_HOST_NOT_EXIST,
diff --git 
a/backend/manager/modules/dal/src/main/resources/bundles/AppErrors.properties 
b/backend/manager/modules/dal/src/main/resources/bundles/AppErrors.properties
index 270f548..2471b05 100644
--- 
a/backend/manager/modules/dal/src/main/resources/bundles/AppErrors.properties
+++ 
b/backend/manager/modules/dal/src/main/resources/bundles/AppErrors.properties
@@ -639,6 +639,7 @@
 ACTION_TYPE_FAILED_NAME_MAY_NOT_CONTAIN_SPECIAL_CHARS=Can not ${action} 
${type}. The given name contains special characters. Only lower-case and 
upper-case letters, numbers, '_', '-', '.' are allowed.
 ACTION_TYPE_FAILED_NAME_MAY_NOT_CONTAIN_SPECIAL_CHARS_OR_DASH=Can not 
${action} ${type}. The given name contains special characters. Only lower-case 
and upper-case letters, numbers, '_', allowed.
 ACTION_TYPE_FAILED_INVALID_VDS_HOSTNAME=Can not ${action} ${type}. The given 
Host name is invalid. Only Host names corresponding to RFC-952 and RFC-1123 are 
allowed.
+ACTION_TYPE_FAILED_INVALID_POOL_NAME=Can not ${action} ${type}. The given name 
is invalid for pool name. Only lower-case and upper-case letters, numbers, '_', 
'-', '.', and one mask sequence are allowed.
 VM_CANNOT_RUN_ONCE_WITH_ILLEGAL_SYSPREP_PARAM=Missing UserName or Password.
 ACTION_TYPE_FAILED_CANNOT_REMOVE_BUILTIN_GROUP_EVERYONE=Cannot remove the 
built-in group "Everyone".
 ACTION_TYPE_FAILED_IMPORT_DATA_DOMAIN_PROHIBITED=Importing data domain is 
prohibited.
diff --git 
a/frontend/webadmin/modules/frontend/src/main/java/org/ovirt/engine/ui/frontend/AppErrors.java
 
b/frontend/webadmin/modules/frontend/src/main/java/org/ovirt/engine/ui/frontend/AppErrors.java
index 6657b57..01448a6 100644
--- 
a/frontend/webadmin/modules/frontend/src/main/java/org/ovirt/engine/ui/frontend/AppErrors.java
+++ 
b/frontend/webadmin/modules/frontend/src/main/java/org/ovirt/engine/ui/frontend/AppErrors.java
@@ -546,6 +546,9 @@
     @DefaultStringValue("Cannot ${action} ${type}. The selected Storage Domain 
does not contain the VM Template.")
     String ACTION_TYPE_FAILED_TEMPLATE_NOT_FOUND_ON_DESTINATION_DOMAIN();
 
+    @DefaultStringValue("Can not ${action} ${type}. The given name is invalid 
for pool name. Only lower-case and upper-case letters, numbers, '_', '-', '.', 
and one mask sequence are allowed.")
+    String ACTION_TYPE_FAILED_INVALID_POOL_NAME();
+
     @DefaultStringValue("Cannot ${action} ${type}. There is no active Host in 
the Data Center.")
     String ACTION_TYPE_FAILED_NO_VDS_IN_POOL();
 
diff --git 
a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/CommonApplicationMessages.java
 
b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/CommonApplicationMessages.java
index d9fe36b..b0d7bf9 100644
--- 
a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/CommonApplicationMessages.java
+++ 
b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/CommonApplicationMessages.java
@@ -1,5 +1,7 @@
 package org.ovirt.engine.ui.common;
 
+import org.ovirt.engine.core.common.businessentities.VmPool;
+
 import com.google.gwt.i18n.client.Messages;
 
 public interface CommonApplicationMessages extends Messages {
@@ -58,6 +60,12 @@
     @DefaultMessage("Number of Prestarted VMs defines the number of VMs in Run 
state , that are waiting to be attached to Users. Accepted values: 0 to the 
Number of VMs that already exists in the Pool.")
     String prestartedHelp();
 
+    @DefaultMessage("It is possible to specify mask for the VM indexes, for 
example: for pool ''my"
+            + VmPool.MASK_CHARACTER
+            + VmPool.MASK_CHARACTER
+            + "pool'' the generated names will be: 
my01pool,my02pool,...my99pool")
+    String poolNameHelp();
+
     @DefaultMessage("Free: {0} vCPU")
     String quotaFreeCpus(int numOfVCPU);
 
diff --git 
a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/AbstractVmPopupWidget.java
 
b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/AbstractVmPopupWidget.java
index 53aacde..6fb96f7 100644
--- 
a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/AbstractVmPopupWidget.java
+++ 
b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/AbstractVmPopupWidget.java
@@ -118,9 +118,17 @@
     public ListModelListBoxEditor<Object> quotaEditor;
 
     @UiField
+    @Ignore
+    public Label nameLabel;
+
+    @UiField
     @Path(value = "name.entity")
     @WithElementId("name")
-    public EntityModelTextBoxEditor nameEditor;
+    public EntityModelTextBoxOnlyEditor nameEditor;
+
+    @UiField(provided = true)
+    @Ignore
+    public InfoIcon poolNameIcon;
 
     @UiField
     @Path(value = "description.entity")
@@ -527,6 +535,11 @@
         editPoolPrestartedVmsIcon =
                 new 
InfoIcon(applicationTemplates.italicText(messages.prestartedHelp()), resources);
 
+        poolNameIcon =
+                new 
InfoIcon(applicationTemplates.italicText(messages.poolNameHelp()), resources);
+
+        poolNameIcon.setVisible(false);
+
         outOfxInPool = new ValueLabel<Object>(new AbstractRenderer<Object>() {
 
             @Override
@@ -678,7 +691,7 @@
         dataCenterEditor.setLabel(constants.dcVmPopup());
         clusterEditor.setLabel(constants.hostClusterVmPopup());
         quotaEditor.setLabel(constants.quotaVmPopup());
-        nameEditor.setLabel(constants.nameVmPopup());
+        nameLabel.setText(constants.nameVmPopup());
         descriptionEditor.setLabel(constants.descriptionVmPopup());
         templateEditor.setLabel(constants.basedOnTemplateVmPopup());
         memSizeEditor.setLabel(constants.memSizeVmPopup());
diff --git 
a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/AbstractVmPopupWidget.ui.xml
 
b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/AbstractVmPopupWidget.ui.xml
index 635b517..6aef823 100644
--- 
a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/AbstractVmPopupWidget.ui.xml
+++ 
b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/AbstractVmPopupWidget.ui.xml
@@ -156,17 +156,17 @@
             margin-bottom: 10px;
         }
         
-        .poolEditVms {
+        .poolEditVms, .name {
                        line-height: 30px;
                        padding: 0 5px;
                        padding-bottom: 35px;
         }
         
-        .prestartedVmsEditorContent {
+        .prestartedVmsEditorContent,.nameEditorContent {
                width: 230px;
         }
         
-        .prestartedVmsEditor {
+        .prestartedVmsEditor,.nameEditor {
                float: right;
                width: 230px;
         }
@@ -176,7 +176,7 @@
                padding-right: 10px;
         }
         
-        .prestartedVmsIcon {
+        .prestartedVmsIcon, .poolNameIcon {
                float: left;
                padding-top: 5px;
             padding-left: 2px;
@@ -191,7 +191,7 @@
                width: 230px;
         }
         
-        .prestartedLabel {
+        .prestartedLabel, .nameLabel {
                float: left;
                color: #333333;
         }
@@ -213,7 +213,13 @@
                                                        
<e:ListModelListBoxEditor ui:field="quotaEditor" />
                                                </g:FlowPanel>
                                                <g:FlowPanel 
addStyleNames="{style.sectionPanel}">
-                                                       
<e:EntityModelTextBoxEditor ui:field="nameEditor" />
+                                                       <g:FlowPanel 
addStyleNames="{style.name}">
+                                                               <g:FlowPanel 
addStyleNames="{style.prestartedLabelWithHelp}">
+                                                                       
<g:Label ui:field="nameLabel" addStyleNames="{style.nameLabel}" />
+                                                                       
<d:InfoIcon ui:field="poolNameIcon" addStyleNames="{style.poolNameIcon}" />
+                                                               </g:FlowPanel>
+                                                               
<e:EntityModelTextBoxOnlyEditor ui:field="nameEditor" 
addStyleNames="{style.nameEditor}" 
contentWidgetStyleName="{style.nameEditorContent}"/>
+                                                       </g:FlowPanel>
                                                        
<e:EntityModelTextBoxEditor ui:field="descriptionEditor" />
 
 <!--                                           New VM Pool                     
                                 -->
diff --git 
a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/pool/PoolNewPopupWidget.java
 
b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/pool/PoolNewPopupWidget.java
index 29be1c2..e2607aa 100644
--- 
a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/pool/PoolNewPopupWidget.java
+++ 
b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/pool/PoolNewPopupWidget.java
@@ -47,6 +47,7 @@
         super.edit(object);
         initTabAvailabilityListeners(object);
         isStatelessEditor.setVisible(false);
+        poolNameIcon.setVisible(true);
 
         if (object.getIsNew()) {
             prestartedVmsEditor.setEnabled(false);
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/UnitVmModel.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/UnitVmModel.java
index f89ad1a..9e65996 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/UnitVmModel.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/UnitVmModel.java
@@ -48,6 +48,7 @@
 import 
org.ovirt.engine.ui.uicommonweb.validation.NoTrimmingWhitespacesValidation;
 import org.ovirt.engine.ui.uicommonweb.validation.NotEmptyQuotaValidation;
 import org.ovirt.engine.ui.uicommonweb.validation.NotEmptyValidation;
+import org.ovirt.engine.ui.uicommonweb.validation.PoolNameValidation;
 import 
org.ovirt.engine.ui.uicommonweb.validation.SpecialAsciiI18NOrNoneValidation;
 import org.ovirt.engine.ui.uicommonweb.validation.ValidationResult;
 import org.ovirt.engine.ui.uicompat.ConstantsManager;
@@ -1960,7 +1961,7 @@
                             new LengthValidation(
                                 (getBehavior() instanceof 
TemplateVmModelBehavior || getBehavior() instanceof NewTemplateVmModelBehavior)
                                     ? VM_TEMPLATE_NAME_MAX_LIMIT : 
AsyncDataProvider.IsWindowsOsType(osType) ? WINDOWS_VM_NAME_MAX_LIMIT : 
NON_WINDOWS_VM_NAME_MAX_LIMIT),
-                            new I18NNameValidation()
+                            isPoolTabValid ? new PoolNameValidation() : new 
I18NNameValidation()
                     });
 
             getDescription().ValidateEntity(
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/validation/PoolNameValidation.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/validation/PoolNameValidation.java
new file mode 100644
index 0000000..171eba4
--- /dev/null
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/validation/PoolNameValidation.java
@@ -0,0 +1,48 @@
+package org.ovirt.engine.ui.uicommonweb.validation;
+
+import org.ovirt.engine.core.common.businessentities.VmPool;
+import org.ovirt.engine.ui.uicompat.ConstantsManager;
+
+public class PoolNameValidation extends I18NNameValidation {
+
+    @Override
+    protected String composeRegex() {
+        return or(start() + oneOrMore(nonNumberMaskCharacter()) + numberMask() 
+ zeroOrMore(nonNumberMaskCharacter()) + end(),
+                start() + zeroOrMore(nonNumberMaskCharacter()) + numberMask() 
+ oneOrMore(nonNumberMaskCharacter()) + end());
+    }
+
+    @Override
+    protected String start() {
+        return "^"; //$NON-NLS-1$
+    }
+
+    @Override
+    protected String end() {
+        return "$"; //$NON-NLS-1$
+    }
+
+    protected String numberMask() {
+        return "[" + VmPool.MASK_CHARACTER + "]*"; //$NON-NLS-1$ //$NON-NLS-2$
+    }
+
+    protected String oneOrMore(String exp) {
+        return "[" + exp + "]+"; //$NON-NLS-1$ //$NON-NLS-2$
+    }
+
+    protected String zeroOrMore(String exp) {
+        return "[" + exp + "]*"; //$NON-NLS-1$ //$NON-NLS-2$
+    }
+
+    protected String or(String exp1, String exp2) {
+        return exp1 + "|" + exp2; //$NON-NLS-1$
+    }
+
+    protected String nonNumberMaskCharacter() {
+        return letters() + numbers() + specialCharacters();
+    }
+
+    @Override
+    protected String composeMessage() {
+        return 
ConstantsManager.getInstance().getConstants().poolNameValidationMsg();
+    }
+}
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/test/java/org/ovirt/engine/ui/uicommonweb/validation/PoolNameValidationTest.java
 
b/frontend/webadmin/modules/uicommonweb/src/test/java/org/ovirt/engine/ui/uicommonweb/validation/PoolNameValidationTest.java
new file mode 100644
index 0000000..1b63e70
--- /dev/null
+++ 
b/frontend/webadmin/modules/uicommonweb/src/test/java/org/ovirt/engine/ui/uicommonweb/validation/PoolNameValidationTest.java
@@ -0,0 +1,69 @@
+package org.ovirt.engine.ui.uicommonweb.validation;
+
+import junit.framework.Assert;
+
+import org.junit.Test;
+import org.ovirt.engine.core.common.businessentities.VmPool;
+
+public class PoolNameValidationTest {
+
+    @Test
+    public void testValidNonPatternName() {
+        Assert.assertTrue(new 
TestablePoolNameValidation().Validate("pool-T4534f").getSuccess()); 
//$NON-NLS-1$
+    }
+
+    @Test
+    public void testNonValidNonPatternName() {
+        Assert.assertFalse(new 
TestablePoolNameValidation().Validate("pool-T453&4f").getSuccess()); 
//$NON-NLS-1$
+    }
+
+    @Test
+    public void testNonValidNonPatternName2() {
+        Assert.assertFalse(new 
TestablePoolNameValidation().Validate("").getSuccess()); //$NON-NLS-1$
+    }
+
+    @Test
+    public void testValidPatternName() {
+        Assert.assertTrue(new 
TestablePoolNameValidation().Validate("pool-T4534f??".replace('?', 
VmPool.MASK_CHARACTER)).getSuccess()); //$NON-NLS-1$
+    }
+
+    @Test
+    public void testValidPatternName2() {
+        Assert.assertTrue(new 
TestablePoolNameValidation().Validate("pool-T4534f?????rt".replace('?', 
VmPool.MASK_CHARACTER)).getSuccess()); //$NON-NLS-1$
+    }
+
+    @Test
+    public void testValidPatternName3() {
+        Assert.assertTrue(new 
TestablePoolNameValidation().Validate("??rt".replace('?', 
VmPool.MASK_CHARACTER)).getSuccess()); //$NON-NLS-1$
+    }
+
+    @Test
+    public void testNonValidPatternName() {
+        Assert.assertFalse(new 
TestablePoolNameValidation().Validate("???".replace('?', 
VmPool.MASK_CHARACTER)).getSuccess()); //$NON-NLS-1$
+    }
+
+    @Test
+    public void testNonValidPatternName2() {
+        Assert.assertFalse(new 
TestablePoolNameValidation().Validate("pool-T4534f??r-t??".replace('?', 
VmPool.MASK_CHARACTER)).getSuccess()); //$NON-NLS-1$
+    }
+
+    @Test
+    public void testNonValidPatternName3() {
+        Assert.assertFalse(new 
TestablePoolNameValidation().Validate("pool-T4534f??rt??asda".replace('?', 
VmPool.MASK_CHARACTER)).getSuccess()); //$NON-NLS-1$
+    }
+
+    @Test
+    public void testNonValidPatternName4() {
+        Assert.assertFalse(new 
TestablePoolNameValidation().Validate("??rt??asda".replace('?', 
VmPool.MASK_CHARACTER)).getSuccess()); //$NON-NLS-1$
+    }
+
+    /**
+     *  {@link PoolNameValidation#composeMessage()} access {@link 
ConstantsManager} that can't be used inside unit tests so it's overridden
+     */
+    private class TestablePoolNameValidation extends PoolNameValidation {
+        @Override
+        protected String composeMessage() {
+            return ""; //$NON-NLS-1$
+        }
+    }
+}
diff --git 
a/frontend/webadmin/modules/uicompat/src/main/java/org/ovirt/engine/ui/uicompat/Constants.java
 
b/frontend/webadmin/modules/uicompat/src/main/java/org/ovirt/engine/ui/uicompat/Constants.java
index e0b4c10..368a083 100644
--- 
a/frontend/webadmin/modules/uicompat/src/main/java/org/ovirt/engine/ui/uicompat/Constants.java
+++ 
b/frontend/webadmin/modules/uicompat/src/main/java/org/ovirt/engine/ui/uicompat/Constants.java
@@ -1,5 +1,7 @@
 package org.ovirt.engine.ui.uicompat;
 
+import org.ovirt.engine.core.common.businessentities.VmPool;
+
 
 
 
@@ -614,6 +616,9 @@
     @DefaultStringValue("Name can contain only alphanumeric, '.', '_' or '-' 
characters.")
     String i18NNameValidationMsg();
 
+    @DefaultStringValue("Name can contain only alphanumeric, '.', '_' or '-' 
characters, and optionally one sequence of '" + VmPool.MASK_CHARACTER + "' to 
specify mask for the VM indexes")
+    String poolNameValidationMsg();
+
     @DefaultStringValue("UTF characters are not allowed.")
     String nonUtfValidationMsg();
 
diff --git 
a/frontend/webadmin/modules/userportal-gwtp/src/main/resources/org/ovirt/engine/ui/frontend/AppErrors.properties
 
b/frontend/webadmin/modules/userportal-gwtp/src/main/resources/org/ovirt/engine/ui/frontend/AppErrors.properties
index c7844ed..46eb105 100644
--- 
a/frontend/webadmin/modules/userportal-gwtp/src/main/resources/org/ovirt/engine/ui/frontend/AppErrors.properties
+++ 
b/frontend/webadmin/modules/userportal-gwtp/src/main/resources/org/ovirt/engine/ui/frontend/AppErrors.properties
@@ -632,6 +632,7 @@
 ACTION_TYPE_FAILED_NAME_MAY_NOT_BE_EMPTY=Can not ${action} ${type}. The given 
name is empty.
 ACTION_TYPE_FAILED_NAME_MAY_NOT_CONTAIN_SPECIAL_CHARS=Can not ${action} 
${type}. The given name contains special characters. Only lower-case and 
upper-case letters, numbers, '_', '-', '.' are allowed.
 ACTION_TYPE_FAILED_NAME_MAY_NOT_CONTAIN_SPECIAL_CHARS_OR_DASH=Can not 
${action} ${type}. The given name contains special characters. Only lower-case 
and upper-case letters, numbers, '_', allowed.
+ACTION_TYPE_FAILED_INVALID_POOL_NAME=Can not ${action} ${type}. The given name 
is invalid for pool name. Only lower-case and upper-case letters, numbers, '_', 
'-', '.', and one mask sequence are allowed.
 ACTION_TYPE_FAILED_INVALID_VDS_HOSTNAME=Can not ${action} ${type}. The given 
Host name is invalid. Only Host names corresponding to RFC-952 and RFC-1123 are 
allowed.
 VM_CANNOT_RUN_ONCE_WITH_ILLEGAL_SYSPREP_PARAM=Missing UserName or Password.
 ACTION_TYPE_FAILED_CANNOT_REMOVE_BUILTIN_GROUP_EVERYONE=Cannot remove the 
built-in group "Everyone".
diff --git 
a/frontend/webadmin/modules/webadmin/src/main/resources/org/ovirt/engine/ui/frontend/AppErrors.properties
 
b/frontend/webadmin/modules/webadmin/src/main/resources/org/ovirt/engine/ui/frontend/AppErrors.properties
index 38c06a7..84c136b 100644
--- 
a/frontend/webadmin/modules/webadmin/src/main/resources/org/ovirt/engine/ui/frontend/AppErrors.properties
+++ 
b/frontend/webadmin/modules/webadmin/src/main/resources/org/ovirt/engine/ui/frontend/AppErrors.properties
@@ -631,6 +631,7 @@
 ACTION_TYPE_FAILED_NAME_MAY_NOT_BE_EMPTY=Can not ${action} ${type}. The given 
name is empty.
 ACTION_TYPE_FAILED_NAME_MAY_NOT_CONTAIN_SPECIAL_CHARS=Can not ${action} 
${type}. The given name contains special characters. Only lower-case and 
upper-case letters, numbers, '_', '-', '.' are allowed.
 ACTION_TYPE_FAILED_NAME_MAY_NOT_CONTAIN_SPECIAL_CHARS_OR_DASH=Can not 
${action} ${type}. The given name contains special characters. Only lower-case 
and upper-case letters, numbers, '_', allowed.
+ACTION_TYPE_FAILED_INVALID_POOL_NAME=Can not ${action} ${type}. The given name 
is invalid for pool name. Only lower-case and upper-case letters, numbers, '_', 
'-', '.', and one mask sequence are allowed.
 ACTION_TYPE_FAILED_INVALID_VDS_HOSTNAME=Can not ${action} ${type}. The given 
Host name is invalid. Only Host names corresponding to RFC-952 and RFC-1123 are 
allowed.
 VM_CANNOT_RUN_ONCE_WITH_ILLEGAL_SYSPREP_PARAM=Missing UserName or Password.
 ACTION_TYPE_FAILED_CANNOT_REMOVE_BUILTIN_GROUP_EVERYONE=Cannot remove the 
built-in group "Everyone".


--
To view, visit http://gerrit.ovirt.org/11985
To unsubscribe, visit http://gerrit.ovirt.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I7d0a5c6c06150493c2359686c3958bf92b3f69f7
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Arik Hadas <[email protected]>
_______________________________________________
Engine-patches mailing list
[email protected]
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to