Hello Shmuel Melamud,

I'd like you to do a code review.  Please visit

    https://gerrit.ovirt.org/42020

to review the following change.

Change subject: core: Additional null checks in VmDeviceUtils
......................................................................

core: Additional null checks in VmDeviceUtils

Added null checks that were missing after refactoring VmDeviceUtils.

* In updateBootOrder() vm may be null if the method is called with ID of
  a template.
* In getVmDevicesForNextRun() return value of
  findVmDeviceBy[General]Type() may be null.

Change-Id: Ibd3574905fa4dd58e31cd914f4124e7a435c9ee9
Signed-off-by: Shmuel Melamud <[email protected]>
---
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/utils/VmDeviceUtils.java
1 file changed, 19 insertions(+), 17 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/20/42020/1

diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/utils/VmDeviceUtils.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/utils/VmDeviceUtils.java
index d7145d8..887a4f1 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/utils/VmDeviceUtils.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/utils/VmDeviceUtils.java
@@ -1153,18 +1153,20 @@
      * @param vmId
      */
     public static void updateBootOrder(Guid vmId) {
-        // Returns the devices sorted in ascending order
-        List<VmDevice> devices = dao.getVmDeviceByVmId(vmId);
-        // Reset current boot order
-        for (VmDevice device: devices) {
-            device.setBootOrder(0);
-        }
         VM vm = dbFacade.getVmDao().get(vmId);
-        VmHandler.updateDisksForVm(vm, 
dbFacade.getDiskDao().getAllForVm(vmId));
-        VmHandler.updateNetworkInterfacesFromDb(vm);
-        boolean isOldCluster = 
VmDeviceCommonUtils.isOldClusterVersion(vm.getVdsGroupCompatibilityVersion());
-        VmDeviceCommonUtils.updateVmDevicesBootOrder(vm, devices, 
isOldCluster);
-        dao.updateBootOrderInBatch(devices);
+        if (vm != null) {
+            // Returns the devices sorted in ascending order
+            List<VmDevice> devices = dao.getVmDeviceByVmId(vmId);
+            // Reset current boot order
+            for (VmDevice device: devices) {
+                device.setBootOrder(0);
+            }
+            VmHandler.updateDisksForVm(vm, 
dbFacade.getDiskDao().getAllForVm(vmId));
+            VmHandler.updateNetworkInterfacesFromDb(vm);
+            boolean isOldCluster = 
VmDeviceCommonUtils.isOldClusterVersion(vm.getVdsGroupCompatibilityVersion());
+            VmDeviceCommonUtils.updateVmDevicesBootOrder(vm, devices, 
isOldCluster);
+            dao.updateBootOrderInBatch(devices);
+        }
     }
 
     /*
@@ -1852,14 +1854,14 @@
 
                 vmManagedDeviceMap.put(device.getDeviceId(), device);
             } else {
+                VmDevice device;
                 if (update.getType() != VmDeviceType.UNKNOWN) {
-                    vmManagedDeviceMap.remove(
-                            VmDeviceCommonUtils.findVmDeviceByType(
-                                    vmManagedDeviceMap, 
update.getType()).getDeviceId());
+                    device = 
VmDeviceCommonUtils.findVmDeviceByType(vmManagedDeviceMap, update.getType());
                 } else {
-                    vmManagedDeviceMap.remove(
-                            VmDeviceCommonUtils.findVmDeviceByGeneralType(
-                                    vmManagedDeviceMap, 
update.getGeneralType()).getDeviceId());
+                    device = 
VmDeviceCommonUtils.findVmDeviceByGeneralType(vmManagedDeviceMap, 
update.getGeneralType());
+                }
+                if (device != null) {
+                    vmManagedDeviceMap.remove(device.getDeviceId());
                 }
             }
         }


-- 
To view, visit https://gerrit.ovirt.org/42020
To unsubscribe, visit https://gerrit.ovirt.org/settings

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

Reply via email to