Alissa Bonas has uploaded a new change for review.

Change subject: core: add validation non empty connection field
......................................................................

core: add validation non empty connection field

Check that the connection field is not empty in StorageServerConnections
object.
Add corresponding error message, use the error in
AddStorageServerConnection and UpdateStorageServerConnection
commands, and add unitests.

Change-Id: I0d9d133faa54e74a9c4c14a93edb6bd16a9ee796
Signed-off-by: Alissa Bonas <[email protected]>
---
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/AddStorageServerConnectionCommand.java
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/UpdateStorageServerConnectionCommand.java
M 
backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/storage/AddStorageServerConnectionCommandTest.java
M 
backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/errors/VdcBllMessages.java
M backend/manager/modules/dal/src/main/resources/bundles/AppErrors.properties
M 
frontend/webadmin/modules/frontend/src/main/java/org/ovirt/engine/ui/frontend/AppErrors.java
M 
frontend/webadmin/modules/userportal-gwtp/src/main/resources/org/ovirt/engine/ui/frontend/AppErrors.properties
M 
frontend/webadmin/modules/webadmin/src/main/resources/org/ovirt/engine/ui/frontend/AppErrors.properties
8 files changed, 69 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/60/15560/1

diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/AddStorageServerConnectionCommand.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/AddStorageServerConnectionCommand.java
index 09c1a48..07952f1 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/AddStorageServerConnectionCommand.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/AddStorageServerConnectionCommand.java
@@ -85,6 +85,12 @@
             return 
failCanDoAction(VdcBllMessages.VALIDATION_STORAGE_CONNECTION_EMPTY_IQN);
         }
 
+        if (StringUtils.isEmpty(paramConnection.getconnection())) {
+            String fieldName = getFieldName(paramConnection);
+            addCanDoActionMessage(String.format("$fieldName %1$s", fieldName));
+            return 
failCanDoAction(VdcBllMessages.VALIDATION_STORAGE_CONNECTION_EMPTY_CONNECTION);
+        }
+
         if (getParameters().getVdsId().equals(Guid.Empty)) {
             if (!InitializeVds()) {
                 return false;
@@ -97,6 +103,20 @@
         return true;
     }
 
+    private String getFieldName(StorageServerConnections paramConnection) {
+        String fieldName = null;
+        if (paramConnection.getstorage_type().equals(StorageType.ISCSI)) {
+            fieldName = "address";
+        }
+        else if (paramConnection.getstorage_type().isFileDomain()) {
+            fieldName = "path";
+        }
+        else {
+            fieldName = "connection";
+        }
+        return fieldName;
+    }
+
     @Override
     protected List<Class<?>> getValidationGroups() {
         addValidationGroup(CreateEntity.class);
diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/UpdateStorageServerConnectionCommand.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/UpdateStorageServerConnectionCommand.java
index b6032eb..cd03975 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/UpdateStorageServerConnectionCommand.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/UpdateStorageServerConnectionCommand.java
@@ -63,6 +63,12 @@
             return 
failCanDoAction(VdcBllMessages.VALIDATION_STORAGE_CONNECTION_EMPTY_VFSTYPE);
         }
 
+        if (StringUtils.isEmpty(newConnectionDetails.getconnection())) {
+            String fieldName = getFieldName(newConnectionDetails);
+            addCanDoActionMessage(String.format("$fieldName %1$s", fieldName));
+            return 
failCanDoAction(VdcBllMessages.VALIDATION_STORAGE_CONNECTION_EMPTY_CONNECTION);
+        }
+
         Guid vdsmId = getParameters().getVdsId();
         if (vdsmId == null || vdsmId.equals(Guid.Empty)) {
             return failCanDoAction(VdcBllMessages.VDS_EMPTY_NAME_OR_ID);
@@ -113,6 +119,20 @@
         return super.canDoAction();
     }
 
+    private String getFieldName(StorageServerConnections paramConnection) {
+        String fieldName = null;
+        if (paramConnection.getstorage_type().equals(StorageType.ISCSI)) {
+            fieldName = "address";
+        }
+        else if (paramConnection.getstorage_type().isFileDomain()) {
+            fieldName = "path";
+        }
+        else {
+            fieldName = "connection";
+        }
+        return fieldName;
+    }
+
     protected String createDomainNamesList(List<StorageDomain> domains) {
         // Build domain names list to display in the error
         StringBuilder domainNames = new StringBuilder();
diff --git 
a/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/storage/AddStorageServerConnectionCommandTest.java
 
b/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/storage/AddStorageServerConnectionCommandTest.java
index a2073cd..476effc 100644
--- 
a/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/storage/AddStorageServerConnectionCommandTest.java
+++ 
b/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/storage/AddStorageServerConnectionCommandTest.java
@@ -95,4 +95,26 @@
         doReturn(true).when(command).InitializeVds();
         CanDoActionTestUtils.runAndAssertCanDoActionSuccess(command);
     }
+
+     @Test
+     public void addNFSEmptyConn() {
+        StorageServerConnections newPosixConnection = 
createPosixConnection("",StorageType.POSIXFS, "nfs" , "timeo=30");
+        parameters.setStorageServerConnection(newPosixConnection);
+        parameters.setVdsId(Guid.Empty);
+        parameters.setStoragePoolId(Guid.Empty);
+        doReturn(true).when(command).InitializeVds();
+        CanDoActionTestUtils.runAndAssertCanDoActionFailure(command,
+                VdcBllMessages.VALIDATION_STORAGE_CONNECTION_EMPTY_CONNECTION);
+     }
+
+    @Test
+     public void addISCSIEmptyConn() {
+        StorageServerConnections newISCSIConnection = 
createISCSIConnection("", 
StorageType.ISCSI,"iqn.2013-04.myhat.com:aaa-target1","user1","mypassword123");
+        parameters.setStorageServerConnection(newISCSIConnection);
+        parameters.setVdsId(Guid.Empty);
+        parameters.setStoragePoolId(Guid.Empty);
+        doReturn(true).when(command).InitializeVds();
+        CanDoActionTestUtils.runAndAssertCanDoActionFailure(command,
+                VdcBllMessages.VALIDATION_STORAGE_CONNECTION_EMPTY_CONNECTION);
+     }
 }
