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