Ramesh N has uploaded a new change for review. Change subject: webadmin: add validation for create brick popup view ......................................................................
webadmin: add validation for create brick popup view Adding validations for entities in create brick popup view. Change-Id: I16d3a2c377a80f37b6f8aba061ad26ac17d9736b Signed-off-by: Ramesh Nachimuthu <rnach...@redhat.com> --- M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/gluster/CreateBrickModel.java M frontend/webadmin/modules/uicompat/src/main/java/org/ovirt/engine/ui/uicompat/UIConstants.java M frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationConstants.java M frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/gluster/CreateBrickPopupView.java M frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/gluster/CreateBrickPopupView.ui.xml 5 files changed, 111 insertions(+), 3 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/39/39439/1 diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/gluster/CreateBrickModel.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/gluster/CreateBrickModel.java index b00c2dd..3660a7d 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/gluster/CreateBrickModel.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/gluster/CreateBrickModel.java @@ -11,6 +11,12 @@ import org.ovirt.engine.ui.uicommonweb.models.EntityModel; import org.ovirt.engine.ui.uicommonweb.models.ListModel; import org.ovirt.engine.ui.uicommonweb.models.Model; +import org.ovirt.engine.ui.uicommonweb.validation.AsciiNameValidation; +import org.ovirt.engine.ui.uicommonweb.validation.IValidation; +import org.ovirt.engine.ui.uicommonweb.validation.IntegerValidation; +import org.ovirt.engine.ui.uicommonweb.validation.LengthValidation; +import org.ovirt.engine.ui.uicommonweb.validation.NotEmptyValidation; +import org.ovirt.engine.ui.uicompat.ConstantsManager; import org.ovirt.engine.ui.uicompat.Event; import org.ovirt.engine.ui.uicompat.EventArgs; import org.ovirt.engine.ui.uicompat.IEventListener; @@ -135,6 +141,75 @@ } public boolean validate() { + + getLvName().validateEntity(new IValidation[] { new NotEmptyValidation(), new LengthValidation(50), + new AsciiNameValidation() }); + + if (!getLvName().getIsValid()) { + return false; + } + if (!validateMountPoint(getMountPoint().getEntity())) + { + return false; + } + + IntegerValidation noOfPhysicalDiscsValidation = new IntegerValidation(); + noOfPhysicalDiscsValidation.setMinimum(1); + getNoOfPhysicalDisksInRaidVolume().validateEntity(new IValidation[] { new NotEmptyValidation(), + noOfPhysicalDiscsValidation }); + + IntegerValidation stripSizeValidation = new IntegerValidation(); + stripSizeValidation.setMinimum(1); + getStripeSize().validateEntity(new IValidation[] { new NotEmptyValidation(), + stripSizeValidation }); + if (!getStripeSize().getIsValid()) { + return false; + } + + if (getStorageDevices().getSelectedItems() == null || getStorageDevices().getSelectedItems().isEmpty()) { + setMessage(ConstantsManager.getInstance().getConstants().selectStorageDevice()); + return false; + } + return true; + + + } + + private boolean validateMountPoint(String mountPoint) { + if (mountPoint == null || mountPoint.trim().length() == 0) + { + setMessage(ConstantsManager.getInstance().getConstants().emptyMountPointMsg()); + return false; + } + + mountPoint = mountPoint.trim(); + if (mountPoint.length() < 2) + { + setMessage(ConstantsManager.getInstance().getConstants().invalidMountPointAtleastTwoCharacterseMsg()); + return false; + } + + if (!mountPoint.startsWith("/"))//$NON-NLS-1$ + { + setMessage(ConstantsManager.getInstance().getConstants().invalidMountPointStartWithSlashMsg()); + return false; + } + + if (mountPoint.contains(" "))//$NON-NLS-1$ + { + setMessage(ConstantsManager.getInstance().getConstants().invalidMountPointContainsSpaceMsg()); + return false; + } + + if (mountPoint.charAt(1) == '/' + || (mountPoint.charAt(1) == '.' && mountPoint.length() == 2) + || mountPoint.charAt(1) == '*' + || (mountPoint.length() == 3 && mountPoint.charAt(1) == '.' && mountPoint.charAt(2) == '.')) + { + setMessage(ConstantsManager.getInstance().getConstants().invalidMountPointMsg()); + return false; + } + return true; } 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 cf431c2..a315391 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 @@ -2691,4 +2691,22 @@ @DefaultStringValue("Warning : Recommendations for geo-replication not met -") String geoReplicationRecommendedConfigViolation(); + + @DefaultStringValue("Mount point field is mandatory.") + String emptyMountPointMsg(); + + @DefaultStringValue("Please select a storage device to create brick.") + String selectStorageDevice(); + + @DefaultStringValue("Mount point should be at least 2 characters.") + String invalidMountPointAtleastTwoCharacterseMsg(); + + @DefaultStringValue("Mount point should start with '/'.") + String invalidMountPointStartWithSlashMsg(); + + @DefaultStringValue("Mount point should not contain any space.") + String invalidMountPointContainsSpaceMsg(); + + @DefaultStringValue("Invalid Mount Point.") + String invalidMountPointMsg(); } diff --git a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationConstants.java b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationConstants.java index 89a2e49..3c48be1 100644 --- a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationConstants.java +++ b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationConstants.java @@ -4207,7 +4207,7 @@ @DefaultStringValue("No. of Physical Disks in RAID Volume") String noOfPhysicalDisksInRaidVolume(); - @DefaultStringValue("Stripe Size") + @DefaultStringValue("Stripe Size (KB)") String stripeSize(); @DefaultStringValue("Choose storage devices of RAID type: ") diff --git a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/gluster/CreateBrickPopupView.java b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/gluster/CreateBrickPopupView.java index 4a62b24..8e5641e 100644 --- a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/gluster/CreateBrickPopupView.java +++ b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/gluster/CreateBrickPopupView.java @@ -95,6 +95,10 @@ @WithElementId IntegerEntityModelTextBoxEditor stripeSizeEditor; + @UiField + @Ignore + Label messageLabel; + private final static ApplicationConstants constants = AssetProvider.getConstants(); private final Driver driver = GWT.create(Driver.class); @@ -178,4 +182,10 @@ public void setDeviceInfoVisibility(boolean isVisiable) { deviceSelectionInfo.setVisible(isVisiable); } + + @Override + public void setMessage(String message) { + super.setMessage(message); + messageLabel.setText(message); + } } diff --git a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/gluster/CreateBrickPopupView.ui.xml b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/gluster/CreateBrickPopupView.ui.xml index 561a032..2ab30f4 100644 --- a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/gluster/CreateBrickPopupView.ui.xml +++ b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/gluster/CreateBrickPopupView.ui.xml @@ -10,7 +10,11 @@ font-weight: bold; padding: 5px; } - + .messageLabel { + color: #FF0000; + left: 10px; + padding-left: 5px; + } .tablePanel { height: 270px; width: 530px; @@ -24,7 +28,7 @@ } </ui:style> - <d:SimpleDialogPanel width="550px" height="575px"> + <d:SimpleDialogPanel width="550px" height="625px"> <d:content> <g:FlowPanel> <ge:StringEntityModelTextBoxEditor ui:field="lvNameEditor" /> @@ -42,6 +46,7 @@ </g:VerticalPanel> </g:HorizontalPanel> <ge:StringEntityModelLabelEditor ui:field="sizeEditor" /> + <g:Label ui:field="messageLabel" addStyleNames="{style.messageLabel}" /> </g:FlowPanel> </d:content> </d:SimpleDialogPanel> -- To view, visit https://gerrit.ovirt.org/39439 To unsubscribe, visit https://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I16d3a2c377a80f37b6f8aba061ad26ac17d9736b Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Ramesh N <rnach...@redhat.com> _______________________________________________ Engine-patches mailing list Engine-patches@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-patches