Greg Padgett has uploaded a new change for review.

Change subject: webadmin: cloud-init [4/6] - hostname validation class
......................................................................

webadmin: cloud-init [4/6] - hostname validation class

Cloud-init integration requires hostname validation; this patch
refactors existing validation code to a reusable IValidation class.

Change-Id: Ic76913ae0b7cf64f6dd1e73fb67412ba6fce58f2
Signed-off-by: Greg Padgett <gpadg...@redhat.com>
---
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/HostModel.java
A 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/validation/HostnameValidation.java
2 files changed, 35 insertions(+), 13 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/36/15536/1

diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/HostModel.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/HostModel.java
index 2de46c4..dd755dd 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/HostModel.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/hosts/HostModel.java
@@ -32,8 +32,8 @@
 import org.ovirt.engine.ui.uicommonweb.models.ListModel;
 import org.ovirt.engine.ui.uicommonweb.models.Model;
 import org.ovirt.engine.ui.uicommonweb.models.SystemTreeItemModel;
-import org.ovirt.engine.ui.uicommonweb.validation.BaseI18NValidation;
 import org.ovirt.engine.ui.uicommonweb.validation.HostAddressValidation;
+import org.ovirt.engine.ui.uicommonweb.validation.HostnameValidation;
 import org.ovirt.engine.ui.uicommonweb.validation.IValidation;
 import org.ovirt.engine.ui.uicommonweb.validation.IntegerValidation;
 import org.ovirt.engine.ui.uicommonweb.validation.KeyValuePairValidation;
@@ -1283,18 +1283,7 @@
 
     public boolean validate()
     {
-        getName().validateEntity(new IValidation[] { new NotEmptyValidation(), 
new LengthValidation(255),
-                new BaseI18NValidation() {
-            @Override
-            protected String composeRegex() {
-                return "^[-_\\.0-9a-zA-Z]*$"; //$NON-NLS-1$
-            }
-
-            @Override
-            protected String composeMessage() {
-                return 
ConstantsManager.getInstance().getConstants().hostNameValidationMsg();
-            }
-        } });
+        getName().validateEntity(new IValidation[] { new HostnameValidation() 
});
 
         getHost().validateEntity(new IValidation[] {
                 new NotEmptyValidation(),
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/validation/HostnameValidation.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/validation/HostnameValidation.java
new file mode 100644
index 0000000..e37390f
--- /dev/null
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/validation/HostnameValidation.java
@@ -0,0 +1,33 @@
+package org.ovirt.engine.ui.uicommonweb.validation;
+
+import org.ovirt.engine.ui.uicompat.ConstantsManager;
+
+/**
+ * Validates a hostname for length and allowable characters
+ */
+public class HostnameValidation implements IValidation {
+    private static final String nameRegex = "^[-_\\.0-9a-zA-Z]*$"; 
//$NON-NLS-1$
+    private static final String nameMessage = 
ConstantsManager.getInstance().getConstants().hostNameValidationMsg();
+    private static final int maxLength = 255;
+
+    private static final RegexValidation regexValidator = new 
RegexValidation(nameRegex, nameMessage);
+    private static final NotEmptyValidation notEmptyValidator = new 
NotEmptyValidation();
+    private static final LengthValidation lengthValidator = new 
LengthValidation(maxLength);
+
+    @Override
+    public ValidationResult validate(Object value) {
+        ValidationResult notEmptyValidation = 
notEmptyValidator.validate(value);
+        if (!notEmptyValidation.getSuccess()) {
+            return notEmptyValidation;
+        }
+
+        ValidationResult lengthValidation = lengthValidator.validate(value);
+        if (!lengthValidation.getSuccess()) {
+            return lengthValidation;
+        }
+
+        return regexValidator.validate(value);
+    }
+}
+
+


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

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ic76913ae0b7cf64f6dd1e73fb67412ba6fce58f2
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Greg Padgett <gpadg...@redhat.com>
_______________________________________________
Engine-patches mailing list
Engine-patches@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to