Maor Lipchuk has uploaded a new change for review.

Change subject: core: make clear use of filterImageDisks.
......................................................................

core: make clear use of filterImageDisks.

Adding constant names for the filtering parameters, do it will be more
clear what is being filter when the method is being used.

Signed-off-by: Maor Lipchuk <mlipc...@redhat.com>
Change-Id: I54a22319d7005449ec4c3ecd285d81870b1c307e
---
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmFromSnapshotCommand.java
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmTemplateCommand.java
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/CreateAllSnapshotsFromVmCommand.java
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ExportVmCommand.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/ImportVmCommand.java
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/MoveVmCommand.java
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/OvfDataUpdater.java
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/OvfHelper.java
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveAllVmImagesCommand.java
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveAllVmTemplateImageTemplatesCommand.java
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveDiskCommand.java
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveSnapshotCommand.java
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveVmCommand.java
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveVmFromImportExportCommand.java
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveVmTemplateCommand.java
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RestoreAllSnapshotsCommand.java
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/TryBackToAllSnapshotsOfVmCommand.java
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/VmPoolCommandBase.java
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/VmTemplateCommand.java
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/lsm/LiveMigrateVmDisksCommand.java
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/snapshots/SnapshotsManager.java
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/validator/RunVmValidator.java
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/validator/VmValidator.java
M 
backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/ImagesHandlerTest.java
25 files changed, 136 insertions(+), 48 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/49/25349/1

diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmFromSnapshotCommand.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmFromSnapshotCommand.java
index f40f7dc..a81a3de 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmFromSnapshotCommand.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmFromSnapshotCommand.java
@@ -223,9 +223,9 @@
         if (diskImagesFromConfiguration == null) {
             diskImagesFromConfiguration =
                     
ImagesHandler.filterImageDisks(vmFromConfiguration.getDiskMap().values(),
-                            false,
-                            true,
-                            true);
+                            !ImagesHandler.FILTER_OUT_SHAREABLE_DISKS,
+                            ImagesHandler.FILTER_OUT_NOT_SNAPABLE_DISKS,
+                            ImagesHandler.FILTER_OUT_NOT_ACTIVE_DISKS);
         }
         return diskImagesFromConfiguration;
     }
@@ -325,7 +325,10 @@
         }
 
         List<DiskImage> disksToCheck =
-                
ImagesHandler.filterImageDisks(getDiskDao().getAllForVm(getSourceVmFromDb().getId()),
 true, false, true);
+                
ImagesHandler.filterImageDisks(getDiskDao().getAllForVm(getSourceVmFromDb().getId()),
+                        ImagesHandler.FILTER_OUT_SHAREABLE_DISKS,
+                        !ImagesHandler.FILTER_OUT_NOT_SNAPABLE_DISKS,
+                        ImagesHandler.FILTER_OUT_NOT_ACTIVE_DISKS);
         DiskImagesValidator diskImagesValidator = new 
DiskImagesValidator(disksToCheck);
         if (!validate(diskImagesValidator.diskImagesNotLocked())) {
             return false;
diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmTemplateCommand.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmTemplateCommand.java
index 8b89197..20f5caa 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmTemplateCommand.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmTemplateCommand.java
@@ -390,7 +390,10 @@
                 return false;
             }
 
-            List<DiskImage> diskImagesToCheck = 
ImagesHandler.filterImageDisks(mImages, true, false, true);
+            List<DiskImage> diskImagesToCheck = 
ImagesHandler.filterImageDisks(mImages,
+                    ImagesHandler.FILTER_OUT_SHAREABLE_DISKS,
+                    !ImagesHandler.FILTER_OUT_NOT_SNAPABLE_DISKS,
+                    ImagesHandler.FILTER_OUT_NOT_ACTIVE_DISKS);
             DiskImagesValidator diskImagesValidator = new 
