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

Reply via email to