Tal Nisan has uploaded a new change for review.

Change subject: core: Fix DiskImageByDiskAliasComparator to handle null aliases 
correctly
......................................................................

core: Fix DiskImageByDiskAliasComparator to handle null aliases correctly

In case of running a VM with disks imported from <V3.0 OVFs or from
P2V/V2V, the disk aliases created can be null, when the CreateVmVdsCommand
is running it sorts the disks by the aliases yet the comparator does not
check if one of the aliases is null and fails on an NPE, this patch fixes
this issue

Change-Id: I110f40b121a0bff8117888399fd5b798a9f19c10
Signed-off-by: Tal Nisan <tni...@redhat.com>
Bug-url: https://bugzilla.redhat.com/1059403
---
M 
backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/comparators/DiskImageByDiskAliasComparator.java
1 file changed, 15 insertions(+), 3 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/69/24269/1

diff --git 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/comparators/DiskImageByDiskAliasComparator.java
 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/comparators/DiskImageByDiskAliasComparator.java
index c699cfb..cbd99bf 100644
--- 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/comparators/DiskImageByDiskAliasComparator.java
+++ 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/comparators/DiskImageByDiskAliasComparator.java
@@ -5,13 +5,25 @@
 
 import org.ovirt.engine.core.common.businessentities.Disk;
 
-
 public class DiskImageByDiskAliasComparator implements Comparator<Disk>, 
Serializable {
     private static final long serialVersionUID = 4948753716816170325L;
 
     @Override
     public int compare(Disk o1, Disk o2) {
-        return o1.getDiskAlias().compareTo(o2.getDiskAlias());
-    }
+        String alias1 = o1.getDiskAlias();
+        String alias2 = o2.getDiskAlias();
 
+        if (alias1 == null) {
+            if (alias2 == null) {
+                return 0;
+            }
+            else {
+                return -1;
+            }
+        }
+        if (alias2 == null) {
+            return 1;
+        }
+        return alias1.compareTo(alias2);
+    }
 }


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

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

Reply via email to