diff --git 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/errors/VdcBllMessages.java
 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/errors/VdcBllMessages.java
index 71dc644..53a0bfe 100644
--- 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/errors/VdcBllMessages.java
+++ 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/errors/VdcBllMessages.java
@@ -598,6 +598,7 @@
     VALIDATION_STORAGE_CONNECTION_INVALID(ErrorType.BAD_PARAMETERS),
     VALIDATION_STORAGE_CONNECTION_EMPTY_VFSTYPE(ErrorType.BAD_PARAMETERS),
     VALIDATION_STORAGE_CONNECTION_EMPTY_IQN(ErrorType.BAD_PARAMETERS),
+    VALIDATION_STORAGE_CONNECTION_EMPTY_CONNECTION(ErrorType.BAD_PARAMETERS),
 
     // Gluster Messages
     ACTION_TYPE_FAILED_CLUSTER_IS_NOT_VALID(ErrorType.BAD_PARAMETERS),
diff --git 
a/backend/manager/modules/dal/src/main/resources/bundles/AppErrors.properties 
b/backend/manager/modules/dal/src/main/resources/bundles/AppErrors.properties
index b89d211..cb70276 100644
--- 
a/backend/manager/modules/dal/src/main/resources/bundles/AppErrors.properties
+++ 
b/backend/manager/modules/dal/src/main/resources/bundles/AppErrors.properties
@@ -590,6 +590,7 @@
 VALIDATION_STORAGE_CONNECTION_INVALID=Mount path is illegal, please use 
[IP:/path or FQDN:/path] convention.
 VALIDATION_STORAGE_CONNECTION_EMPTY_VFSTYPE=VFS type cannot be empty.
 VALIDATION_STORAGE_CONNECTION_EMPTY_IQN=Target details are empty.
+VALIDATION_STORAGE_CONNECTION_EMPTY_CONNECTION=${fieldName} field is empty.
 VALIDATION.TAGS.INVALID_TAG_NAME=Invalid tag name. Only alphanumeric chars, 
'-' and '_' characters are valid
 VALIDATION.VM_POOLS.NAME.NOT_NULL=Pool name is required
 VALIDATION.ROLES.NAME.NOT_NULL=Role name is required
