]> git.aero2k.de Git - tmp/jakarta-migration.git/commitdiff
CSPACE-271: Added Java API call for getting relation lists with params.
authorRichard Millet <richard.millet@berkeley.edu>
Tue, 11 Aug 2009 04:35:28 +0000 (04:35 +0000)
committerRichard Millet <richard.millet@berkeley.edu>
Tue, 11 Aug 2009 04:35:28 +0000 (04:35 +0000)
services/relation/client/src/main/java/org/collectionspace/services/client/RelationClient.java
services/relation/client/src/main/java/org/collectionspace/services/client/RelationProxy.java

index a9efddc08e4ec3922e140a36d1e4050ccd484860..7637b162ca02b3febaeb722dd559c7edd0a42a28 100644 (file)
@@ -1,6 +1,9 @@
 package org.collectionspace.services.client;
 
+import javax.ws.rs.PathParam;
+import javax.ws.rs.core.Context;
 import javax.ws.rs.core.Response;
+import javax.ws.rs.core.UriInfo;
 
 import org.collectionspace.services.relation.Relation;
 import org.collectionspace.services.relation.RelationList;
@@ -15,42 +18,36 @@ import org.jboss.resteasy.spi.ResteasyProviderFactory;
 
  * @version $Revision:$
  */
-public class RelationClient extends BaseServiceClient {
+public class RelationClient extends BaseServiceClient implements RelationProxy {
 
-    /**
-     *
-     */
-    private static final RelationClient instance = new RelationClient();
     /**
      *
      */
     private RelationProxy relationProxy;
 
     /**
-     *
-     * Default constructor for RelationClient class.
-     *
-     */
-    private RelationClient() {
-        ResteasyProviderFactory factory = ResteasyProviderFactory.getInstance();
-        RegisterBuiltin.register(factory);
-        if(useAuth()){
-               relationProxy = ProxyFactory.create(RelationProxy.class,
-                    getBaseURL(), getHttpClient());
-        }else{
-               relationProxy = ProxyFactory.create(RelationProxy.class,
-                    getBaseURL());
-        }
-    }
-
-    /**
-     * FIXME Comment this
-     *
-     * @return
-     */
-    public static RelationClient getInstance() {
-        return instance;
-    }
+    *
+    * Default constructor for CollectionObjectClient class.
+    *
+    */
+   public RelationClient() {
+       ResteasyProviderFactory factory = ResteasyProviderFactory.getInstance();
+       RegisterBuiltin.register(factory);
+       setProxy();
+   }
+    
+   /**
+    * allow to reset proxy as per security needs
+    */
+   public void setProxy() {
+       if(useAuth()){
+           relationProxy = ProxyFactory.create(RelationProxy.class,
+                   getBaseURL(), getHttpClient());
+       }else{
+          relationProxy = ProxyFactory.create(RelationProxy.class,
+                   getBaseURL());
+       }
+   }
 
     /**
      * @return
@@ -59,7 +56,13 @@ public class RelationClient extends BaseServiceClient {
     public ClientResponse<RelationList> getRelationList() {
         return relationProxy.getRelationList();
     }
-
+    
+    public ClientResponse<RelationList> getRelationList_SPO(String subjectCsid,
+                       String predicate,
+                       String objectCsid) {
+       return relationProxy.getRelationList_SPO(subjectCsid, predicate, objectCsid);
+    }
+    
     /**
      * @param csid
      * @return
index bc075cec1099bc502c044020c496c79db23c12e4..7149f9df2a65d15053fad38278e7086e8abab8ce 100644 (file)
@@ -8,7 +8,9 @@ import javax.ws.rs.PUT;
 import javax.ws.rs.Path;
 import javax.ws.rs.PathParam;
 import javax.ws.rs.Produces;
+import javax.ws.rs.core.Context;
 import javax.ws.rs.core.Response;
+import javax.ws.rs.core.UriInfo;
 
 import org.collectionspace.services.relation.Relation;
 import org.collectionspace.services.relation.RelationList;
@@ -24,6 +26,12 @@ public interface RelationProxy {
 
     @GET
     ClientResponse<RelationList> getRelationList();
+    
+       @GET
+       @Path("subject/{subjectCsid}/type/{predicate}/object/{objectCsid}")
+       ClientResponse<RelationList> getRelationList_SPO(@PathParam("subjectCsid") String subjectCsid,
+                       @PathParam("predicate") String predicate,
+                       @PathParam("objectCsid") String objectCsid);
 
     //(C)reate
     @POST