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

Reply via email to