diff --git 
a/frontend/webadmin/modules/frontend/src/main/java/org/ovirt/engine/ui/frontend/AppErrors.java
 
b/frontend/webadmin/modules/frontend/src/main/java/org/ovirt/engine/ui/frontend/AppErrors.java
index 3a0b9e4..8cee91f 100644
--- 
a/frontend/webadmin/modules/frontend/src/main/java/org/ovirt/engine/ui/frontend/AppErrors.java
+++ 
b/frontend/webadmin/modules/frontend/src/main/java/org/ovirt/engine/ui/frontend/AppErrors.java
@@ -2137,6 +2137,9 @@
     @DefaultStringValue("Target details are empty.")
     String VALIDATION_STORAGE_CONNECTION_EMPTY_IQN();
 
+    @DefaultStringValue("${fieldName} field is empty.")
+    String VALIDATION_STORAGE_CONNECTION_EMPTY_CONNECTION();
+
     @DefaultStringValue("Mount path is illegal, please use [IP:/path or 
FQDN:/path] convention.")
     String VALIDATION_STORAGE_CONNECTION_INVALID();
 
diff --git 
a/frontend/webadmin/modules/userportal-gwtp/src/main/resources/org/ovirt/engine/ui/frontend/AppErrors.properties
 
b/frontend/webadmin/modules/userportal-gwtp/src/main/resources/org/ovirt/engine/ui/frontend/AppErrors.properties
index ff05d3e..818bf96 100644
--- 
a/frontend/webadmin/modules/userportal-gwtp/src/main/resources/org/ovirt/engine/ui/frontend/AppErrors.properties
+++ 
b/frontend/webadmin/modules/userportal-gwtp/src/main/resources/org/ovirt/engine/ui/frontend/AppErrors.properties
@@ -588,6 +588,7 @@
 VALIDATION_STORAGE_CONNECTION_INVALID=Mount path is illegal, please use 
[IP:/path or FQDN:/path] convention.
 VALIDATION_STORAGE_CONNECTION_EMPTY_VFSTYPE=VFS type cannot be empty.
 VALIDATION_STORAGE_CONNECTION_EMPTY_IQN=Target details are empty.
+VALIDATION_STORAGE_CONNECTION_EMPTY_CONNECTION=${fieldName} field is empty.
 VALIDATION_TAGS_INVALID_TAG_NAME=Invalid tag name. Only alphanumeric chars, 
'-' and '_' characters are valid
 VALIDATION_VM_POOLS_NAME_NOT_NULL=Pool name is required
 VALIDATION_ROLES_NAME_NOT_NULL=Role name is required
diff --git 
a/frontend/webadmin/modules/webadmin/src/main/resources/org/ovirt/engine/ui/frontend/AppErrors.properties
 
b/frontend/webadmin/modules/webadmin/src/main/resources/org/ovirt/engine/ui/frontend/AppErrors.properties
index 45327dd..a530040 100644
--- 
a/frontend/webadmin/modules/webadmin/src/main/resources/org/ovirt/engine/ui/frontend/AppErrors.properties
+++ 
b/frontend/webadmin/modules/webadmin/src/main/resources/org/ovirt/engine/ui/frontend/AppErrors.properties
@@ -595,6 +595,7 @@
 VALIDATION_STORAGE_CONNECTION_INVALID=Mount path is illegal, please use 
[IP:/path or FQDN:/path] convention.
 VALIDATION_STORAGE_CONNECTION_EMPTY_VFSTYPE=VFS type cannot be empty.
 VALIDATION_STORAGE_CONNECTION_EMPTY_IQN=Target details are empty.
+VALIDATION_STORAGE_CONNECTION_EMPTY_CONNECTION=${fieldName} field is empty.
 VALIDATION_TAGS_INVALID_TAG_NAME=Invalid tag name. Only alphanumeric chars, 
'-' and '_' characters are valid
 VALIDATION_VM_POOLS_NAME_NOT_NULL=Pool name is required
 VALIDATION_ROLES_NAME_NOT_NULL=Role name is required


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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I0d9d133faa54e74a9c4c14a93edb6bd16a9ee796
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Alissa Bonas <[email protected]>
_______________________________________________
Engine-patches mailing list
[email protected]
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to