Allon Mureinik has uploaded a new change for review.

Change subject: engine: Use isBlockDomain() where possible
......................................................................

engine: Use isBlockDomain() where possible

Replaced all the places that checked if a StorageType was ISCSI or FCP
with isBlockDomain().

This achieves two purposes:
1. The code is cleaner, and easier to read.
2. It protects against possible future bugs if a third block storage
   type is added.

Change-Id: I60fc4cd333e954cc5075f3b3040054a7213a2f71
Signed-off-by: Allon Mureinik <amure...@redhat.com>
---
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddDiskCommand.java
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ImagesHandler.java
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ImportVmTemplateCommand.java
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/AddStorageDomainCommand.java
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/GetVgListQuery.java
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/UpdateStoragePoolCommand.java
M 
backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendStorageDomainResource.java
M 
backend/manager/modules/restapi/types/src/main/java/org/ovirt/engine/api/restapi/types/StorageDomainMapper.java
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/dataprovider/AsyncDataProvider.java
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/storage/StorageModel.java
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/NewDiskModel.java
11 files changed, 32 insertions(+), 52 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/89/14189/1

diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddDiskCommand.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddDiskCommand.java
index 4aed69b..c335c65 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddDiskCommand.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddDiskCommand.java
@@ -231,11 +231,11 @@
     }
 
     private boolean isExceedMaxBlockDiskSize() {
-        StorageType storageType = getStorageDomain().getStorageType();
-        boolean isBlockStorageDomain = storageType == StorageType.ISCSI || 
storageType == StorageType.FCP;
-        boolean isRequestedLargerThanMaxSize = getRequestDiskSpace() > 
Config.<Integer> GetValue(ConfigValues.MaxBlockDiskSize);
+        if (getStorageDomain().getStorageType().isBlockDomain()) {
+            return getRequestDiskSpace() > Config.<Integer> 
GetValue(ConfigValues.MaxBlockDiskSize);
+        }
 
-        return isBlockStorageDomain && isRequestedLargerThanMaxSize;
+        return true;
     }
 
     /**
diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ImagesHandler.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ImagesHandler.java
index 2bf55da..dea9807 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ImagesHandler.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ImagesHandler.java
@@ -421,7 +421,7 @@
             DiskImageBase diskInfo, List<String> messages) {
         boolean result = true;
         if ((diskInfo.getVolumeType() == VolumeType.Preallocated && 
diskInfo.getVolumeFormat() == VolumeFormat.COW)
-                || ((storageDomain.getStorageType() == StorageType.FCP || 
storageDomain.getStorageType() == StorageType.ISCSI) && (diskInfo
+                || ((storageDomain.getStorageType().isBlockDomain()) && 
(diskInfo
                         .getVolumeType() == VolumeType.Sparse && 
diskInfo.getVolumeFormat() == VolumeFormat.RAW))
                 || (diskInfo.getVolumeFormat() == VolumeFormat.Unassigned || 
diskInfo.getVolumeType() == VolumeType.Unassigned)) {
             // not supported
diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ImportVmTemplateCommand.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ImportVmTemplateCommand.java
index 01baca7..8186694 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ImportVmTemplateCommand.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ImportVmTemplateCommand.java
@@ -23,6 +23,7 @@
 import org.ovirt.engine.core.common.businessentities.DiskImage;
 import org.ovirt.engine.core.common.businessentities.DiskImageDynamic;
 import org.ovirt.engine.core.common.businessentities.Entities;
+import org.ovirt.engine.core.common.businessentities.StorageDomain;
 import org.ovirt.engine.core.common.businessentities.StorageDomainStatic;
 import org.ovirt.engine.core.common.businessentities.StorageDomainType;
 import org.ovirt.engine.core.common.businessentities.StorageType;
@@ -32,7 +33,6 @@
 import org.ovirt.engine.core.common.businessentities.VolumeFormat;
 import org.ovirt.engine.core.common.businessentities.VolumeType;
 import org.ovirt.engine.core.common.businessentities.image_storage_domain_map;
-import org.ovirt.engine.core.common.businessentities.StorageDomain;
 import org.ovirt.engine.core.common.businessentities.network.Network;
 import 
org.ovirt.engine.core.common.businessentities.network.VmNetworkInterface;
 import 
org.ovirt.engine.core.common.businessentities.network.VmNetworkStatistics;
@@ -226,8 +226,7 @@
      *            The image to check and change if needed.
      */
     private void changeRawToCowIfSparseOnBlockDevice(StorageType storageType, 
DiskImage image) {
-        if ((storageType == StorageType.FCP
-                || storageType == StorageType.ISCSI)
+        if (storageType.isBlockDomain()
                 && image.getVolumeFormat() == VolumeFormat.RAW
                 && image.getVolumeType() == VolumeType.Sparse) {
             image.setvolumeFormat(VolumeFormat.COW);
diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/AddStorageDomainCommand.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/AddStorageDomainCommand.java
index 84a5473..72c93cb 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/AddStorageDomainCommand.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/AddStorageDomainCommand.java
@@ -7,17 +7,17 @@
 import java.util.Set;
 
 import org.ovirt.engine.core.bll.Backend;
-import org.ovirt.engine.core.common.AuditLogType;
 import org.ovirt.engine.core.bll.utils.PermissionSubject;
+import org.ovirt.engine.core.common.AuditLogType;
 import org.ovirt.engine.core.common.VdcObjectType;
 import org.ovirt.engine.core.common.action.StorageDomainManagementParameter;
 import org.ovirt.engine.core.common.businessentities.SANState;
+import org.ovirt.engine.core.common.businessentities.StorageDomain;
+import org.ovirt.engine.core.common.businessentities.StorageDomainDynamic;
+import org.ovirt.engine.core.common.businessentities.StorageDomainStatic;
 import org.ovirt.engine.core.common.businessentities.StorageDomainType;
 import org.ovirt.engine.core.common.businessentities.StorageFormatType;
 import org.ovirt.engine.core.common.businessentities.StorageType;
-import org.ovirt.engine.core.common.businessentities.StorageDomainDynamic;
-import org.ovirt.engine.core.common.businessentities.StorageDomainStatic;
-import org.ovirt.engine.core.common.businessentities.StorageDomain;
 import org.ovirt.engine.core.common.businessentities.storage_pool;
 import org.ovirt.engine.core.common.utils.Pair;
 import org.ovirt.engine.core.common.validation.group.CreateEntity;
@@ -174,7 +174,7 @@
         StorageType storageType = getStorageDomain().getStorageType();
         StorageDomainType storageDomainFunction = 
getStorageDomain().getStorageDomainType();
 
-        boolean isBlockStorage = storageType == StorageType.ISCSI || 
storageType == StorageType.FCP;
+        boolean isBlockStorage = storageType.isBlockDomain();
         boolean isDataStorageDomain = storageDomainFunction == 
StorageDomainType.Data;
 
         // V2 is applicable only for block data storage domains
diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/GetVgListQuery.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/GetVgListQuery.java
index 715732d..483e06a 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/GetVgListQuery.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/GetVgListQuery.java
@@ -4,7 +4,6 @@
 
 import org.ovirt.engine.core.bll.Backend;
 import org.ovirt.engine.core.bll.QueriesCommandBase;
-import org.ovirt.engine.core.common.businessentities.StorageType;
 import org.ovirt.engine.core.common.businessentities.StorageDomain;
 import org.ovirt.engine.core.common.queries.VdsIdParametersBase;
 import org.ovirt.engine.core.common.vdscommands.VDSCommandType;
@@ -30,8 +29,7 @@
                 new Predicate<StorageDomain>() {
                     @Override
                     public boolean eval(StorageDomain storageDomain) {
-                        return storageDomain.getStorageType() == 
StorageType.ISCSI
-                                || storageDomain.getStorageType() == 
StorageType.FCP;
+                        return storageDomain.getStorageType().isBlockDomain();
                     }
                 });
 
diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/UpdateStoragePoolCommand.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/UpdateStoragePoolCommand.java
index 504dd3b..7c14054 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/UpdateStoragePoolCommand.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/UpdateStoragePoolCommand.java
@@ -106,8 +106,7 @@
         }
 
         StorageType spType = storagePool.getstorage_pool_type();
-        if (targetFormat == StorageFormatType.V2
-                && spType != StorageType.ISCSI && spType != StorageType.FCP) {
+        if (targetFormat == StorageFormatType.V2 && !spType.isBlockDomain()) {
             // There is no format V2 for domains that aren't ISCSI/FCP
             return;
         }
diff --git 
a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendStorageDomainResource.java
 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendStorageDomainResource.java
index 1ab745d..596b0c7 100644
--- 
a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendStorageDomainResource.java
+++ 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendStorageDomainResource.java
@@ -1,5 +1,7 @@
 package org.ovirt.engine.api.restapi.resource;
 
+import static 
org.ovirt.engine.api.restapi.resource.BackendStorageDomainsResource.SUB_COLLECTIONS;
+
 import java.util.ArrayList;
 import java.util.LinkedList;
 import java.util.List;
@@ -16,9 +18,10 @@
 import org.ovirt.engine.api.model.VMs;
 import org.ovirt.engine.api.resource.AssignedPermissionsResource;
 import org.ovirt.engine.api.resource.DisksResource;
-import org.ovirt.engine.api.resource.RemovableStorageDomainContentsResource;
 import org.ovirt.engine.api.resource.FilesResource;
+import org.ovirt.engine.api.resource.RemovableStorageDomainContentsResource;
 import org.ovirt.engine.api.resource.StorageDomainResource;
+import org.ovirt.engine.api.restapi.util.StorageDomainHelper;
 import org.ovirt.engine.core.common.VdcObjectType;
 import org.ovirt.engine.core.common.action.ExtendSANStorageDomainParameters;
 import org.ovirt.engine.core.common.action.StorageDomainManagementParameter;
@@ -26,20 +29,16 @@
 import org.ovirt.engine.core.common.action.VdcActionParametersBase;
 import org.ovirt.engine.core.common.action.VdcActionType;
 import org.ovirt.engine.core.common.businessentities.StorageDomainSharedStatus;
-import org.ovirt.engine.core.common.businessentities.VDS;
-
 import org.ovirt.engine.core.common.businessentities.StorageDomainStatic;
 import org.ovirt.engine.core.common.businessentities.StorageServerConnections;
+import org.ovirt.engine.core.common.businessentities.StorageType;
+import org.ovirt.engine.core.common.businessentities.VDS;
 import org.ovirt.engine.core.common.interfaces.SearchType;
 import org.ovirt.engine.core.common.queries.GetDeviceListQueryParameters;
 import org.ovirt.engine.core.common.queries.GetPermissionsForObjectParameters;
 import org.ovirt.engine.core.common.queries.StorageDomainQueryParametersBase;
 import org.ovirt.engine.core.common.queries.VdcQueryType;
 import org.ovirt.engine.core.compat.Guid;
-import org.ovirt.engine.core.common.businessentities.StorageType;
-import org.ovirt.engine.api.restapi.util.StorageDomainHelper;
-
-import static 
org.ovirt.engine.api.restapi.resource.BackendStorageDomainsResource.SUB_COLLECTIONS;
 
 public class BackendStorageDomainResource extends
         AbstractBackendSubResource<StorageDomain, 
org.ovirt.engine.core.common.businessentities.StorageDomain> implements 
StorageDomainResource {
@@ -68,15 +67,8 @@
         org.ovirt.engine.core.common.businessentities.StorageDomain entity = 
getEntity(storageDomainResolver, true);
         StorageDomain model = map(entity, new StorageDomain());
         StorageType storageType = entity.getStorageType();
-        if (storageType != null) {
-            switch (storageType) {
-            case ISCSI:
-            case FCP:
+        if (storageType != null && storageType.isBlockDomain()) {
                 extendStorageDomain(incoming, model, storageType);
-                break;
-            default:
-                break;
-            }
         }
 
         return addLinks(performUpdate(incoming,
diff --git 
a/backend/manager/modules/restapi/types/src/main/java/org/ovirt/engine/api/restapi/types/StorageDomainMapper.java
 
b/backend/manager/modules/restapi/types/src/main/java/org/ovirt/engine/api/restapi/types/StorageDomainMapper.java
index 30e0005..95d55b5 100644
--- 
a/backend/manager/modules/restapi/types/src/main/java/org/ovirt/engine/api/restapi/types/StorageDomainMapper.java
+++ 
b/backend/manager/modules/restapi/types/src/main/java/org/ovirt/engine/api/restapi/types/StorageDomainMapper.java
@@ -10,9 +10,9 @@
 import org.ovirt.engine.api.model.StorageType;
 import org.ovirt.engine.api.model.VolumeGroup;
 import org.ovirt.engine.api.restapi.model.StorageFormat;
+import org.ovirt.engine.api.restapi.utils.GuidUtils;
 import org.ovirt.engine.core.common.businessentities.StorageDomainStatic;
 import org.ovirt.engine.core.common.businessentities.StorageServerConnections;
-import org.ovirt.engine.api.restapi.utils.GuidUtils;
 
 public class StorageDomainMapper {
 
@@ -120,8 +120,7 @@
         }
         model.setStorage(new Storage());
         model.getStorage().setType(map(entity.getStorageType(), null));
-        if (entity.getStorageType() == 
org.ovirt.engine.core.common.businessentities.StorageType.ISCSI ||
-            entity.getStorageType() == 
org.ovirt.engine.core.common.businessentities.StorageType.FCP) {
+        if (entity.getStorageType().isBlockDomain()) {
             model.getStorage().setVolumeGroup(new VolumeGroup());
             model.getStorage().getVolumeGroup().setId(entity.getStorage());
         }
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/dataprovider/AsyncDataProvider.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/dataprovider/AsyncDataProvider.java
index 2dc547f..5a937f7 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/dataprovider/AsyncDataProvider.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/dataprovider/AsyncDataProvider.java
@@ -968,15 +968,9 @@
     }
 
     public static VolumeFormat GetDiskVolumeFormat(VolumeType volumeType, 
StorageType storageType) {
-        switch (storageType) {
-        case NFS:
-        case LOCALFS:
-        case POSIXFS:
-        case GLUSTERFS:
+        if (storageType.isFileDomain()) {
             return VolumeFormat.RAW;
-
-        case ISCSI:
-        case FCP:
+        } else if (storageType.isBlockDomain()) {
             switch (volumeType) {
             case Sparse:
                 return VolumeFormat.COW;
@@ -987,8 +981,7 @@
             default:
                 return VolumeFormat.Unassigned;
             }
-
-        default:
+        } else {
             return VolumeFormat.Unassigned;
         }
     }
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/storage/StorageModel.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/storage/StorageModel.java
index a552cde..d1b361d 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/storage/StorageModel.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/storage/StorageModel.java
@@ -681,12 +681,12 @@
                 {
                     formats.add(StorageFormatType.V1);
                 }
-                else if ((getSelectedItem().getType() == StorageType.ISCSI || 
getSelectedItem().getType() == StorageType.FCP)
+                else if (getSelectedItem().getType().isBlockDomain()
                         && 
dataCenter.getcompatibility_version().compareTo(Version.v3_0) < 0)
                 {
                     formats.add(StorageFormatType.V1);
                 }
-                else if ((getSelectedItem().getType() == StorageType.ISCSI || 
getSelectedItem().getType() == StorageType.FCP)
+                else if (getSelectedItem().getType().isBlockDomain()
                         && 
dataCenter.getcompatibility_version().compareTo(Version.v3_0) == 0)
                 {
                     formats.add(StorageFormatType.V2);
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/NewDiskModel.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/NewDiskModel.java
index 2350b56..e2bceec 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/NewDiskModel.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/NewDiskModel.java
@@ -10,9 +10,9 @@
 import org.ovirt.engine.core.common.businessentities.DiskInterface;
 import org.ovirt.engine.core.common.businessentities.LUNs;
 import org.ovirt.engine.core.common.businessentities.LunDisk;
+import org.ovirt.engine.core.common.businessentities.StorageDomain;
 import org.ovirt.engine.core.common.businessentities.StoragePoolStatus;
 import org.ovirt.engine.core.common.businessentities.StorageType;
-import org.ovirt.engine.core.common.businessentities.StorageDomain;
 import org.ovirt.engine.core.common.businessentities.VolumeType;
 import org.ovirt.engine.core.common.businessentities.storage_pool;
 import org.ovirt.engine.core.common.queries.ConfigurationValues;
@@ -127,7 +127,7 @@
         }
         else {
             getIsWipeAfterDelete().setIsChangable(true);
-            getIsWipeAfterDelete().setEntity((Boolean) 
AsyncDataProvider.GetConfigValuePreConverted(ConfigurationValues.SANWipeAfterDelete));
+            
getIsWipeAfterDelete().setEntity(AsyncDataProvider.GetConfigValuePreConverted(ConfigurationValues.SANWipeAfterDelete));
         }
     }
 
@@ -179,7 +179,7 @@
         AddDiskParameters parameters = new AddDiskParameters(getVmId(), 
getDisk());
         if ((Boolean) getIsInternal().getEntity()) {
             StorageDomain storageDomain = (StorageDomain) 
getStorageDomain().getSelectedItem();
-            ((AddDiskParameters) 
parameters).setStorageDomainId(storageDomain.getId());
+            parameters.setStorageDomainId(storageDomain.getId());
         }
 
         Frontend.RunAction(VdcActionType.AddDisk, parameters, new 
IFrontendActionAsyncCallback() {
@@ -223,7 +223,7 @@
                 : ((StorageDomain) 
getStorageDomain().getSelectedItem()).getStorageType();
         IntegerValidation sizeValidation = new IntegerValidation();
         sizeValidation.setMinimum(1);
-        if (storageType == StorageType.ISCSI || storageType == 
StorageType.FCP) {
+        if (storageType.isBlockDomain()) {
             sizeValidation.setMaximum((Integer) 
AsyncDataProvider.GetConfigValuePreConverted(ConfigurationValues.MaxBlockDiskSize));
         }
         getSize().validateEntity(new IValidation[] { new NotEmptyValidation(), 
sizeValidation });


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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I60fc4cd333e954cc5075f3b3040054a7213a2f71
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Allon Mureinik <amure...@redhat.com>
_______________________________________________
Engine-patches mailing list
Engine-patches@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to