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