Martin Mucha has uploaded a new change for review. Change subject: restapi: fix NPE on ReloadConfigurationsCommand ......................................................................
restapi: fix NPE on ReloadConfigurationsCommand org.ovirt.engine.api.model.API is not registered in org.ovirt.engine.api.utils.LinkHelper#TYPES producing NPE. Added precondition test and return 'null' as a "field bugfix". Change-Id: I70fd6b084a33bc7770de245c0001d3eefbb58b66 Signed-off-by: Martin Mucha <[email protected]> --- M backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/utils/LinkHelper.java 1 file changed, 15 insertions(+), 4 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/49/34649/1 diff --git a/backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/utils/LinkHelper.java b/backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/utils/LinkHelper.java index 4dc5203..b09366b 100644 --- a/backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/utils/LinkHelper.java +++ b/backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/utils/LinkHelper.java @@ -76,8 +76,8 @@ import org.ovirt.engine.api.model.ParametersSet; import org.ovirt.engine.api.model.Permission; import org.ovirt.engine.api.model.Permit; -import org.ovirt.engine.api.model.Quota; import org.ovirt.engine.api.model.QoS; +import org.ovirt.engine.api.model.Quota; import org.ovirt.engine.api.model.ReportedDevice; import org.ovirt.engine.api.model.Request; import org.ovirt.engine.api.model.Role; @@ -119,12 +119,12 @@ import org.ovirt.engine.api.resource.CapabiliyResource; import org.ovirt.engine.api.resource.ClusterResource; import org.ovirt.engine.api.resource.ClustersResource; +import org.ovirt.engine.api.resource.CpuProfileResource; +import org.ovirt.engine.api.resource.CpuProfilesResource; import org.ovirt.engine.api.resource.DataCenterResource; import org.ovirt.engine.api.resource.DataCentersResource; import org.ovirt.engine.api.resource.DeviceResource; import org.ovirt.engine.api.resource.DevicesResource; -import org.ovirt.engine.api.resource.CpuProfileResource; -import org.ovirt.engine.api.resource.CpuProfilesResource; import org.ovirt.engine.api.resource.DiskProfileResource; import org.ovirt.engine.api.resource.DiskProfilesResource; import org.ovirt.engine.api.resource.DiskResource; @@ -164,8 +164,8 @@ import org.ovirt.engine.api.resource.PermissionResource; import org.ovirt.engine.api.resource.PermitResource; import org.ovirt.engine.api.resource.PermitsResource; -import org.ovirt.engine.api.resource.QosResource; import org.ovirt.engine.api.resource.QoSsResource; +import org.ovirt.engine.api.resource.QosResource; import org.ovirt.engine.api.resource.QuotaResource; import org.ovirt.engine.api.resource.QuotasResource; import org.ovirt.engine.api.resource.ReadOnlyDeviceResource; @@ -242,6 +242,8 @@ import org.ovirt.engine.api.resource.gluster.GlusterHooksResource; import org.ovirt.engine.api.resource.gluster.GlusterVolumeResource; import org.ovirt.engine.api.resource.gluster.GlusterVolumesResource; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; /** * Contains a static addLinks() method which constructs any href attributes @@ -277,6 +279,9 @@ * A constant representing the pseudo-parent of a top-level collection */ private static final Class<? extends BaseResource> NO_PARENT = BaseResource.class; + + private static Logger log = LoggerFactory.getLogger(LinkHelper.class); + /** * A map describing every possible collection @@ -706,6 +711,12 @@ private static Collection getCollection(BaseResource model, Class<? extends BaseResource> suggestedParentType) { ParentToCollectionMap collections = TYPES.get(model.getClass()); + if (collections == null) { + log.error("Map 'describing every possible collection' does not contain rather possible key for resource " + + "%1$s, returning 'null' instead.", model.getClass()); + return null; + } + if (suggestedParentType != null) { for (Entry<Class<? extends BaseResource>, Collection> entry : collections.entrySet()) { if (entry.getKey().equals(suggestedParentType)) { -- To view, visit http://gerrit.ovirt.org/34649 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I70fd6b084a33bc7770de245c0001d3eefbb58b66 Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Martin Mucha <[email protected]> _______________________________________________ Engine-patches mailing list [email protected] http://lists.ovirt.org/mailman/listinfo/engine-patches
