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
