Daniel Erez has uploaded a new change for review.

Change subject: restapi: avoid npe on floating disk creation without domain
......................................................................

restapi: avoid npe on floating disk creation without domain

Modified 'BackendDisksResource -> add()' to avoid an NPE
when creating a disk without a specified storage domain
(similar to https://gerrit.ovirt.org/40826/).

Change-Id: I2156d14ec6dc818ab3d0e1a76616d829ac8637c5
Bug-Url: https://bugzilla.redhat.com/1220824
Signed-off-by: Daniel Erez <de...@redhat.com>
---
M 
backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendDisksResource.java
1 file changed, 11 insertions(+), 4 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/21/41621/1

diff --git 
a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendDisksResource.java
 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendDisksResource.java
index c0a419d..e9bbf86 100644
--- 
a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendDisksResource.java
+++ 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendDisksResource.java
@@ -35,10 +35,7 @@
         AddDiskParameters params = new AddDiskParameters();
         Guid storageDomainId = getStorageDomainId(disk);
         params.setStorageDomainId(storageDomainId);
-        org.ovirt.engine.core.common.businessentities.StorageDomain 
storageDomain = getStorageDomainById(storageDomainId);
-        if (storageDomain != null) {
-            
disk.setStorageType(DiskMapper.map(storageDomain.getStorageDomainType()).value());
-        }
+        updateStorageTypeForDisk(disk);
         params.setDiskInfo(getMapper(Disk.class, 
org.ovirt.engine.core.common.businessentities.storage.Disk.class).map(disk, 
null));
         if (disk.isSetLunStorage() && disk.getLunStorage().isSetHost()) {
             params.setVdsId(getHostId(disk.getLunStorage().getHost()));
@@ -47,6 +44,16 @@
                 new QueryIdResolver<Guid>(VdcQueryType.GetDiskByDiskId, 
IdQueryParameters.class));
     }
 
+    protected void updateStorageTypeForDisk(Disk disk) {
+        Guid storageDomainId = getStorageDomainId(disk);
+        if (storageDomainId != null) {
+            org.ovirt.engine.core.common.businessentities.StorageDomain 
storageDomain = getStorageDomainById(storageDomainId);
+            if (storageDomain != null) {
+                
disk.setStorageType(DiskMapper.map(storageDomain.getStorageDomainType()).value());
+            }
+        }
+    }
+
     private Guid getStorageDomainId(Disk disk) {
         if (disk.isSetStorageDomains() && 
disk.getStorageDomains().isSetStorageDomains()
                 && 
disk.getStorageDomains().getStorageDomains().get(0).isSetId()) {


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

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

Reply via email to