Ori Liel has uploaded a new change for review. Change subject: restapi: Host Hooks - add link and href ......................................................................
restapi: Host Hooks - add link and href Change-Id: I3e2f33259a47624ca5b337408718e0343bec2279 Signed-off-by: Ori Liel <[email protected]> --- M backend/manager/modules/restapi/interface/common/jaxrs/src/main/java/org/ovirt/engine/api/common/util/LinkHelper.java M backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendHostHookResource.java M backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendHostHooksResource.java M backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendHostsResource.java M backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendHostHookResourceTest.java M backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendHostHooksResourceTest.java 6 files changed, 28 insertions(+), 2 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/73/10973/1 diff --git a/backend/manager/modules/restapi/interface/common/jaxrs/src/main/java/org/ovirt/engine/api/common/util/LinkHelper.java b/backend/manager/modules/restapi/interface/common/jaxrs/src/main/java/org/ovirt/engine/api/common/util/LinkHelper.java index b4eb488..e6eba10 100644 --- a/backend/manager/modules/restapi/interface/common/jaxrs/src/main/java/org/ovirt/engine/api/common/util/LinkHelper.java +++ b/backend/manager/modules/restapi/interface/common/jaxrs/src/main/java/org/ovirt/engine/api/common/util/LinkHelper.java @@ -41,6 +41,7 @@ import org.ovirt.engine.api.model.GlusterBrick; import org.ovirt.engine.api.model.GlusterVolume; import org.ovirt.engine.api.model.Group; +import org.ovirt.engine.api.model.Hook; import org.ovirt.engine.api.model.Host; import org.ovirt.engine.api.model.HostNIC; import org.ovirt.engine.api.model.Link; @@ -95,6 +96,8 @@ import org.ovirt.engine.api.resource.FilesResource; import org.ovirt.engine.api.resource.GroupResource; import org.ovirt.engine.api.resource.GroupsResource; +import org.ovirt.engine.api.resource.HostHookResource; +import org.ovirt.engine.api.resource.HostHooksResource; import org.ovirt.engine.api.resource.HostNicResource; import org.ovirt.engine.api.resource.HostNicsResource; import org.ovirt.engine.api.resource.HostResource; @@ -211,6 +214,9 @@ map = new ParentToCollectionMap(HostNicResource.class, HostNicsResource.class, Host.class); TYPES.put(HostNIC.class, map); + map = new ParentToCollectionMap(HostHookResource.class, HostHooksResource.class, Host.class); + TYPES.put(Hook.class, map); + map = new ParentToCollectionMap(FileResource.class, FilesResource.class, StorageDomain.class); TYPES.put(File.class, map); diff --git a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendHostHookResource.java b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendHostHookResource.java index 61a3ffa..a735c3b 100644 --- a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendHostHookResource.java +++ b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendHostHookResource.java @@ -26,12 +26,17 @@ public Hook getHook(Hooks hooks) { for (Hook hook : hooks.getHooks()) { if (HostMapper.generateHookId(hook.getEventName(), hook.getName(), hook.getMd5()).equals(guid)) { - return hook; + return addHref(hook); } } return notFound(); } + private Hook addHref(Hook hook) { + hook.setHref(parent.getPathBase() + uriInfo.getPath()); + return hook; + } + public BackendHostHooksResource getParent() { return parent; } diff --git a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendHostHooksResource.java b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendHostHooksResource.java index 4e08f8f..c4b8e99 100644 --- a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendHostHooksResource.java +++ b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendHostHooksResource.java @@ -35,9 +35,22 @@ private Hooks mapCollection(HashMap<String, HashMap<String, HashMap<String, String>>> hooksMap) { Hooks hooks = mappingLocator.getMapper(HashMap.class, Hooks.class).map(hooksMap, null); + for (Hook hook : hooks.getHooks()) { + addHref(hook); + } return hooks; } + private Hook addHref(Hook hook) { + hook.setHref(getPathBase() + uriInfo.getPath() + hook.getId()); + return hook; + } + + String getPathBase() { + String path = uriInfo.getBaseUri().getPath(); + return path.substring(0, path.length() - 1); + } + @Override @Path("{id}") public HostHookResource getHookSubResource(@PathParam("id") String id) { diff --git a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendHostsResource.java b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendHostsResource.java index 3e80208..4caf9de 100644 --- a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendHostsResource.java +++ b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendHostsResource.java @@ -34,7 +34,7 @@ public class BackendHostsResource extends AbstractBackendCollectionResource<Host, VDS> implements HostsResource { - static final String[] SUB_COLLECTIONS = { "storage", "nics", "tags", "permissions", "statistics" }; + static final String[] SUB_COLLECTIONS = { "storage", "nics", "tags", "permissions", "statistics", "hooks" }; static final String GLUSTERONLY_MODE_COLLECTIONS_TO_HIDE = "storage"; public BackendHostsResource() { diff --git a/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendHostHookResourceTest.java b/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendHostHookResourceTest.java index 375f826..0af6227 100644 --- a/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendHostHookResourceTest.java +++ b/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendHostHookResourceTest.java @@ -42,6 +42,7 @@ */ @Test public void testGet() { + setUriInfo(setUpBasicUriExpectations()); resource.setParent(getCollectionResourceMock()); control.replay(); Hook hook = resource.get(); diff --git a/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendHostHooksResourceTest.java b/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendHostHooksResourceTest.java index 203528c..57a3981 100644 --- a/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendHostHooksResourceTest.java +++ b/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendHostHooksResourceTest.java @@ -52,6 +52,7 @@ @Test public void testList() throws Exception { + resource.setUriInfo(setUpBasicUriExpectations()); setUpGetEntityExpectations(VdcQueryType.GetVdsHooksById2, GetVdsHooksByIdParameters.class, new String[] { "VdsId" }, -- To view, visit http://gerrit.ovirt.org/10973 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I3e2f33259a47624ca5b337408718e0343bec2279 Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Ori Liel <[email protected]> _______________________________________________ Engine-patches mailing list [email protected] http://lists.ovirt.org/mailman/listinfo/engine-patches
