Arik Hadas has uploaded a new change for review.

Change subject: core: organize ImportVmTemplate#canDoAction
......................................................................

core: organize ImportVmTemplate#canDoAction

Change it to match the structure of:
if (!<check>) {
  return false/failCanDoAction..
}

...

return true;

Change-Id: I0cd87bc38a4bc543ed7ab763f903e34c54270760
Signed-off-by: Arik Hadas <[email protected]>
---
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ImportVmTemplateCommand.java
1 file changed, 65 insertions(+), 64 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/79/32379/1

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 3e04333..cd9aa43 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
@@ -68,6 +68,7 @@
         setStoragePoolId(parameters.getStoragePoolId());
         setVdsGroupId(parameters.getVdsGroupId());
         setStorageDomainId(parameters.getStorageDomainId());
+        setDescription(getVmTemplateName());
     }
 
     protected ImportVmTemplateCommand(Guid commandId) {
@@ -76,44 +77,43 @@
 
     @Override
     protected boolean canDoAction() {
-        boolean retVal = true;
         if (getVmTemplate() == null) {
-            retVal = false;
-        } else {
-            setDescription(getVmTemplateName());
+            return 
failCanDoAction(VdcBllMessages.ACTION_TYPE_FAILED_TEMPLATE_DOES_NOT_EXIST);
         }
+
         // check that the storage pool is valid
-        retVal = retVal && checkStoragePool();
-
-        if(retVal) {
-            retVal = validateTemplateArchitecture();
+        if (!checkStoragePool()) {
+            return false;
         }
 
-        if (retVal) {
-            retVal = isVDSGroupCompatible();
+        if(!validateTemplateArchitecture()) {
+            return false;
         }
 
-        if (retVal) {
-            // set the source domain and check that it is ImportExport type 
and active
-            setSourceDomainId(getParameters().getSourceDomainId());
-            StorageDomainValidator sourceDomainValidator = new 
StorageDomainValidator(getSourceDomain());
-            retVal = validate(sourceDomainValidator.isDomainExistAndActive());
+        if (!isVDSGroupCompatible()) {
+            return false;
         }
 
-        if (retVal && (getSourceDomain().getStorageDomainType() != 
StorageDomainType.ImportExport)
+        // set the source domain and check that it is ImportExport type and 
active
+        setSourceDomainId(getParameters().getSourceDomainId());
+        StorageDomainValidator sourceDomainValidator = new 
StorageDomainValidator(getSourceDomain());
+        if (!validate(sourceDomainValidator.isDomainExistAndActive())) {
+            return false;
+        }
+
+        if ((getSourceDomain().getStorageDomainType() != 
StorageDomainType.ImportExport)
                 && !isImagesAlreadyOnTarget()) {
-            
addCanDoActionMessage(VdcBllMessages.ACTION_TYPE_FAILED_STORAGE_DOMAIN_TYPE_ILLEGAL);
-            retVal = false;
+            return 
failCanDoAction(VdcBllMessages.ACTION_TYPE_FAILED_STORAGE_DOMAIN_TYPE_ILLEGAL);
         }
 
-        if (retVal && !isImagesAlreadyOnTarget()) {
+        if (!isImagesAlreadyOnTarget()) {
             // Set the template images from the Export domain and change each 
image id storage is to the import domain
             GetAllFromExportDomainQueryParameters tempVar = new 
GetAllFromExportDomainQueryParameters(getParameters()
                     .getStoragePoolId(), getParameters().getSourceDomainId());
             VdcQueryReturnValue qretVal = runInternalQuery(
                     VdcQueryType.GetTemplatesFromExportDomain, tempVar);
-            retVal = qretVal.getSucceeded();
-            if (retVal) {
+
+            if (qretVal.getSucceeded()) {
                 Map<VmTemplate, List<DiskImage>> templates = 
qretVal.getReturnValue();
                 ArrayList<DiskImage> images = new ArrayList<DiskImage>();
                 for (Map.Entry<VmTemplate, List<DiskImage>> entry : 
templates.entrySet()) {
@@ -130,58 +130,57 @@
                 HashMap<Guid, DiskImage> imageMap = new HashMap<Guid, 
DiskImage>();
                 for (DiskImage image : images) {
                     if (Guid.Empty.equals(image.getVmSnapshotId())) {
-                        retVal = 
failCanDoAction(VdcBllMessages.ACTION_TYPE_FAILED_CORRUPTED_VM_SNAPSHOT_ID);
-                        break;
+                        return 
failCanDoAction(VdcBllMessages.ACTION_TYPE_FAILED_CORRUPTED_VM_SNAPSHOT_ID);
                     }
 
                     StorageDomain storageDomain =
                             
getStorageDomain(imageToDestinationDomainMap.get(image.getId()));
                     StorageDomainValidator validator = new 
StorageDomainValidator(storageDomain);
-                    retVal = validate(validator.isDomainExistAndActive()) &&
-                            validate(validator.domainIsValidDestination());
-                    if (!retVal) {
-                        break;
+                    if (!validate(validator.isDomainExistAndActive())) {
+                        return false;
                     }
+
+                    if (!validate(validator.domainIsValidDestination())) {
+                        return false;
+                    }
+
                     StorageDomainStatic targetDomain = 
storageDomain.getStorageStaticData();
                     
changeRawToCowIfSparseOnBlockDevice(targetDomain.getStorageType(), image);
-                    retVal = 
ImagesHandler.checkImageConfiguration(targetDomain, image,
-                            getReturnValue().getCanDoActionMessages());
-                    if (!retVal) {
-                        break;
-                    } else {
-                        
image.setStoragePoolId(getParameters().getStoragePoolId());
-                        image.setStorageIds(new 
ArrayList<Guid>(Arrays.asList(storageDomain.getId())));
-                        imageMap.put(image.getImageId(), image);
+
+                    if (!ImagesHandler.checkImageConfiguration(targetDomain, 
image,
+                            getReturnValue().getCanDoActionMessages())) {
+                        return false;
                     }
+
+                    image.setStoragePoolId(getParameters().getStoragePoolId());
+                    image.setStorageIds(new 
ArrayList<Guid>(Arrays.asList(storageDomain.getId())));
+                    imageMap.put(image.getImageId(), image);
                 }
                 getVmTemplate().setDiskImageMap(imageMap);
             }
         }
 
-        if (retVal && getParameters().isImportAsNewEntity()) {
+        if (getParameters().isImportAsNewEntity()) {
             initImportClonedTemplate();
         }
 
-        if (retVal) {
-            VmTemplate duplicateTemplate = getVmTemplateDAO()
-                    .get(getParameters().getVmTemplate().getId());
-            // check that the template does not exists in the target domain
-            if (duplicateTemplate != null) {
-                
addCanDoActionMessage(VdcBllMessages.VMT_CANNOT_IMPORT_TEMPLATE_EXISTS);
-                getReturnValue().getCanDoActionMessages().add(
-                        String.format("$TemplateName %1$s", 
duplicateTemplate.getName()));
-                retVal = false;
-            } else if (getVmTemplate().isBaseTemplate() && 
isVmTemplateWithSameNameExist()) {
-                
addCanDoActionMessage(VdcBllMessages.VM_CANNOT_IMPORT_TEMPLATE_NAME_EXISTS);
-                retVal = false;
-            }
+        VmTemplate duplicateTemplate = getVmTemplateDAO()
+                .get(getParameters().getVmTemplate().getId());
+        // check that the template does not exists in the target domain
+        if (duplicateTemplate != null) {
+            return 
failCanDoAction(VdcBllMessages.VMT_CANNOT_IMPORT_TEMPLATE_EXISTS,
+                    String.format("$TemplateName %1$s", 
duplicateTemplate.getName()));
         }
 
-        if (retVal) {
-            retVal = validateNoDuplicateDiskImages(getImages());
+        if (getVmTemplate().isBaseTemplate() && 
isVmTemplateWithSameNameExist()) {
+            return 
failCanDoAction(VdcBllMessages.VM_CANNOT_IMPORT_TEMPLATE_NAME_EXISTS);
         }
 
-        if (retVal && getImages() != null && !getImages().isEmpty() && 
!isImagesAlreadyOnTarget()) {
+        if (!validateNoDuplicateDiskImages(getImages())) {
+            return false;
+        }
+
+        if (getImages() != null && !getImages().isEmpty() && 
!isImagesAlreadyOnTarget()) {
             Map<StorageDomain, Integer> domainMap = 
getSpaceRequirementsForStorageDomains(
                     new 
ArrayList<DiskImage>(getVmTemplate().getDiskImageMap().values()));
             if (domainMap.isEmpty()) {
@@ -199,32 +198,34 @@
                 }
             }
         }
-        if (retVal) {
-            retVal = validateMacAddress(Entities.<VmNic, VmNetworkInterface> 
upcast(getVmTemplate().getInterfaces()));
+
+        if (!validateMacAddress(Entities.<VmNic, VmNetworkInterface> 
upcast(getVmTemplate().getInterfaces()))) {
+            return false;
         }
 
         // if this is a template version, check base template exist
-        if (retVal && !getVmTemplate().isBaseTemplate()) {
+        if (!getVmTemplate().isBaseTemplate()) {
             VmTemplate baseTemplate = 
getVmTemplateDAO().get(getVmTemplate().getBaseTemplateId());
             if (baseTemplate == null) {
-                retVal = false;
-                
addCanDoActionMessage(VdcBllMessages.VMT_CANNOT_IMPORT_TEMPLATE_VERSION_MISSING_BASE);
+                return 
failCanDoAction(VdcBllMessages.VMT_CANNOT_IMPORT_TEMPLATE_VERSION_MISSING_BASE);
             }
         }
 
-        if (retVal && !setAndValidateDiskProfiles()) {
+        if (!setAndValidateDiskProfiles()) {
             return false;
         }
 
-        if(retVal && !setAndValidateCpuProfile()) {
+        if(!setAndValidateCpuProfile()) {
             return false;
         }
 
-        if (!retVal) {
-            addCanDoActionMessage(VdcBllMessages.VAR__ACTION__IMPORT);
-            addCanDoActionMessage(VdcBllMessages.VAR__TYPE__VM_TEMPLATE);
-        }
-        return retVal;
+        return true;
+    }
+
+    @Override
+    protected void setActionMessageParameters() {
+        addCanDoActionMessage(VdcBllMessages.VAR__ACTION__IMPORT);
+        addCanDoActionMessage(VdcBllMessages.VAR__TYPE__VM_TEMPLATE);
     }
 
     protected boolean isVDSGroupCompatible () {


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

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

Reply via email to