Eliraz Levi has uploaded a new change for review. Change subject: webadmin: integrate CidrValidator to frontend ......................................................................
webadmin: integrate CidrValidator to frontend Change-Id: Ib09d8943b0265960a35f3dd328dae20247b69fd3 Bug-Url: https://bugzilla.redhat.com/1080074 Signed-off-by: Eliraz Levi <[email protected]> --- M frontend/webadmin/modules/gwt-common/src/main/resources/org/ovirt/engine/core/Common.gwt.xml M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/validation/CidrValidation.java M frontend/webadmin/modules/uicommonweb/src/test/java/org/ovirt/engine/ui/uicommonweb/validation/CidrValidationTest.java M frontend/webadmin/modules/uicompat/src/main/java/org/ovirt/engine/ui/uicompat/UIConstants.java 4 files changed, 37 insertions(+), 15 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/41/32541/1 diff --git a/frontend/webadmin/modules/gwt-common/src/main/resources/org/ovirt/engine/core/Common.gwt.xml b/frontend/webadmin/modules/gwt-common/src/main/resources/org/ovirt/engine/core/Common.gwt.xml index eae76a2..018d771 100644 --- a/frontend/webadmin/modules/gwt-common/src/main/resources/org/ovirt/engine/core/Common.gwt.xml +++ b/frontend/webadmin/modules/gwt-common/src/main/resources/org/ovirt/engine/core/Common.gwt.xml @@ -237,6 +237,7 @@ <include name="common/utils/VersionStorageFormatUtil.java"/> <include name="common/utils/SizeConverter.java"/> <include name="common/utils/CommonConstants.java"/> + <include name="common/validation/CidrValidator.java"/> <!-- Required by frontend --> diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/validation/CidrValidation.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/validation/CidrValidation.java index a2e947a..9b319b4 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/validation/CidrValidation.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/validation/CidrValidation.java @@ -1,15 +1,35 @@ package org.ovirt.engine.ui.uicommonweb.validation; +import java.util.Arrays; + +import org.ovirt.engine.core.common.validation.CidrValidator; import org.ovirt.engine.ui.uicompat.ConstantsManager; -public class CidrValidation extends RegexValidation { + +public class CidrValidation implements IValidation { public CidrValidation() { - setExpression("^" + IpAddressValidation.IP_ADDRESS_REGEX + "(?:/(?:3[0-2]|[12]?[0-9]))$"); //$NON-NLS-1$ $NON-NLS-2$ } - @Override - public String getMessage() { - return ConstantsManager.getInstance().getConstants().thisFieldMustContainCidrInFormatMsg(); + public ValidationResult validate(Object value) { + ValidationResult result = new ValidationResult(); + if (!(value instanceof String)) { + result.setSuccess(false); + result.setReasons(Arrays.asList(ConstantsManager.getInstance().getConstants().StringArgExpected())); + return result; + } + String cidr = (String) value; + if (!CidrValidator.isCidrFormatValid(cidr)) { + result.setSuccess(false); + result.setReasons(Arrays.asList(ConstantsManager.getInstance().getConstants().CidrBadFormat())); + return result; + } + if (!CidrValidator.isCidrValidNetworkAddress(cidr)) { + result.setSuccess(false); + result.setReasons(Arrays.asList(ConstantsManager.getInstance().getConstants().CidrNotNetworkAddress())); + return result; + } + result.setSuccess(true); + return result; } } diff --git a/frontend/webadmin/modules/uicommonweb/src/test/java/org/ovirt/engine/ui/uicommonweb/validation/CidrValidationTest.java b/frontend/webadmin/modules/uicommonweb/src/test/java/org/ovirt/engine/ui/uicommonweb/validation/CidrValidationTest.java index 55eda6d..3f749cd 100644 --- a/frontend/webadmin/modules/uicommonweb/src/test/java/org/ovirt/engine/ui/uicommonweb/validation/CidrValidationTest.java +++ b/frontend/webadmin/modules/uicommonweb/src/test/java/org/ovirt/engine/ui/uicommonweb/validation/CidrValidationTest.java @@ -1,13 +1,10 @@ package org.ovirt.engine.ui.uicommonweb.validation; import static org.junit.Assert.assertEquals; -import static org.mockito.Mockito.doReturn; -import static org.mockito.Mockito.spy; import java.util.Arrays; import java.util.Collection; -import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.Parameterized; @@ -25,12 +22,6 @@ public CidrValidationTest(String cidr, boolean expectedResult) { this.cidr = cidr; this.expectedResult = expectedResult; - } - - @Before - public void setup() { - validation = spy(new CidrValidation()); - doReturn("").when(validation).getMessage(); } @Test diff --git a/frontend/webadmin/modules/uicompat/src/main/java/org/ovirt/engine/ui/uicompat/UIConstants.java b/frontend/webadmin/modules/uicompat/src/main/java/org/ovirt/engine/ui/uicompat/UIConstants.java index abed3ee..802e8ce 100644 --- a/frontend/webadmin/modules/uicompat/src/main/java/org/ovirt/engine/ui/uicompat/UIConstants.java +++ b/frontend/webadmin/modules/uicompat/src/main/java/org/ovirt/engine/ui/uicompat/UIConstants.java @@ -1,8 +1,9 @@ package org.ovirt.engine.ui.uicompat; -import com.google.gwt.i18n.client.Constants; import org.ovirt.engine.core.common.businessentities.VmPool; + +import com.google.gwt.i18n.client.Constants; public interface UIConstants extends com.google.gwt.i18n.client.Constants { @@ -2424,5 +2425,14 @@ @DefaultStringValue("CPU Profile") String cpuProfileTitle(); + + @DefaultStringValue("String was expected") + String StringArgExpected(); + + @DefaultStringValue("Cidr bad format, expected:\n x.x.x.x/y where:\n x belongs to [0,255] \n y belongs to [0,32] \n both inclusive") + String CidrBadFormat(); + + @DefaultStringValue("Cidr not represnting a network address.\nplease ensure ip and mask are matching to network ip address. \nexample: valid network address: 2.2.0.0/16 \ninvalid: 2.2.0.1/16 ") + String CidrNotNetworkAddress(); } -- To view, visit http://gerrit.ovirt.org/32541 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Ib09d8943b0265960a35f3dd328dae20247b69fd3 Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Eliraz Levi <[email protected]> _______________________________________________ Engine-patches mailing list [email protected] http://lists.ovirt.org/mailman/listinfo/engine-patches
