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