DiskImagesValidator(diskImagesToCheck);
             if (!validate(diskImagesValidator.diskImagesNotIllegal()) ||
                     !validate(diskImagesValidator.diskImagesNotLocked())) {
@@ -436,7 +439,10 @@
 
             Map<StorageDomain, Integer> domainMap =
                     
StorageDomainValidator.getSpaceRequirementsForStorageDomains(
-                            
ImagesHandler.filterImageDisks(getVm().getDiskMap().values(), true, false, 
true),
+                            
ImagesHandler.filterImageDisks(getVm().getDiskMap().values(),
+                                    ImagesHandler.FILTER_OUT_SHAREABLE_DISKS,
+                                    
!ImagesHandler.FILTER_OUT_NOT_SNAPABLE_DISKS,
+                                    ImagesHandler.FILTER_OUT_NOT_ACTIVE_DISKS),
                             storageDomains,
                             diskInfoDestinationMap);
 
diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/CreateAllSnapshotsFromVmCommand.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/CreateAllSnapshotsFromVmCommand.java
index 6c88253..4d96d13 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/CreateAllSnapshotsFromVmCommand.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/CreateAllSnapshotsFromVmCommand.java
@@ -91,7 +91,10 @@
 
 
     private List<DiskImage> getDiskImagesForVm() {
-        return 
ImagesHandler.filterImageDisks(DbFacade.getInstance().getDiskDao().getAllForVm(getVmId()),
 true, true, true);
+        return 
ImagesHandler.filterImageDisks(DbFacade.getInstance().getDiskDao().getAllForVm(getVmId()),
+                ImagesHandler.FILTER_OUT_SHAREABLE_DISKS,
+                ImagesHandler.FILTER_OUT_NOT_SNAPABLE_DISKS,
+                ImagesHandler.FILTER_OUT_NOT_ACTIVE_DISKS);
     }
 
     /**
@@ -364,7 +367,10 @@
 
     private SnapshotVDSCommandParameters buildLiveSnapshotParameters(Snapshot 
snapshot) {
         List<Disk> pluggedDisksForVm = 
getDiskDao().getAllForVm(getVm().getId(), true);
-        List<DiskImage> filteredPluggedDisksForVm = 
ImagesHandler.filterImageDisks(pluggedDisksForVm, false, true, true);
+        List<DiskImage> filteredPluggedDisksForVm = 
ImagesHandler.filterImageDisks(pluggedDisksForVm,
+                !ImagesHandler.FILTER_OUT_SHAREABLE_DISKS,
+                ImagesHandler.FILTER_OUT_NOT_SNAPABLE_DISKS,
+                ImagesHandler.FILTER_OUT_NOT_ACTIVE_DISKS);
 
         // 'filteredPluggedDisks' should contain only disks from 
'getDisksList()' that are plugged to the VM.
         List<DiskImage> filteredPluggedDisks = 
ImagesHandler.imagesIntersection(filteredPluggedDisksForVm, getDisksList());
diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ExportVmCommand.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ExportVmCommand.java
index 18ddb2c..430be1f 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ExportVmCommand.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ExportVmCommand.java
@@ -299,7 +299,10 @@
 
     private List<DiskImage> getDisksBasedOnImage() {
         if (disksImages == null) {
-            disksImages = 
ImagesHandler.filterImageDisks(getVm().getDiskMap().values(), true, false, 
true);
+            disksImages = 
ImagesHandler.filterImageDisks(getVm().getDiskMap().values(),
+                    ImagesHandler.FILTER_OUT_SHAREABLE_DISKS,
+                    !ImagesHandler.FILTER_OUT_NOT_SNAPABLE_DISKS,
+                    ImagesHandler.FILTER_OUT_NOT_ACTIVE_DISKS);
         }
         return disksImages;
     }
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 5cdaab2..1ac33f8 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
@@ -56,6 +56,9 @@
     public static final String DISK = "_Disk";
     public static final String DefaultDriveName = "1";
     private static final Log log = LogFactory.getLog(ImagesHandler.class);
+    public static final boolean FILTER_OUT_SHAREABLE_DISKS = true;
+    public static final boolean FILTER_OUT_NOT_SNAPABLE_DISKS = true;
+    public static final boolean FILTER_OUT_NOT_ACTIVE_DISKS = true;
 
     /**
      * The following method will find all images and storages where they 
located for provide template and will fill an
@@ -476,7 +479,10 @@
     }
 
     public static List<DiskImage> getPluggedActiveImagesForVm(Guid vmId) {
-        return 
filterImageDisks(DbFacade.getInstance().getDiskDao().getAllForVm(vmId, true), 
true, false, true);
+        return 
filterImageDisks(DbFacade.getInstance().getDiskDao().getAllForVm(vmId, true),
+                ImagesHandler.FILTER_OUT_SHAREABLE_DISKS,
+                !ImagesHandler.FILTER_OUT_NOT_SNAPABLE_DISKS,
+                ImagesHandler.FILTER_OUT_NOT_ACTIVE_DISKS);
     }
 
     /**
diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ImportVmCommand.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ImportVmCommand.java
index 5540e81..cb48fec 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ImportVmCommand.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ImportVmCommand.java
@@ -691,7 +691,10 @@
     @Override
     protected void moveOrCopyAllImageGroups() {
         moveOrCopyAllImageGroups(getVm().getId(),
-                ImagesHandler.filterImageDisks(getVm().getDiskMap().values(), 
false, false, true));
+                ImagesHandler.filterImageDisks(getVm().getDiskMap().values(),
+                        !ImagesHandler.FILTER_OUT_SHAREABLE_DISKS,
+                        !ImagesHandler.FILTER_OUT_NOT_SNAPABLE_DISKS,
+                        ImagesHandler.FILTER_OUT_NOT_ACTIVE_DISKS));
         copyAllMemoryImages(getVm().getId());
     }
 
diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/MoveVmCommand.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/MoveVmCommand.java
index dfd95430..44928a8 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/MoveVmCommand.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/MoveVmCommand.java
@@ -75,8 +75,14 @@
         // not checking storage domain, there is a check in
         // checkTemplateInStorageDomain later
         VmHandler.updateDisksFromDb(getVm());
-        List<DiskImage> diskImages = 
ImagesHandler.filterImageDisks(getVm().getDiskMap().values(), false, false, 
true);
-        List<DiskImage> diskImagesToValidate = 
ImagesHandler.filterImageDisks(diskImages, true, false, true);
+        List<DiskImage> diskImages = 
ImagesHandler.filterImageDisks(getVm().getDiskMap().values(),
+                !ImagesHandler.FILTER_OUT_SHAREABLE_DISKS,
+                !ImagesHandler.FILTER_OUT_NOT_SNAPABLE_DISKS,
+                ImagesHandler.FILTER_OUT_NOT_ACTIVE_DISKS);
+        List<DiskImage> diskImagesToValidate = 
ImagesHandler.filterImageDisks(diskImages,
+                ImagesHandler.FILTER_OUT_SHAREABLE_DISKS,
+                !ImagesHandler.FILTER_OUT_NOT_SNAPABLE_DISKS,
+                ImagesHandler.FILTER_OUT_NOT_ACTIVE_DISKS);
         DiskImagesValidator diskImagesValidator = new 
DiskImagesValidator(diskImagesToValidate);
         retValue = retValue &&
                 validate(new StoragePoolValidator(getStoragePool()).isUp()) &&
@@ -120,9 +126,12 @@
                 && checkIfDisksExist(diskImages);
         if (retValue && 
!VmTemplateHandler.BLANK_VM_TEMPLATE_ID.equals(getVm().getVmtGuid())) {
             List<DiskImage> imageList =
-                    
ImagesHandler.filterImageDisks(DbFacade.getInstance().getDiskDao().getAllForVm(getVm().getVmtGuid()),
-                            false,
-                            false, true);
+                    ImagesHandler.filterImageDisks(DbFacade.getInstance()
+                            .getDiskDao()
+                            .getAllForVm(getVm().getVmtGuid()),
+                            !ImagesHandler.FILTER_OUT_SHAREABLE_DISKS,
+                            !ImagesHandler.FILTER_OUT_NOT_SNAPABLE_DISKS,
+                            ImagesHandler.FILTER_OUT_NOT_ACTIVE_DISKS);
             Map<Guid, DiskImage> templateImagesMap = new HashMap<Guid, 
DiskImage>();
             for (DiskImage image : imageList) {
                 templateImagesMap.put(image.getImageId(), image);
@@ -178,7 +187,10 @@
 
     @Override
     protected void moveOrCopyAllImageGroups() {
-        moveOrCopyAllImageGroups(getVmId(), 
ImagesHandler.filterImageDisks(getVm().getDiskList(), false, false, true));
+        moveOrCopyAllImageGroups(getVmId(), 
ImagesHandler.filterImageDisks(getVm().getDiskList(),
+                !ImagesHandler.FILTER_OUT_SHAREABLE_DISKS,
+                !ImagesHandler.FILTER_OUT_NOT_SNAPABLE_DISKS,
+                ImagesHandler.FILTER_OUT_NOT_ACTIVE_DISKS));
     }
 
     @Override
diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/OvfDataUpdater.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/OvfDataUpdater.java
index f4b71be..9eccbb3 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/OvfDataUpdater.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/OvfDataUpdater.java
@@ -326,7 +326,10 @@
      */
     protected void buildMetadataDictionaryForVm(VM vm, Map<Guid, 
KeyValuePairCompat<String, List<Guid>>> metaDictionary) {
         ArrayList<DiskImage> AllVmImages = new ArrayList<DiskImage>();
-        List<DiskImage> filteredDisks = 
ImagesHandler.filterImageDisks(vm.getDiskList(), false, true, true);
+        List<DiskImage> filteredDisks = 
ImagesHandler.filterImageDisks(vm.getDiskList(),
+                !ImagesHandler.FILTER_OUT_SHAREABLE_DISKS,
+                ImagesHandler.FILTER_OUT_NOT_SNAPABLE_DISKS,
+                ImagesHandler.FILTER_OUT_NOT_ACTIVE_DISKS);
 
         for (DiskImage diskImage : filteredDisks) {
             AllVmImages.addAll(getAllImageSnapshots(diskImage));
diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/OvfHelper.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/OvfHelper.java
index 0e96c62..566c729 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/OvfHelper.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/OvfHelper.java
@@ -78,7 +78,10 @@
      */
     private String buildMetadataDictionaryForVm(VM vm) {
         ArrayList<DiskImage> AllVmImages = new ArrayList<DiskImage>();
-        List<DiskImage> filteredDisks = 
ImagesHandler.filterImageDisks(vm.getDiskList(), false, true, true);
+        List<DiskImage> filteredDisks = 
ImagesHandler.filterImageDisks(vm.getDiskList(),
+                !ImagesHandler.FILTER_OUT_SHAREABLE_DISKS,
+                ImagesHandler.FILTER_OUT_NOT_SNAPABLE_DISKS,
+                ImagesHandler.FILTER_OUT_NOT_ACTIVE_DISKS);
 
         for (DiskImage diskImage : filteredDisks) {
             List<DiskImage> images = 
ImagesHandler.getAllImageSnapshots(diskImage.getImageId(),
diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveAllVmImagesCommand.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveAllVmImagesCommand.java
index 49e2497..e1a9cd9 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveAllVmImagesCommand.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveAllVmImagesCommand.java
@@ -40,10 +40,10 @@
         if (images == null) {
             images =
                     
ImagesHandler.filterImageDisks(DbFacade.getInstance().getDiskDao().getAllForVm(getVmId()),
-                            true,
-                            false,
-                            true);
-        }
+                            ImagesHandler.FILTER_OUT_SHAREABLE_DISKS,
+                            !ImagesHandler.FILTER_OUT_NOT_SNAPABLE_DISKS,
+                            ImagesHandler.FILTER_OUT_NOT_ACTIVE_DISKS);
+            }
         for (DiskImage image : images) {
             if (Boolean.TRUE.equals(image.getActive())) {
                 mImagesToBeRemoved.add(image.getImageId());
diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveAllVmTemplateImageTemplatesCommand.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveAllVmTemplateImageTemplatesCommand.java
index 83eb33c..6d9497a 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveAllVmTemplateImageTemplatesCommand.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveAllVmTemplateImageTemplatesCommand.java
@@ -31,8 +31,12 @@
     @SuppressWarnings("unchecked")
     @Override
     protected void executeCommand() {
-        List<DiskImage> imageTemplates = 
ImagesHandler.filterImageDisks(DbFacade.getInstance().getDiskDao().getAllForVm(
-                getVmTemplateId()), false, false, true);
+        List<DiskImage> imageTemplates =
+                
ImagesHandler.filterImageDisks(DbFacade.getInstance().getDiskDao().getAllForVm(
+                        getVmTemplateId()),
+                        !ImagesHandler.FILTER_OUT_SHAREABLE_DISKS,
+                        !ImagesHandler.FILTER_OUT_NOT_SNAPABLE_DISKS,
+                        ImagesHandler.FILTER_OUT_NOT_ACTIVE_DISKS);
         boolean noImagesRemovedYet = true;
         for (DiskImage template : imageTemplates) {
             // get disk
diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveDiskCommand.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveDiskCommand.java
index 6106e1b..50b04a4 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveDiskCommand.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveDiskCommand.java
@@ -223,7 +223,11 @@
                 return false;
             }
 
-            List<DiskImage> diskList = 
ImagesHandler.filterImageDisks(Arrays.asList(getDisk()), true, false, true);
+            List<DiskImage> diskList =
+                    ImagesHandler.filterImageDisks(Arrays.asList(getDisk()),
+                            ImagesHandler.FILTER_OUT_SHAREABLE_DISKS,
+                            !ImagesHandler.FILTER_OUT_NOT_SNAPABLE_DISKS,
+                            ImagesHandler.FILTER_OUT_NOT_ACTIVE_DISKS);
             DiskImagesValidator diskImagesValidator = new 
DiskImagesValidator(diskList);
             if (!validate(diskImagesValidator.diskImagesNotLocked())) {
                 return false;
diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveSnapshotCommand.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveSnapshotCommand.java
index da927b9..f21f9d9 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveSnapshotCommand.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveSnapshotCommand.java
@@ -312,7 +312,10 @@
 
     protected boolean validateImages() {
         List<DiskImage> imagesToValidate =
-                
ImagesHandler.filterImageDisks(getDiskDao().getAllForVm(getVmId()), true, 
false, true);
+                
ImagesHandler.filterImageDisks(getDiskDao().getAllForVm(getVmId()),
+                        ImagesHandler.FILTER_OUT_SHAREABLE_DISKS,
+                        !ImagesHandler.FILTER_OUT_NOT_SNAPABLE_DISKS,
+                        ImagesHandler.FILTER_OUT_NOT_ACTIVE_DISKS);
         DiskImagesValidator diskImagesValidator = new 
DiskImagesValidator(imagesToValidate);
 
         return validate(diskImagesValidator.diskImagesNotLocked()) &&
diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveVmCommand.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveVmCommand.java
index 962f456..748dc5e 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveVmCommand.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveVmCommand.java
@@ -81,10 +81,9 @@
 
     private boolean removeVm() {
         final List<DiskImage> diskImages = 
ImagesHandler.filterImageDisks(getVm().getDiskList(),
-                true,
-                false,
-                true);
-
+                ImagesHandler.FILTER_OUT_SHAREABLE_DISKS,
+                !ImagesHandler.FILTER_OUT_NOT_SNAPABLE_DISKS,
+                ImagesHandler.FILTER_OUT_NOT_ACTIVE_DISKS);
         for (VmNic nic : getInterfaces()) {
             new ExternalNetworkManager(nic).deallocateIfExternal();
         }
@@ -210,7 +209,10 @@
         }
 
         Collection<Disk> vmDisks = getVm().getDiskMap().values();
-        List<DiskImage> vmImages = ImagesHandler.filterImageDisks(vmDisks, 
true, false, true);
+        List<DiskImage> vmImages = ImagesHandler.filterImageDisks(vmDisks,
+                ImagesHandler.FILTER_OUT_SHAREABLE_DISKS,
+                !ImagesHandler.FILTER_OUT_NOT_SNAPABLE_DISKS,
+                ImagesHandler.FILTER_OUT_NOT_ACTIVE_DISKS);
         if (!vmImages.isEmpty()) {
             Set<Guid> storageIds = 
ImagesHandler.getAllStorageIdsForImageIds(vmImages);
             MultipleStorageDomainsValidator storageValidator = new 
MultipleStorageDomainsValidator(getVm().getStoragePoolId(), storageIds);
diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveVmFromImportExportCommand.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveVmFromImportExportCommand.java
index a7ae501..8557919 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveVmFromImportExportCommand.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveVmFromImportExportCommand.java
@@ -104,7 +104,10 @@
 
     private void removeDiskImages() {
         List<DiskImage> images =
-                ImagesHandler.filterImageDisks(getVm().getDiskMap().values(), 
true, false, true);
+                ImagesHandler.filterImageDisks(getVm().getDiskMap().values(),
+                        ImagesHandler.FILTER_OUT_SHAREABLE_DISKS,
+                        !ImagesHandler.FILTER_OUT_NOT_SNAPABLE_DISKS,
+                        ImagesHandler.FILTER_OUT_NOT_ACTIVE_DISKS);
         for (DiskImage image : images) {
             image.setStorageIds(new 
ArrayList<Guid>(Arrays.asList(getParameters().getStorageDomainId())));
             image.setStoragePoolId(getParameters().getStoragePoolId());
diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveVmTemplateCommand.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveVmTemplateCommand.java
index 30eb11d..7a7aaf0 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveVmTemplateCommand.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveVmTemplateCommand.java
@@ -135,9 +135,9 @@
             } else {
                 List<DiskImage> vmDIsks =
                         
ImagesHandler.filterImageDisks(getDbFacade().getDiskDao().getAllForVm(vm.getId()),
-                                false,
-                                false,
-                                true);
+                                !ImagesHandler.FILTER_OUT_SHAREABLE_DISKS,
+                                !ImagesHandler.FILTER_OUT_NOT_SNAPABLE_DISKS,
+                                ImagesHandler.FILTER_OUT_NOT_ACTIVE_DISKS);
                 Set<Guid> domainsIds = getStorageDomainsByDisks(vmDIsks, 
false);
                 for (Guid domainId : domainsIds) {
                     if 
(!getParameters().getStorageDomainsList().contains(domainId)) {
@@ -174,9 +174,9 @@
         if (imageTemplates == null) {
             imageTemplates =
                     
ImagesHandler.filterImageDisks(DbFacade.getInstance().getDiskDao().getAllForVm(getVmTemplateId()),
-                            false,
-                            false,
-                            true);
+                            !ImagesHandler.FILTER_OUT_SHAREABLE_DISKS,
+                            !ImagesHandler.FILTER_OUT_NOT_SNAPABLE_DISKS,
+                            ImagesHandler.FILTER_OUT_NOT_ACTIVE_DISKS);
         }
     }
 
diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RestoreAllSnapshotsCommand.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RestoreAllSnapshotsCommand.java
index 7a7341b..8031eb3 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RestoreAllSnapshotsCommand.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RestoreAllSnapshotsCommand.java
@@ -434,7 +434,10 @@
 
     protected boolean performImagesChecks() {
         List<DiskImage> diskImagesToCheck =
-                ImagesHandler.filterImageDisks(getImagesList(), true, false, 
true);
+                ImagesHandler.filterImageDisks(getImagesList(),
+                        ImagesHandler.FILTER_OUT_SHAREABLE_DISKS,
+                        !ImagesHandler.FILTER_OUT_NOT_SNAPABLE_DISKS,
+                        ImagesHandler.FILTER_OUT_NOT_ACTIVE_DISKS);
         DiskImagesValidator diskImagesValidator = new 
DiskImagesValidator(diskImagesToCheck);
         return validate(diskImagesValidator.diskImagesNotLocked());
     }
diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/TryBackToAllSnapshotsOfVmCommand.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/TryBackToAllSnapshotsOfVmCommand.java
index c60e28f..92204a5 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/TryBackToAllSnapshotsOfVmCommand.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/TryBackToAllSnapshotsOfVmCommand.java
@@ -259,7 +259,10 @@
 
         updateVmDisksFromDb();
         List<DiskImage> diskImages =
-                ImagesHandler.filterImageDisks(getVm().getDiskMap().values(), 
true, true, true);
+                ImagesHandler.filterImageDisks(getVm().getDiskMap().values(),
+                        ImagesHandler.FILTER_OUT_SHAREABLE_DISKS,
+                        ImagesHandler.FILTER_OUT_NOT_SNAPABLE_DISKS,
+                        ImagesHandler.FILTER_OUT_NOT_ACTIVE_DISKS);
         if (!diskImages.isEmpty()) {
           if (!validate(new StoragePoolValidator(getStoragePool()).isUp())) {
               return false;
diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/VmPoolCommandBase.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/VmPoolCommandBase.java
index a584305..fb99598 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/VmPoolCommandBase.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/VmPoolCommandBase.java
@@ -150,7 +150,10 @@
         }
 
         List<Disk> disks = 
DbFacade.getInstance().getDiskDao().getAllForVm(vmId);
-        List<DiskImage> vmImages = ImagesHandler.filterImageDisks(disks, true, 
true, false);
+        List<DiskImage> vmImages = ImagesHandler.filterImageDisks(disks,
+                ImagesHandler.FILTER_OUT_SHAREABLE_DISKS,
+                ImagesHandler.FILTER_OUT_NOT_SNAPABLE_DISKS,
+                !ImagesHandler.FILTER_OUT_NOT_ACTIVE_DISKS);
 
         VM vm = DbFacade.getInstance().getVmDao().get(vmId);
         StoragePool sp = 
DbFacade.getInstance().getStoragePoolDao().get(vm.getStoragePoolId());
diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/VmTemplateCommand.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/VmTemplateCommand.java
index 12fcc43..990f88c 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/VmTemplateCommand.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/VmTemplateCommand.java
@@ -75,7 +75,10 @@
                 vmtImages =
                         ImagesHandler.filterImageDisks(DbFacade.getInstance()
                                 .getDiskDao()
-                                .getAllForVm(vmTemplate.getId()), false, 
false, true);
+                                .getAllForVm(vmTemplate.getId()),
+                                !ImagesHandler.FILTER_OUT_SHAREABLE_DISKS,
+                                !ImagesHandler.FILTER_OUT_NOT_SNAPABLE_DISKS,
+                                ImagesHandler.FILTER_OUT_NOT_ACTIVE_DISKS);
             }
             if (vmtImages.size() > 0
                     && !ImagesHandler.isImagesExists(vmtImages, 
vmtImages.get(0).getStoragePoolId())) {
diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/lsm/LiveMigrateVmDisksCommand.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/lsm/LiveMigrateVmDisksCommand.java
index e002625..386edec 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/lsm/LiveMigrateVmDisksCommand.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/lsm/LiveMigrateVmDisksCommand.java
@@ -317,7 +317,10 @@
     }
 
     protected boolean checkImagesStatus() {
-        List<DiskImage> disksToCheck = 
ImagesHandler.filterImageDisks(getDiskDao().getAllForVm(getVmId()), true, 
false, true);
+        List<DiskImage> disksToCheck = 
ImagesHandler.filterImageDisks(getDiskDao().getAllForVm(getVmId()),
+                ImagesHandler.FILTER_OUT_SHAREABLE_DISKS,
+                !ImagesHandler.FILTER_OUT_NOT_SNAPABLE_DISKS,
+                ImagesHandler.FILTER_OUT_NOT_ACTIVE_DISKS);
         DiskImagesValidator diskImagesValidator = new 
DiskImagesValidator(disksToCheck);
         return validate(diskImagesValidator.diskImagesNotLocked());
     }
diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/snapshots/SnapshotsManager.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/snapshots/SnapshotsManager.java
index a775086..e2dffb4 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/snapshots/SnapshotsManager.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/snapshots/SnapshotsManager.java
@@ -347,7 +347,10 @@
 
         VmDeviceUtils.setVmDevices(vm.getStaticData());
         if (disks == null) {
-            disks = 
ImagesHandler.filterImageDisks(getDiskDao().getAllForVm(vm.getId()), false, 
true, true);
+            disks = 
ImagesHandler.filterImageDisks(getDiskDao().getAllForVm(vm.getId()),
+                    !ImagesHandler.FILTER_OUT_SHAREABLE_DISKS,
+                    ImagesHandler.FILTER_OUT_NOT_SNAPABLE_DISKS,
+                    ImagesHandler.FILTER_OUT_NOT_ACTIVE_DISKS);
         }
         for (DiskImage image : disks) {
             image.setStorageIds(null);
diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/validator/RunVmValidator.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/validator/RunVmValidator.java
index aea07f2..9b89254 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/validator/RunVmValidator.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/validator/RunVmValidator.java
@@ -503,7 +503,10 @@
 
     private List<DiskImage> getVmImageDisks() {
         if (cachedVmImageDisks == null) {
-            cachedVmImageDisks = ImagesHandler.filterImageDisks(getVmDisks(), 
true, false, false);
+            cachedVmImageDisks = ImagesHandler.filterImageDisks(getVmDisks(),
+                    ImagesHandler.FILTER_OUT_SHAREABLE_DISKS,
+                    !ImagesHandler.FILTER_OUT_NOT_SNAPABLE_DISKS,
+                    !ImagesHandler.FILTER_OUT_NOT_ACTIVE_DISKS);
         }
 
         return cachedVmImageDisks;
diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/validator/VmValidator.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/validator/VmValidator.java
index 52e51ec..8d8f7e3 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/validator/VmValidator.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/validator/VmValidator.java
@@ -99,7 +99,10 @@
         for (VM vm : vms) {
             List<Disk> vmDisks = 
getDbFacade().getDiskDao().getAllForVm(vm.getId());
             ValidationResult result =
-                    (new 
DiskImagesValidator(ImagesHandler.filterImageDisks(vmDisks, true, false, true)))
+                    (new 
DiskImagesValidator(ImagesHandler.filterImageDisks(vmDisks,
+                            ImagesHandler.FILTER_OUT_SHAREABLE_DISKS,
+                            !ImagesHandler.FILTER_OUT_NOT_SNAPABLE_DISKS,
+                            ImagesHandler.FILTER_OUT_NOT_ACTIVE_DISKS)))
                             
.diskImagesSnapshotsNotAttachedToOtherVms(onlyPlugged);
             if (result != ValidationResult.VALID) {
                 return result;
diff --git 
a/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/ImagesHandlerTest.java
 
b/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/ImagesHandlerTest.java
index f8f2e79..9894b45 100644
--- 
a/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/ImagesHandlerTest.java
+++ 
b/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/ImagesHandlerTest.java
@@ -84,7 +84,10 @@
     public void filterImageDisksFilterDiskSnapshots() {
         disk1.setActive(true);
 
-        List<DiskImage> result = 
ImagesHandler.filterImageDisks(Arrays.asList(disk1, disk2), false, false, true);
+        List<DiskImage> result = 
ImagesHandler.filterImageDisks(Arrays.asList(disk1, disk2),
+                !ImagesHandler.FILTER_OUT_SHAREABLE_DISKS,
+                !ImagesHandler.FILTER_OUT_NOT_SNAPABLE_DISKS,
+                ImagesHandler.FILTER_OUT_NOT_ACTIVE_DISKS);
 
         assertEquals("Wrong number of Guids returned", 1, result.size());
         assertTrue("The result should contain the active image disk", 
result.contains(disk1));


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

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

Reply via email to