]> git.aero2k.de Git - tmp/jakarta-migration.git/commitdiff
CSPACE-3760, CSPACE-3701, CSPACE-3712, CSPACE-3701: Lots of updates for soft-delet...
authorRichard Millet <richard.millet@berkeley.edu>
Thu, 31 Mar 2011 20:10:19 +0000 (20:10 +0000)
committerRichard Millet <richard.millet@berkeley.edu>
Thu, 31 Mar 2011 20:10:19 +0000 (20:10 +0000)
72 files changed:
services/account/client/src/main/java/org/collectionspace/services/client/AccountClient.java
services/account/client/src/main/java/org/collectionspace/services/client/AccountRoleClient.java
services/acquisition/client/src/main/java/org/collectionspace/services/client/AcquisitionClient.java
services/acquisition/client/src/main/java/org/collectionspace/services/client/AcquisitionProxy.java
services/authorization-mgt/client/src/main/java/org/collectionspace/services/client/PermissionClient.java
services/authorization-mgt/client/src/main/java/org/collectionspace/services/client/PermissionRoleClient.java
services/authorization-mgt/client/src/main/java/org/collectionspace/services/client/RoleClient.java
services/authorization-mgt/client/src/main/java/org/collectionspace/services/client/RolePermissionClient.java
services/blob/client/src/main/java/org/collectionspace/services/client/BlobClient.java
services/blob/client/src/main/java/org/collectionspace/services/client/BlobProxy.java
services/client/src/main/java/org/collectionspace/services/client/AbstractPoxServiceClientImpl.java
services/client/src/main/java/org/collectionspace/services/client/AbstractServiceClientImpl.java
services/client/src/main/java/org/collectionspace/services/client/AuthorityClient.java
services/client/src/main/java/org/collectionspace/services/client/AuthorityClientImpl.java
services/client/src/main/java/org/collectionspace/services/client/AuthorityProxy.java
services/client/src/main/java/org/collectionspace/services/client/CollectionSpaceClient.java
services/client/src/main/java/org/collectionspace/services/client/CollectionSpacePoxClient.java
services/client/src/main/java/org/collectionspace/services/client/CollectionSpacePoxProxy.java
services/client/src/main/java/org/collectionspace/services/client/CollectionSpaceProxy.java
services/client/src/main/java/org/collectionspace/services/client/TestServiceClient.java
services/client/src/main/java/org/collectionspace/services/client/workflow/WorkflowClient.java [moved from services/common/src/main/java/org/collectionspace/services/common/workflow/client/WorkflowClient.java with 85% similarity]
services/client/src/main/java/org/collectionspace/services/client/workflow/WorkflowProxy.java [new file with mode: 0644]
services/collectionobject/client/src/main/java/org/collectionspace/services/client/CollectionObjectClient.java
services/collectionobject/client/src/main/java/org/collectionspace/services/client/CollectionObjectProxy.java
services/common-api/pom.xml
services/common/pom.xml
services/common/src/main/java/org/collectionspace/services/common/AbstractMultiPartCollectionSpaceResourceImpl.java
services/common/src/main/java/org/collectionspace/services/common/context/AbstractServiceContextImpl.java
services/common/src/main/java/org/collectionspace/services/common/query/QueryContext.java
services/common/src/main/java/org/collectionspace/services/common/query/nuxeo/QueryManagerNuxeoImpl.java
services/common/src/main/java/org/collectionspace/services/common/repository/RepositoryClient.java
services/common/src/main/java/org/collectionspace/services/common/vocabulary/VocabManagerImpl.java
services/common/src/main/java/org/collectionspace/services/common/workflow/client/WorkflowProxy.java [deleted file]
services/common/src/main/java/org/collectionspace/services/common/workflow/service/nuxeo/WorkflowDocumentModelHandler.java
services/common/src/main/java/org/collectionspace/services/nuxeo/client/java/RepositoryJavaClientImpl.java
services/common/src/main/java/org/collectionspace/services/nuxeo/util/NuxeoUtils.java
services/contact/client/src/main/java/org/collectionspace/services/client/AuthorityWithContactsClient.java
services/contact/client/src/main/java/org/collectionspace/services/client/AuthorityWithContactsClientImpl.java
services/contact/client/src/main/java/org/collectionspace/services/client/AuthorityWithContactsProxy.java
services/contact/client/src/main/java/org/collectionspace/services/client/ContactClient.java
services/contact/client/src/main/java/org/collectionspace/services/client/ContactProxy.java
services/dimension/client/src/main/java/org/collectionspace/services/client/DimensionClient.java
services/dimension/client/src/main/java/org/collectionspace/services/client/DimensionProxy.java
services/dimension/service/src/main/java/org/collectionspace/services/dimension/DimensionResource.java
services/id/client/src/main/java/org/collectionspace/services/client/IdClient.java
services/intake/client/src/main/java/org/collectionspace/services/client/IntakeClient.java
services/intake/client/src/main/java/org/collectionspace/services/client/IntakeProxy.java
services/loanin/client/src/main/java/org/collectionspace/services/client/LoaninClient.java
services/loanin/client/src/main/java/org/collectionspace/services/client/LoaninProxy.java
services/loanout/client/src/main/java/org/collectionspace/services/client/LoanoutClient.java
services/loanout/client/src/main/java/org/collectionspace/services/client/LoanoutProxy.java
services/location/client/src/main/java/org/collectionspace/services/client/LocationAuthorityClient.java
services/location/client/src/main/java/org/collectionspace/services/client/LocationAuthorityProxy.java
services/media/client/src/main/java/org/collectionspace/services/client/MediaClient.java
services/media/client/src/main/java/org/collectionspace/services/client/MediaProxy.java
services/movement/client/src/main/java/org/collectionspace/services/client/MovementClient.java
services/movement/client/src/main/java/org/collectionspace/services/client/MovementProxy.java
services/note/client/src/main/java/org/collectionspace/services/client/NoteClient.java
services/objectexit/client/src/main/java/org/collectionspace/services/client/ObjectExitClient.java
services/objectexit/client/src/main/java/org/collectionspace/services/client/ObjectExitProxy.java
services/organization/client/src/main/java/org/collectionspace/services/client/OrgAuthorityClient.java
services/organization/client/src/main/java/org/collectionspace/services/client/OrgAuthorityProxy.java
services/person/client/src/main/java/org/collectionspace/services/client/PersonAuthorityClient.java
services/person/client/src/main/java/org/collectionspace/services/client/PersonAuthorityProxy.java
services/relation/client/src/main/java/org/collectionspace/services/client/RelationClient.java
services/relation/client/src/main/java/org/collectionspace/services/client/RelationProxy.java
services/report/client/src/main/java/org/collectionspace/services/client/ReportClient.java
services/report/client/src/main/java/org/collectionspace/services/client/ReportProxy.java
services/vocabulary/client/src/main/java/org/collectionspace/services/client/VocabularyClient.java
services/vocabulary/client/src/main/java/org/collectionspace/services/client/VocabularyProxy.java
services/workflow/client/src/test/java/org/collectionspace/services/client/test/WorkflowServiceTest.java
services/workflow/service/src/main/java/org/collectionspace/services/workflow/WorkflowResource.java

index 025c542b6f30670e3d921dab48d696d2c4e510a3..3e25e0aa5735b4b03951f50324ce5feef8847e90 100644 (file)
@@ -36,7 +36,7 @@ import org.jboss.resteasy.client.ClientResponse;
 
  * @version $Revision:$
  */
-public class AccountClient extends AbstractServiceClientImpl<AccountProxy> {
+public class AccountClient extends AbstractServiceClientImpl<AccountsCommonList, AccountProxy> {
     public static final String SERVICE_NAME = "accounts";
 
        @Override
index 028a114497cebbfa7225863967e70908424cade3..da0cc0b0da1a4e083abc1c62a4ccc75b10597b72 100644 (file)
@@ -37,7 +37,7 @@ import org.jboss.resteasy.client.ClientResponse;
 
  * @version $Revision:$
  */
-public class AccountRoleClient extends AbstractServiceClientImpl<AccountRoleProxy> {
+public class AccountRoleClient extends AbstractServiceClientImpl<AccountRole, AccountRoleProxy> {
        public static final String SERVICE_NAME = "accountroles";
 
        @Override
@@ -48,6 +48,7 @@ public class AccountRoleClient extends AbstractServiceClientImpl<AccountRoleProx
     /* (non-Javadoc)
      * @see 
      */
+       @Override
     public String getServicePathComponent() {
         return "accounts";
     }
index 9daf1ac6def3f3963a3a433a7e1c3de72b07a291..6a4c74ccf17b7045c29fa2e3b535ca01f44fe4f1 100644 (file)
@@ -8,7 +8,7 @@ import org.collectionspace.services.jaxb.AbstractCommonList;
 
  * @version $Revision:$
  */
-public class AcquisitionClient extends AbstractPoxServiceClientImpl<AcquisitionProxy> {
+public class AcquisitionClient extends AbstractPoxServiceClientImpl<AbstractCommonList, AcquisitionProxy> {
        public static final String SERVICE_NAME = "acquisitions";
        public static final String SERVICE_PATH_COMPONENT = SERVICE_NAME;       
        public static final String SERVICE_PATH = "/" + SERVICE_PATH_COMPONENT;
index 527d5446b994ab8e5231555abda9dab61d8e1f7d..db55b3b283870a0b2816e0c54c2c5ac854923545 100644 (file)
@@ -14,7 +14,7 @@ import org.jboss.resteasy.client.ClientResponse;
 @Path(AcquisitionClient.SERVICE_PATH_PROXY)
 @Produces({"application/xml"})
 @Consumes({"application/xml"})
-public interface AcquisitionProxy extends CollectionSpacePoxProxy {
+public interface AcquisitionProxy extends CollectionSpacePoxProxy<AbstractCommonList> {
     @GET
     ClientResponse<AbstractCommonList> readList();
 }
index 87e70ec013ebd1ae734242153bb194f6eed50540..4346cec781c50a6c575dfcb4e347f840a7da5d5e 100644 (file)
@@ -37,7 +37,7 @@ import org.collectionspace.services.authorization.PermissionsList;
 
  * @version $Revision:$
  */
-public class PermissionClient extends AbstractServiceClientImpl<PermissionProxy> {
+public class PermissionClient extends AbstractServiceClientImpl<PermissionsList, PermissionProxy> {
        public static final String SERVICE_NAME = "authorization/permissions";
        public static final String SERVICE_PATH_COMPONENT = SERVICE_NAME;       
        public static final String SERVICE_PATH = "/" + SERVICE_PATH_COMPONENT;
index 5bb12627d46823d6756297151edf57ddcc00e34a..79dd99f8293212cca0492200c10971be099fda32 100644 (file)
@@ -35,7 +35,7 @@ import org.collectionspace.services.authorization.PermissionRole;
 
  * @version $Revision:$
  */
-public class PermissionRoleClient extends AbstractServiceClientImpl<PermissionRoleProxy> {
+public class PermissionRoleClient extends AbstractServiceClientImpl<PermissionRole, PermissionRoleProxy> {
        @Override
        public String getServiceName() {
                throw new UnsupportedOperationException(); //FIXME: REM - http://issues.collectionspace.org/browse/CSPACE-3497
index 041d1e7c4ed5eab181c80708f2b698843f75aad1..a52723741b7b98ff41eae8f77c74e029a376a708 100644 (file)
@@ -38,7 +38,7 @@ import org.jboss.resteasy.client.ClientResponse;
 
  * @version $Revision:$
  */
-public class RoleClient extends AbstractServiceClientImpl<RoleProxy> {
+public class RoleClient extends AbstractServiceClientImpl<RolesList, RoleProxy> {
        public static final String SERVICE_NAME = "authorization/roles";
        public static final String SERVICE_PATH_COMPONENT = SERVICE_NAME;       
        public static final String SERVICE_PATH = "/" + SERVICE_PATH_COMPONENT;
index a80125ff401afa09d23728e2e2ea809b8564b70b..ad6f536a4d9f4b1131915a2351d85f9856a9d7cd 100644 (file)
@@ -42,7 +42,7 @@ import org.jboss.resteasy.spi.ResteasyProviderFactory;
 
  * @version $Revision:$
  */
-public class RolePermissionClient extends AbstractServiceClientImpl<RolePermissionProxy> {
+public class RolePermissionClient extends AbstractServiceClientImpl<PermissionRole, RolePermissionProxy> {
     @Override
     public String getServiceName() { 
        throw new UnsupportedOperationException(); //FIXME: REM - http://issues.collectionspace.org/browse/CSPACE-3498
@@ -51,6 +51,7 @@ public class RolePermissionClient extends AbstractServiceClientImpl<RolePermissi
     /* (non-Javadoc)
      * @see 
      */
+    @Override
        public String getServicePathComponent() {
         return "authorization/roles";
     }
index fe60a7cf40891c1f3fb019475dacd15b42bb40cb..1ba83542acb42ed13fba2653b01ce112a9591386 100644 (file)
@@ -29,7 +29,7 @@ import org.jboss.resteasy.plugins.providers.multipart.MultipartFormDataOutput;
  * $LastChangedDate: 2010-05-17 18:25:37 -0700 (Mon, 17 May 2010) $
  *
  */
-public class BlobClient extends AbstractPoxServiceClientImpl<BlobProxy> {
+public class BlobClient extends AbstractPoxServiceClientImpl<AbstractCommonList, BlobProxy> {
        public static final String SERVICE_NAME = "blobs";
        public static final String SERVICE_PATH_COMPONENT = SERVICE_NAME;       
        public static final String SERVICE_PATH = "/" + SERVICE_PATH_COMPONENT;
index ebd5ce34b4ad96d635b1965496d17bb77f74544b..9a701a0743f01bcd49cf3556abb6dc77055a71d0 100644 (file)
@@ -1,24 +1,16 @@
 package org.collectionspace.services.client;
 
 import javax.ws.rs.Consumes;
-import javax.ws.rs.DELETE;
 import javax.ws.rs.GET;
 import javax.ws.rs.POST;
-import javax.ws.rs.PUT;
 import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
 import javax.ws.rs.Produces;
 import javax.ws.rs.QueryParam;
 import javax.ws.rs.core.Response;
 
-import org.collectionspace.services.common.authorityref.AuthorityRefList;
 import org.collectionspace.services.jaxb.AbstractCommonList;
 import org.jboss.resteasy.client.ClientResponse;
 
-import org.jboss.resteasy.plugins.providers.multipart.InputPart;
-import org.jboss.resteasy.plugins.providers.multipart.MultipartInput;
-import org.jboss.resteasy.plugins.providers.multipart.MultipartOutput;
-import org.jboss.resteasy.plugins.providers.multipart.MultipartFormDataInput;
 import org.jboss.resteasy.plugins.providers.multipart.MultipartFormDataOutput;
 
 
@@ -28,7 +20,7 @@ import org.jboss.resteasy.plugins.providers.multipart.MultipartFormDataOutput;
 @Path(BlobClient.SERVICE_PATH + "/")
 @Produces("application/xml")
 @Consumes("application/xml")
-public interface BlobProxy extends CollectionSpacePoxProxy {
+public interface BlobProxy extends CollectionSpacePoxProxy<AbstractCommonList> {
     //(C)reate
     @POST
     ClientResponse<Response> createBlobFromURI(byte[] xmlPayload, 
index bd49d98f9b293a9f071310fec0f5180b62522db1..a3b9f2dc4ad24d8bc7594df94b14a1c5a2198104 100644 (file)
@@ -1,16 +1,17 @@
 package org.collectionspace.services.client;\r
 \r
-import javax.ws.rs.PathParam;\r
 import javax.ws.rs.core.Response;\r
 \r
-import org.apache.commons.httpclient.HttpClient;\r
-import org.collectionspace.services.common.authorityref.AuthorityRefList;\r
 import org.collectionspace.services.jaxb.AbstractCommonList;\r
-import org.collectionspace.services.workflow.WorkflowsCommon;\r
 import org.jboss.resteasy.client.ClientResponse;\r
 \r
-public abstract class AbstractPoxServiceClientImpl<T extends CollectionSpacePoxProxy> extends AbstractServiceClientImpl<T> \r
-               implements CollectionSpacePoxClient<T> {\r
+/*\r
+ * LT = List type\r
+ * P = Proxy type\r
+ */\r
+public abstract class AbstractPoxServiceClientImpl<LT extends AbstractCommonList, P extends CollectionSpacePoxProxy<LT>>\r
+       extends AbstractServiceClientImpl<LT, P> \r
+       implements CollectionSpacePoxClient<LT, P> {\r
        @Override\r
        public ClientResponse<Response> create(PoxPayloadOut xmlPayload) {\r
         return getProxy().create(xmlPayload.getBytes());\r
index 1314d1cd7088af0072cf22ac7ecc39d93f690f02..dbd105c4dc3b0583706a733c49f2c0dd38433455 100644 (file)
@@ -53,8 +53,8 @@ import org.slf4j.LoggerFactory;
  * @param <CommonListType> \r
  * @param <ListType> \r
  */\r
-public abstract class AbstractServiceClientImpl<T extends CollectionSpaceProxy> implements\r
-        CollectionSpaceClient<T> {\r
+public abstract class AbstractServiceClientImpl<LT, P extends CollectionSpaceProxy>\r
+       implements CollectionSpaceClient<LT, P> {\r
 \r
     /** The logger. */\r
     protected final Logger logger = LoggerFactory.getLogger(AbstractServiceClientImpl.class);\r
@@ -71,7 +71,7 @@ public abstract class AbstractServiceClientImpl<T extends CollectionSpaceProxy>
     /** The http client. */\r
     private HttpClient httpClient;\r
     /** The RESTEasy proxy */\r
-    private T proxy;\r
+    private P proxy;\r
 \r
     /**\r
      * Gets the logger.\r
@@ -341,7 +341,7 @@ public abstract class AbstractServiceClientImpl<T extends CollectionSpaceProxy>
     }\r
 \r
     @Override\r
-    public T getProxy() {\r
+    public P getProxy() {\r
        return proxy;\r
     }\r
     \r
@@ -350,7 +350,7 @@ public abstract class AbstractServiceClientImpl<T extends CollectionSpaceProxy>
      */\r
     @Override\r
        public void setProxy() {\r
-       Class<T> proxyClass = this.getProxyClass();\r
+       Class<P> proxyClass = this.getProxyClass();\r
         if (useAuth()) {\r
             proxy = ProxyFactory.create(proxyClass,\r
                     getBaseURL(), new ApacheHttpClientExecutor(getHttpClient()));\r
index b3be0cdca0ec36487116546dfdc68b160b5f743c..f3e8ba85254dca783ef501e26dde637060946357 100644 (file)
@@ -7,7 +7,13 @@ import org.collectionspace.services.common.authorityref.AuthorityRefList;
 import org.collectionspace.services.jaxb.AbstractCommonList;\r
 import org.jboss.resteasy.client.ClientResponse;\r
 \r
-public interface AuthorityClient<TL extends AbstractCommonList, T extends AuthorityProxy<TL>> extends CollectionSpacePoxClient<T> {    \r
+/*\r
+ * LT - List type\r
+ * ILT - Authority item list type\r
+ * P - Proxy type\r
+ */\r
+public interface AuthorityClient<LT extends AbstractCommonList, ILT extends AbstractCommonList, P extends AuthorityProxy<LT, ILT>> \r
+       extends CollectionSpacePoxClient<LT, P> {\r
        /*\r
         * Basic CRUD operations\r
         */\r
@@ -88,7 +94,7 @@ public interface AuthorityClient<TL extends AbstractCommonList, T extends Author
      *     which will filter list results to return only matched resources.\r
      * @return the client response\r
      */\r
-    public ClientResponse<TL> readItemList(String inAuthority, String partialTerm, String keywords);\r
+    public ClientResponse<ILT> readItemList(String inAuthority, String partialTerm, String keywords);\r
     \r
     /**\r
      * Read item list for named vocabulary, filtering by partial term match, or keywords. Only one of\r
@@ -102,7 +108,7 @@ public interface AuthorityClient<TL extends AbstractCommonList, T extends Author
      *     which will filter list results to return only matched resources.\r
      * @return the client response\r
      */\r
-    public ClientResponse<TL> readItemListForNamedAuthority(String specifier, \r
+    public ClientResponse<ILT> readItemListForNamedAuthority(String specifier, \r
                String partialTerm, String keywords);\r
     \r
 }\r
index db07e63d42883d6bb724d45ba591b04c41c75cd3..baf419565f25d5457fe3af8990cce65b0536f4d9 100644 (file)
@@ -7,8 +7,14 @@ import org.collectionspace.services.common.authorityref.AuthorityRefDocList;
 import org.collectionspace.services.common.authorityref.AuthorityRefList;\r
 import org.collectionspace.services.jaxb.AbstractCommonList;\r
 \r
-public abstract class AuthorityClientImpl<TL extends AbstractCommonList, T extends AuthorityProxy<TL>> extends AbstractPoxServiceClientImpl<T>\r
-               implements AuthorityClient<TL, T> {\r
+/*\r
+ * LT - List type\r
+ * ILT - Authority item list type\r
+ * P - Proxy type\r
+ */\r
+public abstract class AuthorityClientImpl<LT extends AbstractCommonList, ILT extends AbstractCommonList, P extends AuthorityProxy<LT, ILT>>\r
+       extends AbstractPoxServiceClientImpl<LT, P>\r
+       implements AuthorityClient<LT, ILT, P> {\r
 \r
        /*\r
         * Basic CRUD proxied methods\r
@@ -119,7 +125,7 @@ public abstract class AuthorityClientImpl<TL extends AbstractCommonList, T exten
      * @return the client response\r
      */\r
     @Override\r
-    public ClientResponse<TL\r
+    public ClientResponse<ILT\r
                readItemList(String inAuthority, String partialTerm, String keywords) {\r
         return getProxy().readItemList(inAuthority, partialTerm, keywords);\r
     }\r
@@ -138,7 +144,7 @@ public abstract class AuthorityClientImpl<TL extends AbstractCommonList, T exten
      */\r
 \r
        @Override\r
-       public ClientResponse<TL> readItemListForNamedAuthority(\r
+       public ClientResponse<ILT> readItemListForNamedAuthority(\r
                        String specifier, String partialTerm, String keywords) {\r
         return getProxy().readItemListForNamedAuthority(specifier, partialTerm, keywords);\r
        }\r
index a8c0d996bfd9559b7e36722a709fd26d69a5faad..91785232b40607e7b47ef693d310755d3d938776 100644 (file)
@@ -15,7 +15,11 @@ import org.collectionspace.services.common.authorityref.AuthorityRefList;
 import org.collectionspace.services.jaxb.AbstractCommonList;\r
 import org.jboss.resteasy.client.ClientResponse;\r
 \r
-public interface AuthorityProxy<TL extends AbstractCommonList> extends CollectionSpacePoxProxy {\r
+/*\r
+ * ILT = Item list type\r
+ * LT = List type\r
+ */\r
+public interface AuthorityProxy<LT extends AbstractCommonList, ILT extends AbstractCommonList> extends CollectionSpacePoxProxy<LT> {\r
        \r
        /*\r
         * Basic CRUD operations\r
@@ -101,7 +105,7 @@ public interface AuthorityProxy<TL extends AbstractCommonList> extends Collectio
     @GET\r
     @Produces({"application/xml"})\r
     @Path("/{csid}/items/")\r
-    ClientResponse<TL> readItemList(\r
+    ClientResponse<ILT> readItemList(\r
                @PathParam("csid") String vcsid,\r
             @QueryParam (IQueryManager.SEARCH_TYPE_PARTIALTERM) String partialTerm,\r
             @QueryParam(IQueryManager.SEARCH_TYPE_KEYWORDS_KW) String keywords);\r
@@ -110,7 +114,7 @@ public interface AuthorityProxy<TL extends AbstractCommonList> extends Collectio
     @GET\r
     @Produces({"application/xml"})\r
     @Path("/urn:cspace:name({specifier})/items/")\r
-    ClientResponse<TL> readItemListForNamedAuthority(\r
+    ClientResponse<ILT> readItemListForNamedAuthority(\r
                @PathParam("specifier") String specifier,\r
             @QueryParam (IQueryManager.SEARCH_TYPE_PARTIALTERM) String partialTerm,\r
             @QueryParam(IQueryManager.SEARCH_TYPE_KEYWORDS_KW) String keywords);\r
index 90dc28b3eceff39361f0d68ad397b4e9fc6be884..b20be1d4dcfdd466ce187364a1487c0356be7cd5 100644 (file)
  */
 package org.collectionspace.services.client;
 
-import javax.ws.rs.PathParam;
 import javax.ws.rs.core.Response;
 import org.apache.commons.httpclient.HttpClient;
 import org.collectionspace.services.common.authorityref.AuthorityRefList;
 import org.collectionspace.services.jaxb.AbstractCommonList;
-import org.collectionspace.services.workflow.WorkflowsCommon;
 import org.jboss.resteasy.client.ClientResponse;
 
 /**
  *
  */
-public interface CollectionSpaceClient<T extends CollectionSpaceProxy> {
+public interface CollectionSpaceClient<LT, P extends CollectionSpaceProxy> {
 
     public static final String AUTH_PROPERTY = "cspace.auth";
     public static final String PASSWORD_PROPERTY = "cspace.password";
@@ -48,9 +46,9 @@ public interface CollectionSpaceClient<T extends CollectionSpaceProxy> {
      *
      * @return the proxy
      */
-    T getProxy();
+    P getProxy();
 
-    Class<T> getProxyClass();
+    Class<P> getProxyClass();
     
     /**
      * Gets the base url.
index 1703154e6b60b1bfbe38fc5807db9c9d4db5d3b9..71918c9378257c542e71cac332d166e93b185208 100644 (file)
@@ -1,9 +1,16 @@
 package org.collectionspace.services.client;\r
 \r
 import javax.ws.rs.core.Response;\r
+\r
+import org.collectionspace.services.jaxb.AbstractCommonList;\r
 import org.jboss.resteasy.client.ClientResponse;\r
 \r
-public interface CollectionSpacePoxClient<T extends CollectionSpacePoxProxy> extends CollectionSpaceClient<T> {\r
+/*\r
+ * <LT> = List type\r
+ * <P> = Proxy type\r
+ */\r
+public interface CollectionSpacePoxClient<LT extends AbstractCommonList, P extends CollectionSpacePoxProxy<LT>>\r
+       extends CollectionSpaceClient<LT, P> {\r
        /*\r
         * Common service calls\r
         */\r
index 7eefc8573a8da5e2024868b70925721b8de01e86..4518e3af8858be4840704468bbb48406ead23be7 100644 (file)
@@ -5,11 +5,15 @@ import javax.ws.rs.POST;
 import javax.ws.rs.PUT;\r
 import javax.ws.rs.Path;\r
 import javax.ws.rs.PathParam;\r
+import javax.ws.rs.Produces;\r
+import javax.ws.rs.QueryParam;\r
 import javax.ws.rs.core.Response;\r
 \r
+import org.collectionspace.services.client.workflow.WorkflowClient;\r
+import org.collectionspace.services.jaxb.AbstractCommonList;\r
 import org.jboss.resteasy.client.ClientResponse;\r
 \r
-public interface CollectionSpacePoxProxy extends CollectionSpaceProxy {\r
+public interface CollectionSpacePoxProxy<LT extends AbstractCommonList> extends CollectionSpaceProxy {\r
     //(C)reate\r
     @POST\r
     ClientResponse<Response> create(byte[] payload);\r
@@ -23,4 +27,10 @@ public interface CollectionSpacePoxProxy extends CollectionSpaceProxy {
     @PUT\r
     @Path("/{csid}")\r
     ClientResponse<String> update(@PathParam("csid") String csid, byte[] payload);\r
+    \r
+    //(L)ist non-deleted items\r
+    @GET\r
+    @Produces({"application/xml"})\r
+    ClientResponse<LT> readIncludeDeleted(\r
+            @QueryParam(WorkflowClient.WORKFLOW_QUERY_NONDELETED) String includeDeleted);\r
 }\r
index e093f4be688f22b0c98792efaa9072adad502747..d751eb5f34621778954624bf7d426f414304cafa 100644 (file)
@@ -38,7 +38,7 @@ import javax.ws.rs.core.Response;
 \r
 import org.collectionspace.services.common.authorityref.AuthorityRefList;\r
 import org.collectionspace.services.jaxb.AbstractCommonList;\r
-import org.collectionspace.services.workflow.WorkflowsCommon;\r
+\r
 import org.jboss.resteasy.client.ClientResponse;\r
 \r
 /**\r
@@ -100,5 +100,5 @@ public interface CollectionSpaceProxy {
     ClientResponse<AbstractCommonList> readList(\r
             @QueryParam(IClientQueryParams.SORT_BY_PARAM) String sortBy,\r
             @QueryParam(IClientQueryParams.PAGE_SIZE_PARAM) Long pageSize,\r
-           @QueryParam(IClientQueryParams.START_PAGE_PARAM) Long pageNumber);\r
+           @QueryParam(IClientQueryParams.START_PAGE_PARAM) Long pageNumber);    \r
 }\r
index 9552197d542b02a20a6ea3b31decb54c1d6be8bc..c4e84241f88079e253994c10d11660d546d9a372 100644 (file)
  */
 package org.collectionspace.services.client;
 
-import javax.ws.rs.core.Response;
-
-import org.jboss.resteasy.client.ClientResponse;
-
 /**
  * A CollectionObjectClient.
 
  * @version $Revision:$
  */
-public class TestServiceClient extends AbstractServiceClientImpl<TestServiceProxy> {
+public class TestServiceClient extends AbstractServiceClientImpl<Object, TestServiceProxy> {
 
     /**
      *
similarity index 85%
rename from services/common/src/main/java/org/collectionspace/services/common/workflow/client/WorkflowClient.java
rename to services/client/src/main/java/org/collectionspace/services/client/workflow/WorkflowClient.java
index 5090db8e31d2919cde5e116d62935570088fc23e..bbbcc5b34820402668c9faf39880e0ac947a0e2d 100644 (file)
@@ -14,8 +14,9 @@
  * You may obtain a copy of the ECL 2.0 License at
  * https://source.collectionspace.org/collection-space/LICENSE.txt
  */
-package org.collectionspace.services.common.workflow.client;
+package org.collectionspace.services.client.workflow;
 
+import org.collectionspace.services.jaxb.AbstractCommonList;
 import org.collectionspace.services.client.AbstractPoxServiceClientImpl;
 
 /**
@@ -25,16 +26,22 @@ import org.collectionspace.services.client.AbstractPoxServiceClientImpl;
  * $LastChangedDate: 2010-05-17 18:25:37 -0700 (Mon, 17 May 2010) $
  *
  */
-public class WorkflowClient extends AbstractPoxServiceClientImpl<WorkflowProxy> {
+public class WorkflowClient extends AbstractPoxServiceClientImpl<AbstractCommonList, WorkflowProxy> {
        public static final String SERVICE_NAME = "workflows";
        public static final String SERVICE_PATH_COMPONENT = SERVICE_NAME;       
        public static final String SERVICE_PATH = "/" + SERVICE_PATH_COMPONENT;
        public static final String SERVICE_PAYLOAD_NAME = SERVICE_NAME;
        public static final String SERVICE_COMMONPART_NAME = SERVICE_NAME + PART_LABEL_SEPARATOR + PART_COMMON_LABEL;
-
+       //
+       // Workflow states
+       //
        public static final String WORKFLOWSTATE_DELETED = "deleted";
        public static final String WORKFLOWSTATE_PROJECT = "project";
-       public static final String WORKFLOWSTATE_APPROVED = "approved";
+       public static final String WORKFLOWSTATE_APPROVED = "approved"; 
+       //
+       // Service Query Params
+       //
+       public static final String WORKFLOW_QUERY_NONDELETED = "wf_deleted";    
 
        
        @Override
diff --git a/services/client/src/main/java/org/collectionspace/services/client/workflow/WorkflowProxy.java b/services/client/src/main/java/org/collectionspace/services/client/workflow/WorkflowProxy.java
new file mode 100644 (file)
index 0000000..b523d5b
--- /dev/null
@@ -0,0 +1,20 @@
+package org.collectionspace.services.client.workflow;
+
+import javax.ws.rs.Consumes;
+import javax.ws.rs.GET;
+import javax.ws.rs.Path;
+import javax.ws.rs.Produces;
+import javax.ws.rs.QueryParam;
+
+import org.collectionspace.services.client.CollectionSpacePoxProxy;
+import org.collectionspace.services.jaxb.AbstractCommonList;
+import org.jboss.resteasy.client.ClientResponse;
+
+/**
+ * @version $Revision: 2108 $
+ */
+@Path(WorkflowClient.SERVICE_PATH + "/")
+@Produces({"application/xml"})
+@Consumes({"application/xml"})
+public interface WorkflowProxy extends CollectionSpacePoxProxy<AbstractCommonList> {
+}
index 6fbb38178a538449ab0b4f357036b3b79c491cfd..f61514c8f3239ab3fab3f6522b4b4b936799be78 100644 (file)
@@ -34,7 +34,7 @@ import org.collectionspace.services.collectionobject.CollectionobjectsCommonList
  * The Class CollectionObjectClient.
  * FIXME: http://issues.collectionspace.org/browse/CSPACE-1684
  */
-public class CollectionObjectClient extends AbstractPoxServiceClientImpl<CollectionObjectProxy> {
+public class CollectionObjectClient extends AbstractPoxServiceClientImpl<CollectionobjectsCommonList, CollectionObjectProxy> {
        public static final String SERVICE_NAME = "collectionobjects";
        public static final String SERVICE_PATH_COMPONENT = SERVICE_NAME;
        public static final String SERVICE_PATH = "/" + SERVICE_PATH_COMPONENT; 
index 8cd0c85afef03219bf992e630b4ba3bc2b8c75d5..5beac8cafcd018d9ec08690d21a457ff0150ee35 100644 (file)
@@ -44,7 +44,7 @@ import org.collectionspace.services.collectionobject.CollectionobjectsCommonList
 @Path(CollectionObjectClient.SERVICE_PATH_PROXY)
 @Produces({"application/xml"})
 @Consumes({"application/xml"})
-public interface CollectionObjectProxy extends CollectionSpacePoxProxy {
+public interface CollectionObjectProxy extends CollectionSpacePoxProxy<CollectionobjectsCommonList> {
 
     /**
      * Roundtrip.
index 567ec6bb953c4c3511789c71688ab7fa9d1a5955..0e8c736cf283b40b42b31f4cbab47b8b81172bc1 100755 (executable)
@@ -10,7 +10,6 @@
     <groupId>org.collectionspace.services</groupId>\r
     <artifactId>org.collectionspace.services.common-api</artifactId>\r
     <name>services.common-api</name>\r
-    <version>1.5.1</version>\r
     <packaging>jar</packaging>\r
     <dependencies>\r
         <dependency>\r
index 15cf4daff01826b50fb6044f680d4698abf04106..99c6c9fdd8c9f38670ed4e39d343fd341aa3fa85 100644 (file)
@@ -17,7 +17,7 @@
         <dependency>\r
             <groupId>org.collectionspace.services</groupId>\r
             <artifactId>org.collectionspace.services.common-api</artifactId>\r
-            <version>1.5.1</version>\r
+            <version>${project.version}</version>\r
         </dependency>\r
         <dependency>\r
                        <groupId>org.collectionspace.services</groupId>\r
index e669941c466f115a69cd10a558079d487c2fbcfc..20fe2241b4dd69225d2ba7d6c64a69bc5e2c056a 100644 (file)
@@ -35,9 +35,9 @@ import javax.ws.rs.Produces;
 import javax.ws.rs.WebApplicationException;\r
 import javax.ws.rs.core.Response;\r
 \r
-import org.collectionspace.services.client.PayloadInputPart;\r
 import org.collectionspace.services.client.PoxPayloadIn;\r
 import org.collectionspace.services.client.PoxPayloadOut;\r
+import org.collectionspace.services.client.workflow.WorkflowClient;\r
 import org.collectionspace.services.common.context.MultipartServiceContext;\r
 import org.collectionspace.services.common.context.MultipartServiceContextFactory;\r
 import org.collectionspace.services.common.context.ServiceContext;\r
@@ -45,7 +45,6 @@ import org.collectionspace.services.common.context.ServiceContextFactory;
 import org.collectionspace.services.common.document.DocumentHandler;\r
 import org.collectionspace.services.common.document.DocumentNotFoundException;\r
 import org.collectionspace.services.common.security.UnauthorizedException;\r
-import org.collectionspace.services.common.workflow.client.WorkflowClient;\r
 import org.collectionspace.services.common.workflow.service.nuxeo.WorkflowDocumentModelHandler;\r
 import org.collectionspace.services.workflow.WorkflowsCommon;\r
 import org.jboss.resteasy.client.ClientResponse;\r
@@ -212,7 +211,5 @@ public abstract class AbstractMultiPartCollectionSpaceResourceImpl extends
             throw bigReThrow(e, ServiceMessages.UPDATE_FAILED + WorkflowClient.SERVICE_PAYLOAD_NAME, csid);\r
         }\r
         return result.getBytes();\r
-    }\r
-    \r
-    \r
+    }    \r
 }\r
index 2f058db7028baa5b4d22547c5413f87c499562ab..c606c8bdecd0f9c8549871b9b35a5dd537e9836a 100644 (file)
@@ -29,6 +29,8 @@ import java.util.List;
 import java.util.Map;
 import javax.ws.rs.core.MultivaluedMap;
 
+import org.collectionspace.services.client.IQueryManager;
+import org.collectionspace.services.client.workflow.WorkflowClient;
 import org.collectionspace.services.common.ClientType;
 import org.collectionspace.services.common.ServiceMain;
 import org.collectionspace.services.common.config.PropertyItemUtils;
@@ -432,6 +434,17 @@ public abstract class AbstractServiceContextImpl<IT, OT>
         }
     }
 
+    private static String buildWorkflowWhereClause(MultivaluedMap<String, String> queryParams) {
+       String result = null;
+       
+        String includeDeleted = queryParams.getFirst(WorkflowClient.WORKFLOW_QUERY_NONDELETED);
+       if (includeDeleted != null && includeDeleted.equalsIgnoreCase(Boolean.FALSE.toString())) {      
+               result = "ecm:currentLifeCycleState <> 'deleted'";
+       }
+       
+       return result;
+    }
+    
     /**
      * Creates the document handler instance.
      * 
@@ -461,6 +474,11 @@ public abstract class AbstractServiceContextImpl<IT, OT>
         if (this.getQueryParams() != null) {
           docFilter.setSortOrder(this.getQueryParams());
           docFilter.setPagination(this.getQueryParams());
+          String workflowWhereClause = buildWorkflowWhereClause(queryParams);
+          if (workflowWhereClause != null) {
+                 docFilter.appendWhereClause(workflowWhereClause, IQueryManager.SEARCH_QUALIFIER_AND);                 
+          }            
+
         }
         docHandler.setDocumentFilter(docFilter);
 
index 5d31c9c27e2772e582305baf29ff8002f0011e94..1c07ff356853d0cc8c6bcbca01ca5a46b2f4988a 100644 (file)
@@ -133,4 +133,13 @@ public class QueryContext {
     public String getDocType() {\r
        return this.docType;\r
     }\r
+\r
+    /**\r
+     * Gets the doc type.\r
+     *\r
+     * @return the doc type\r
+     */\r
+    public void setDocType(String theDocType) {\r
+       this.docType = theDocType;\r
+    }\r
 }\r
index a055e9e85ffdb3fda0ab05cbb236d9dbeb1ba87b..dec09948a2ee8018874327867ea18f9492f42084 100644 (file)
@@ -43,7 +43,7 @@ import org.collectionspace.services.client.IQueryManager;
 public class QueryManagerNuxeoImpl implements IQueryManager {\r
        \r
        private final Logger logger = LoggerFactory\r
-                       .getLogger(RepositoryJavaClientImpl.class);\r
+                       .getLogger(QueryManagerNuxeoImpl.class);\r
        \r
        // Consider that letters, letter-markers, numbers, '_' and apostrophe are words  \r
        private static Pattern nonWordChars = Pattern.compile("[^\\p{L}\\p{M}\\p{N}_']");\r
index 6edab673b675e626addd6e37318ee113738ba41a..46b76bfa46eee22e050a6461cab36e769ef783fe 100644 (file)
@@ -44,7 +44,7 @@ import org.nuxeo.ecm.core.api.DocumentModelList;
  * The repository client then calls handle on the handler
  * 
  */
-public interface RepositoryClient extends StorageClient {
+public interface RepositoryClient<IT, OT> extends StorageClient {
 
     /**
      * createDomain creates a doamin in the default repository
@@ -96,9 +96,13 @@ public interface RepositoryClient extends StorageClient {
      * @throws DocumentException
      */
     public DocumentWrapper<DocumentModel> getDoc(
-            ServiceContext ctx, String id)
+            ServiceContext<IT, OT> ctx, String id)
             throws DocumentNotFoundException, DocumentException;
 
+    public DocumentWrapper<DocumentModel> getDocFromCsid(ServiceContext<IT, OT> ctx,
+               String csid)
+            throws Exception;
+    
     /**
      * Find wrapped documentModel from the Nuxeo repository
      * @param ctx service context under which this method is invoked
@@ -107,7 +111,7 @@ public interface RepositoryClient extends StorageClient {
      * @throws DocumentException
      */
     public DocumentWrapper<DocumentModel> findDoc(
-            ServiceContext ctx, String where)
+            ServiceContext<IT, OT> ctx, String where)
             throws DocumentNotFoundException, DocumentException;
 
     /**
@@ -118,7 +122,7 @@ public interface RepositoryClient extends StorageClient {
      * @throws DocumentException
      */
     public String findDocCSID(
-            ServiceContext ctx, String where)
+            ServiceContext<IT, OT> ctx, String where)
             throws DocumentNotFoundException, DocumentException;
 
     /**
@@ -135,7 +139,7 @@ public interface RepositoryClient extends StorageClient {
      * @throws DocumentException 
      */
     public DocumentWrapper<DocumentModelList> findDocs(
-            ServiceContext ctx,
+            ServiceContext<IT, OT> ctx,
             List<String> docTypes,
             String where,
             int pageSize, int pageNum, boolean computeTotal)
index d70370f167c97c88a5610fa4d2e1d687c0669e1f..d00d923d0f7206f17df17e3b04bc62a74e16e585 100644 (file)
@@ -15,7 +15,7 @@ import org.collectionspace.services.nuxeo.client.java.RepositoryJavaClientImpl;
 public class VocabManagerImpl implements IVocabManager {\r
        \r
        private final Logger logger = LoggerFactory\r
-                       .getLogger(RepositoryJavaClientImpl.class);\r
+                       .getLogger(VocabManagerImpl.class);\r
        \r
        public void exampleMethod(String someParam) {\r
        }\r
diff --git a/services/common/src/main/java/org/collectionspace/services/common/workflow/client/WorkflowProxy.java b/services/common/src/main/java/org/collectionspace/services/common/workflow/client/WorkflowProxy.java
deleted file mode 100644 (file)
index 04ff61a..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-package org.collectionspace.services.common.workflow.client;
-
-import javax.ws.rs.Consumes;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-
-import org.collectionspace.services.client.CollectionSpacePoxProxy;
-
-/**
- * @version $Revision: 2108 $
- */
-@Path(WorkflowClient.SERVICE_PATH + "/")
-@Produces({"application/xml"})
-@Consumes({"application/xml"})
-public interface WorkflowProxy extends CollectionSpacePoxProxy {       
-}
index 2f47a3a84f97640a144ff2ed1403448df64eddde..61a39bbfe8371f277f80e544716fd150ae1db200 100644 (file)
@@ -32,6 +32,7 @@ import javax.ws.rs.core.MediaType;
 import org.collectionspace.services.client.PayloadInputPart;
 import org.collectionspace.services.client.PoxPayloadIn;
 import org.collectionspace.services.client.PoxPayloadOut;
+import org.collectionspace.services.client.workflow.WorkflowClient;
 import org.collectionspace.services.common.context.MultipartServiceContext;
 import org.collectionspace.services.common.context.ServiceContext;
 import org.collectionspace.services.common.document.BadRequestException;
@@ -39,7 +40,6 @@ import org.collectionspace.services.common.document.DocumentUtils;
 import org.collectionspace.services.common.document.DocumentWrapper;
 import org.collectionspace.services.common.document.DocumentHandler.Action;
 import org.collectionspace.services.common.service.ObjectPartType;
-import org.collectionspace.services.common.workflow.client.WorkflowClient;
 import org.collectionspace.services.common.workflow.jaxb.WorkflowJAXBSchema;
 import org.collectionspace.services.nuxeo.client.java.DocHandlerBase;
 import org.collectionspace.services.nuxeo.client.java.RemoteDocumentModelHandlerImpl;
index 3c9e94c17a442e5c95990581d0d133d4f78d4633..daf3348ab9afc5fd87d0e7f9d763641fa80b8e41 100644 (file)
@@ -64,7 +64,7 @@ import org.slf4j.LoggerFactory;
  * 
  * $LastChangedRevision: $ $LastChangedDate: $
  */
-public class RepositoryJavaClientImpl implements RepositoryClient {
+public class RepositoryJavaClientImpl implements RepositoryClient<PoxPayloadIn, PoxPayloadOut> {
 
     /** The logger. */
     private final Logger logger = LoggerFactory.getLogger(RepositoryJavaClientImpl.class);
@@ -306,9 +306,21 @@ public class RepositoryJavaClientImpl implements RepositoryClient {
             }
         }
     }
-
+    
+    private static String getByNameWhereClause(String csid) {
+       String result = null;
+       
+       if (csid != null) {
+               result = "ecm:name = " + "\'" + csid + "\'";
+       }
+       
+       return result;
+    }
+    
     /**
-     * get wrapped documentModel from the Nuxeo repository
+     * Get wrapped documentModel from the Nuxeo repository.  The search is restricted to the workspace
+     * of the current context.
+     * 
      * @param ctx service context under which this method is invoked
      * @param id
      *            of the document to retrieve
@@ -316,19 +328,19 @@ public class RepositoryJavaClientImpl implements RepositoryClient {
      */
     @Override
     public DocumentWrapper<DocumentModel> getDoc(
-            ServiceContext ctx, String id)
+            ServiceContext ctx, String csid)
             throws DocumentNotFoundException, DocumentException {
         RepositoryInstance repoSession = null;
         DocumentWrapper<DocumentModel> wrapDoc = null;
 
         try {
             repoSession = getRepositorySession();
-            DocumentRef docRef = NuxeoUtils.createPathRef(ctx, id);
+            DocumentRef docRef = NuxeoUtils.createPathRef(ctx, csid);
             DocumentModel doc = null;
             try {
                 doc = repoSession.getDocument(docRef);
             } catch (ClientException ce) {
-                String msg = "could not find document with id=" + id;
+                String msg = "could not find document with id=" + csid;
                 logger.error(msg, ce);
                 throw new DocumentNotFoundException(msg, ce);
             }
@@ -408,7 +420,7 @@ public class RepositoryJavaClientImpl implements RepositoryClient {
      */
     @Override
     public String findDocCSID(
-            ServiceContext ctx, String whereClause)
+            ServiceContext<PoxPayloadIn, PoxPayloadOut> ctx, String whereClause)
             throws DocumentNotFoundException, DocumentException {
         String csid = null;
         try {
@@ -438,7 +450,7 @@ public class RepositoryJavaClientImpl implements RepositoryClient {
      */
     @Override
     public DocumentWrapper<DocumentModelList> findDocs(
-            ServiceContext ctx,
+            ServiceContext<PoxPayloadIn, PoxPayloadOut> ctx,
             List<String> docTypes,
             String whereClause,
             int pageSize, int pageNum, boolean computeTotal)
@@ -574,6 +586,42 @@ public class RepositoryJavaClientImpl implements RepositoryClient {
        return result;
     }
 
+    /*
+     * A method to find a CollectionSpace document (of any type) given just a service context and
+     * its CSID.  A search across *all* service workspaces (within a given tenant context) is performed to find
+     * the document
+     * 
+     * This query searches Nuxeo's Hierarchy table where our CSIDs are stored in the "name" column.
+     */
+    @Override
+    public DocumentWrapper<DocumentModel> getDocFromCsid(ServiceContext<PoxPayloadIn, PoxPayloadOut> ctx,
+               String csid)
+            throws Exception {
+        DocumentWrapper<DocumentModel> result = null;
+        RepositoryInstance repoSession = getRepositorySession();
+        DocumentModelList docModelList = null;
+        //
+        // Set of query context using the current service context, but change the document type
+        // to be the base Nuxeo document type so we can look for the document across service workspaces
+        //
+        QueryContext queryContext = new QueryContext(ctx, getByNameWhereClause(csid));
+        queryContext.setDocType(NuxeoUtils.BASE_DOCUMENT_TYPE);
+        //
+        // Since we're doing a query, we get back a list so we need to make sure there is only
+        // a single result since CSID values are supposed to be unique.
+        String query = buildNXQLQuery(queryContext);
+        docModelList = repoSession.query(query);
+        long resultSize = docModelList.totalSize();
+        if (resultSize == 1) {
+               result = new DocumentWrapperImpl<DocumentModel>(docModelList.get(0));
+        } else if (resultSize > 1) {
+               throw new DocumentException("Found more than 1 document with CSID = " + csid);
+        }
+        
+        return result;
+    }
+
+
     /**
      * getFiltered get all documents for an entity service from the Document repository,
      * given filter parameters specified by the handler. 
index 05e178fc2b505815e34bcaff433eee67fb3b3ac8..6c371f832766fc52cbb1e8a925ff4f3ef7da6d53 100644 (file)
@@ -65,6 +65,9 @@ public class NuxeoUtils {
 
     /** The logger. */
     private static Logger logger = LoggerFactory.getLogger(NuxeoUtils.class);
+    //
+    // Base document type in Nuxeo is "Document"
+    public static final String BASE_DOCUMENT_TYPE = "Document";
 
     public static void exportDocModel(DocumentModel src) {
        DocumentReader reader = null;
@@ -202,7 +205,10 @@ public class NuxeoUtils {
     }
 
     /**
-     * Gets the document model.
+     * Gets the document model corresponding to the Nuxeo ID.
+     * 
+     * WARNING: Service should *rarely* if ever use this method.  It bypasses our tenant and
+     * security filters.
      *
      * @param repoSession the repo session
      * @param csid the csid
@@ -212,12 +218,12 @@ public class NuxeoUtils {
      * @throws DocumentException the document exception
      */
     public static DocumentModel getDocumentModel(
-            RepositoryInstance repoSession, String csid)
+            RepositoryInstance repoSession, String nuxeoId)
             throws DocumentException {
         DocumentModel result = null;
 
         try {
-            DocumentRef documentRef = new IdRef(csid);
+            DocumentRef documentRef = new IdRef(nuxeoId);
             result = repoSession.getDocument(documentRef);
         } catch (ClientException e) {
             e.printStackTrace();
index f1ae2dc5b33f7cff96483a6bc004d764730e263d..7337bdd7d2b577bb8315ae0215ba185aeba87fee 100644 (file)
@@ -6,7 +6,13 @@ import org.collectionspace.services.contact.ContactsCommonList;
 import org.collectionspace.services.jaxb.AbstractCommonList;\r
 import org.jboss.resteasy.client.ClientResponse;\r
 \r
-public interface AuthorityWithContactsClient<TL extends AbstractCommonList, T extends AuthorityProxy<TL>> extends AuthorityClient<TL, T> {\r
+/*\r
+ * LT - List type\r
+ * ILT - Authority item list type\r
+ * P - Proxy type\r
+ */\r
+public interface AuthorityWithContactsClient<LT extends AbstractCommonList, ILT extends AbstractCommonList, P extends AuthorityProxy<LT, ILT>>\r
+       extends AuthorityClient<LT, ILT, P> {\r
     /**\r
      * Creates the contact.\r
      *\r
index 7ef2bdee1cba3babeda7fb20cb63678f50edcd7e..b802db06a52b53495eca86553b67cb8356120c66 100644 (file)
@@ -6,9 +6,14 @@ import org.jboss.resteasy.client.ClientResponse;
 import org.collectionspace.services.contact.ContactsCommonList;\r
 import org.collectionspace.services.jaxb.AbstractCommonList;\r
 \r
-public abstract class AuthorityWithContactsClientImpl<TL extends AbstractCommonList, T extends AuthorityWithContactsProxy<TL>>\r
-       extends AuthorityClientImpl<TL, T>\r
-       implements AuthorityWithContactsClient<TL, T> {\r
+/*\r
+ * LT - List type\r
+ * ILT - Authority item list type\r
+ * P - Proxy type\r
+ */\r
+public abstract class AuthorityWithContactsClientImpl<LT extends AbstractCommonList, ILT extends AbstractCommonList, P extends AuthorityWithContactsProxy<LT, ILT>>\r
+       extends AuthorityClientImpl<LT, ILT, P>\r
+       implements AuthorityWithContactsClient<LT, ILT, P> {\r
        \r
        @Override\r
     public ClientResponse<Response> createContact(String parentcsid,\r
index 2541e89cf5df4da8271551159438d51aa0b8671e..4ec77fb20bf1a1f2b200e5ff97f2b27c261b20b1 100644 (file)
@@ -13,7 +13,11 @@ import org.collectionspace.services.contact.ContactsCommonList;
 import org.collectionspace.services.jaxb.AbstractCommonList;\r
 import org.jboss.resteasy.client.ClientResponse;\r
 \r
-public interface AuthorityWithContactsProxy<TL extends AbstractCommonList> extends AuthorityProxy<TL> {\r
+/*\r
+ * ILT = Item list type\r
+ * LT = List type\r
+ */\r
+public interface AuthorityWithContactsProxy<LT extends AbstractCommonList, ILT extends AbstractCommonList> extends AuthorityProxy<LT, ILT> {\r
     @GET\r
     @Produces({"application/xml"})\r
     @Path("/{parentcsid}/items/{itemcsid}/contacts/")\r
index 65e05f3f55ba2959cfad9347a934f40b8ba6820f..fd4804688d08962536c865beee390c8003a22c66 100644 (file)
@@ -26,7 +26,7 @@ import org.collectionspace.services.contact.ContactsCommonList;
  * $LastChangedDate: $
  */
  
-public class ContactClient extends AbstractPoxServiceClientImpl<ContactProxy> {
+public class ContactClient extends AbstractPoxServiceClientImpl<ContactsCommonList, ContactProxy> {
        public static final String SERVICE_NAME = "contacts";
        public static final String SERVICE_PATH_COMPONENT = SERVICE_NAME;       
        public static final String SERVICE_PATH = "/" + SERVICE_PATH_COMPONENT;
index e22cc345a1d18e00213d7b65cb76bd44238f3bed..9879a6440ad9324de7fc052d1f9fa93840658a9c 100644 (file)
@@ -14,7 +14,7 @@ import org.collectionspace.services.contact.ContactsCommonList;
 @Path(ContactClient.SERVICE_PATH_PROXY)
 @Produces({"application/xml"})
 @Consumes({"application/xml"})
-public interface ContactProxy extends CollectionSpacePoxProxy {
+public interface ContactProxy extends CollectionSpacePoxProxy<ContactsCommonList> {
     @GET
     ClientResponse<ContactsCommonList> readList();
 }
index 7ad75a304edb433583854dffaa741b156a6beba5..a5251b492daeb69d4e2e3e5354b77bb79bb1ed18 100644 (file)
@@ -34,7 +34,7 @@ import org.jboss.resteasy.client.ClientResponse;
 
  * @version $Revision:$
  */
-public class DimensionClient extends AbstractPoxServiceClientImpl<DimensionProxy> {
+public class DimensionClient extends AbstractPoxServiceClientImpl<DimensionsCommonList, DimensionProxy> {
        public static final String SERVICE_NAME = "dimensions";
        public static final String SERVICE_PATH_COMPONENT = SERVICE_NAME;       
        public static final String SERVICE_PATH = "/" + SERVICE_PATH_COMPONENT;
@@ -63,5 +63,10 @@ public class DimensionClient extends AbstractPoxServiceClientImpl<DimensionProxy
     public ClientResponse<DimensionsCommonList> readList() {
        DimensionProxy proxy = (DimensionProxy)getProxy();
        return proxy.readList();
-    }    
+    } 
+       
+    public ClientResponse<DimensionsCommonList> readIncludeDeleted(Boolean includeDeleted) { //FIXME: REM - This should be defined in the base class with a generic return list type
+       DimensionProxy proxy = (DimensionProxy)getProxy();
+       return proxy.readIncludeDeleted(includeDeleted.toString());
+    } 
 }
index bfbe7abc2bcaa4ecef71e8ca939251b8182e8691..63147349cddfb1c68a11b49321d167392c59bbf0 100644 (file)
@@ -4,7 +4,9 @@ import javax.ws.rs.Consumes;
 import javax.ws.rs.GET;
 import javax.ws.rs.Path;
 import javax.ws.rs.Produces;
+import javax.ws.rs.QueryParam;
 
+import org.collectionspace.services.client.workflow.WorkflowClient;
 import org.collectionspace.services.dimension.DimensionsCommonList;
 import org.jboss.resteasy.client.ClientResponse;
 
@@ -14,8 +16,14 @@ import org.jboss.resteasy.client.ClientResponse;
 @Path("/dimensions/")
 @Produces({"application/xml"})
 @Consumes({"application/xml"})
-public interface DimensionProxy extends CollectionSpacePoxProxy {
+public interface DimensionProxy extends CollectionSpacePoxProxy<DimensionsCommonList> {
     @GET
     @Produces({"application/xml"})
     ClientResponse<DimensionsCommonList> readList();
+    
+    @Override
+       @GET
+    @Produces({"application/xml"})
+    ClientResponse<DimensionsCommonList> readIncludeDeleted(
+            @QueryParam(WorkflowClient.WORKFLOW_QUERY_NONDELETED) String includeDeleted);    
 }
index 5b54df800c62bda75eb6fe3d820e506f741d8447..0b1e1d3916c08062aff91d04e0360ac8360e1a1a 100644 (file)
@@ -50,6 +50,8 @@ import org.collectionspace.services.common.ServiceMain;
 import org.collectionspace.services.common.context.ServiceContext;
 import org.collectionspace.services.common.document.DocumentNotFoundException;
 import org.collectionspace.services.common.document.DocumentHandler;
+import org.collectionspace.services.common.relation.RelationJAXBSchema;
+import org.collectionspace.services.common.relation.nuxeo.RelationConstants;
 import org.jboss.resteasy.util.HttpResponseCodes;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
index b4726693f71bfb4825e3c3593355d5f017614b8f..e04809c852b1d41b4895367f927968ee9b778151 100644 (file)
@@ -7,7 +7,7 @@ import org.jboss.resteasy.client.ClientResponse;
 
  * @version $Revision:$
  */
-public class IdClient extends AbstractServiceClientImpl<IdProxy> {
+public class IdClient extends AbstractServiceClientImpl<String, IdProxy> {
 
     /* (non-Javadoc)
      * @see org.collectionspace.services.client.BaseServiceClient#getServicePathComponent()
index 6e82d1a8110f284e278af3eeff861c6b8ba6182c..70d3b219967f008df28d4d8bd0abaed5719694bf 100644 (file)
@@ -35,7 +35,7 @@ import org.collectionspace.services.intake.IntakesCommonList;
  * @version $Revision:$
  * FIXME: http://issues.collectionspace.org/browse/CSPACE-1684
  */
-public class IntakeClient extends AbstractPoxServiceClientImpl<IntakeProxy> {
+public class IntakeClient extends AbstractPoxServiceClientImpl<IntakesCommonList, IntakeProxy> {
        public static final String SERVICE_NAME = "intakes";
        public static final String SERVICE_PATH_COMPONENT = SERVICE_NAME;       
        public static final String SERVICE_PATH = "/" + SERVICE_PATH_COMPONENT;
index a791a49d18b4e698e918119e45096b0f4823768b..82920583490163f5019c884948b81be91533bebd 100644 (file)
@@ -41,7 +41,7 @@ import org.collectionspace.services.intake.IntakesCommonList;
 @Path(IntakeClient.SERVICE_PATH_PROXY)
 @Produces({"application/xml"})
 @Consumes({"application/xml"})
-public interface IntakeProxy extends CollectionSpacePoxProxy {
+public interface IntakeProxy extends CollectionSpacePoxProxy<IntakesCommonList> {
     /**
      * Read list.
      *
index 595aba1c05b9e47a4dd0ace6d50e1e02936e1fd8..20a667d849a9dcb72d36926df17bb8c4e269e4ef 100644 (file)
@@ -26,7 +26,7 @@ import org.collectionspace.services.jaxb.AbstractCommonList;
  * $LastChangedDate$
  *
  */
-public class LoaninClient extends AbstractPoxServiceClientImpl<LoaninProxy> {
+public class LoaninClient extends AbstractPoxServiceClientImpl<AbstractCommonList, LoaninProxy> {
     public static final String SERVICE_NAME = "loansin";
     public static final String SERVICE_PATH_COMPONENT = SERVICE_NAME;
 
index e193ff5a1bc3f70792e873664d6a291408517bba..00fb97df076e153362bdf1bbe059429d3365d3e8 100644 (file)
@@ -14,7 +14,7 @@ import org.collectionspace.services.jaxb.AbstractCommonList;
 @Path("/loansin/")
 @Produces({"application/xml;charset=UTF-8"})
 @Consumes({"application/xml"})
-public interface LoaninProxy extends CollectionSpacePoxProxy {    
+public interface LoaninProxy extends CollectionSpacePoxProxy<AbstractCommonList> {    
     // List
     @GET
     ClientResponse<AbstractCommonList> readList();
index 8501a4baae5624fba68b7ec70fc96d8fbd32e381..6818e5ffc65605f9b75b12d81ad33bfe97a5543f 100644 (file)
@@ -25,7 +25,7 @@ import org.collectionspace.services.loanout.LoansoutCommonList;
  * $LastChangedRevision$
  * $LastChangedDate$
  */
-public class LoanoutClient extends AbstractPoxServiceClientImpl<LoanoutProxy> {
+public class LoanoutClient extends AbstractPoxServiceClientImpl<LoansoutCommonList, LoanoutProxy> {
        public static final String SERVICE_NAME = "loansout";
        public static final String SERVICE_PATH_COMPONENT = SERVICE_NAME;       
        public static final String SERVICE_PATH = "/" + SERVICE_PATH_COMPONENT;
index f97805cab45413b19c2f7c0d5007e71a9a104ece..9004c0d4427f8a1446eab2a6193825bd1aaba4bb 100644 (file)
@@ -14,7 +14,7 @@ import org.collectionspace.services.loanout.LoansoutCommonList;
 @Path("/loansout/")
 @Produces({"application/xml"})
 @Consumes({"application/xml"})
-public interface LoanoutProxy extends CollectionSpacePoxProxy {    
+public interface LoanoutProxy extends CollectionSpacePoxProxy<LoansoutCommonList> {    
     // List
     @GET
     @Produces({"application/xml"})
index aa747e47f20b7a12677b1da3a660212a4d574287..a55767db8d5683c77f6d43ec6c4a72cef27a0833 100644 (file)
@@ -45,7 +45,7 @@ import org.jboss.resteasy.spi.ResteasyProviderFactory;
 /**
  * The Class LocationAuthorityClient.
  */
-public class LocationAuthorityClient extends AuthorityClientImpl<LocationsCommonList, LocationAuthorityProxy> {
+public class LocationAuthorityClient extends AuthorityClientImpl<LocationauthoritiesCommonList, LocationsCommonList, LocationAuthorityProxy> {
        public static final String SERVICE_NAME = "locationauthorities";
        public static final String SERVICE_PATH_COMPONENT = SERVICE_NAME;       
        public static final String SERVICE_PATH = "/" + SERVICE_PATH_COMPONENT;
index 95abda7d1ba7da535c48a81f4cfd4ea12654457a..2beea9c969d7971eb25798787d9162162ba0276c 100644 (file)
@@ -13,11 +13,13 @@ import org.collectionspace.services.location.LocationsCommonList;
 
 /**
  * @version $Revision:$
+ * ILT = Item list type
+ * LT = List type
  */
 @Path(LocationAuthorityClient.SERVICE_PATH + "/")
 @Produces("application/xml")
 @Consumes("application/xml")
-public interface LocationAuthorityProxy extends AuthorityProxy<LocationsCommonList> {
+public interface LocationAuthorityProxy extends AuthorityProxy<LocationauthoritiesCommonList, LocationsCommonList> {
 
     // List Locationauthorities
     @GET
index 4f18c560331ff18596ee191a4c64c459390a3f92..40460cbea8700151690cf0744372942791af8979 100644 (file)
@@ -29,7 +29,7 @@ import org.collectionspace.services.jaxb.AbstractCommonList;
  * $LastChangedDate: 2010-05-17 18:25:37 -0700 (Mon, 17 May 2010) $
  *
  */
-public class MediaClient extends AbstractPoxServiceClientImpl<MediaProxy> {
+public class MediaClient extends AbstractPoxServiceClientImpl<AbstractCommonList, MediaProxy> {
        public static final String SERVICE_NAME = "media";
        public static final String SERVICE_PATH_COMPONENT = SERVICE_NAME;       
        public static final String SERVICE_PATH = "/" + SERVICE_PATH_COMPONENT;
index 829bd5abf193b6248389cec47d66060c022baaa9..405f4744ceb27c8e912e73b6a669e7f04766c92e 100644 (file)
@@ -21,7 +21,7 @@ import org.collectionspace.services.client.BlobClient;
 @Path(MediaClient.SERVICE_PATH + "/")
 @Produces("application/xml")
 @Consumes("application/xml")
-public interface MediaProxy extends CollectionSpacePoxProxy {
+public interface MediaProxy extends CollectionSpacePoxProxy<AbstractCommonList> {
 
     @POST
     @Path("/{csid}")
index db71e9b6d7941362c7ebdbef38ebfd9f648b54d0..fe0a52ae441871eccac692ceac689fb11ca8e708 100644 (file)
@@ -27,7 +27,7 @@ import org.collectionspace.services.movement.MovementsCommonList;
  * $LastChangedDate$
  *
  */
-public class MovementClient extends AbstractPoxServiceClientImpl<MovementProxy> {
+public class MovementClient extends AbstractPoxServiceClientImpl<MovementsCommonList, MovementProxy> {
     public static final String SERVICE_NAME = "movements";
        public static final String SERVICE_PATH_COMPONENT = SERVICE_NAME;       
        public static final String SERVICE_PATH = "/" + SERVICE_PATH_COMPONENT;
index 8c576c6dc622371386046d100e1562140f4c6e80..cadf819dfc6c0474d3bd941efdf9324892bc980c 100644 (file)
@@ -42,7 +42,7 @@ import org.collectionspace.services.movement.MovementsCommonList;
 @Path("/movements/")
 @Produces("application/xml")
 @Consumes("application/xml")
-public interface MovementProxy extends CollectionSpacePoxProxy {
+public interface MovementProxy extends CollectionSpacePoxProxy<MovementsCommonList> {
 
     // List
     @GET
index d356897a889484d2f9601de2d200cc5d21f2bbb1..92d88fc565250a1f3bf5089c3d939ce5e75637b3 100644 (file)
@@ -33,7 +33,7 @@ import org.jboss.resteasy.spi.ResteasyProviderFactory;
  * $LastChangedDate: $\r
  */\r
  \r
-public class NoteClient extends AbstractServiceClientImpl<NoteProxy> {\r
+public class NoteClient extends AbstractServiceClientImpl<NotesCommonList, NoteProxy> {\r
 \r
     public static final String SERVICE_NAME = "notes";\r
     public static final String SERVICE_PATH_COMPONENT = "notes";\r
index e1a76c6e16453b1c35082906c35d628e9ee00b53..01b947a00c96a9c2f4816f6754b5e6b640d0224a 100644 (file)
@@ -26,7 +26,7 @@ import org.jboss.resteasy.client.ClientResponse;
  * $LastChangedDate: 2010-05-17 18:25:37 -0700 (Mon, 17 May 2010) $
  *
  */
-public class ObjectExitClient extends AbstractPoxServiceClientImpl<ObjectExitProxy> {
+public class ObjectExitClient extends AbstractPoxServiceClientImpl<AbstractCommonList, ObjectExitProxy> {
        public static final String SERVICE_NAME = "objectexit";
        public static final String SERVICE_PATH_COMPONENT = SERVICE_NAME;       
        public static final String SERVICE_PATH = "/" + SERVICE_PATH_COMPONENT;
index 81f8d383a4ee7a134e089f3c6d7cb38ba54c2b4d..4c1f362d82cf55f4c35287047cb6fc7cbd47c0c7 100644 (file)
@@ -14,7 +14,7 @@ import org.collectionspace.services.jaxb.AbstractCommonList;
 @Path(ObjectExitClient.SERVICE_PATH + "/")
 @Produces({"application/xml"})
 @Consumes({"application/xml"})
-public interface ObjectExitProxy extends CollectionSpacePoxProxy {
+public interface ObjectExitProxy extends CollectionSpacePoxProxy<AbstractCommonList> {
     // List
     @GET
     ClientResponse<AbstractCommonList> readList();
index a64e1c9bb0da4fc97d29f445f24b704ff43ac9b1..21df2d94104f912a22a60dc139efa9bd62341466 100644 (file)
@@ -33,7 +33,7 @@ import org.collectionspace.services.organization.OrganizationsCommonList;
 /**
  * The Class OrgAuthorityClient.
  */
-public class OrgAuthorityClient extends AuthorityWithContactsClientImpl<OrganizationsCommonList, OrgAuthorityProxy> {
+public class OrgAuthorityClient extends AuthorityWithContactsClientImpl<OrgauthoritiesCommonList, OrganizationsCommonList, OrgAuthorityProxy> {
        public static final String SERVICE_NAME = "orgauthorities";
        public static final String SERVICE_PATH_COMPONENT = SERVICE_NAME;       
        public static final String SERVICE_PATH = "/" + SERVICE_PATH_COMPONENT;
index 7a3c67d8ac30281e9ff015f31461a7395e87fc8d..6d892d1c0a05c24af3d9ca8b140e1b112afdb25d 100644 (file)
@@ -7,10 +7,8 @@ import javax.ws.rs.PathParam;
 import javax.ws.rs.Produces;
 import javax.ws.rs.QueryParam;
 
-import org.collectionspace.services.common.authorityref.AuthorityRefList;
 import org.collectionspace.services.organization.OrgauthoritiesCommonList;
 import org.collectionspace.services.organization.OrganizationsCommonList;
-import org.collectionspace.services.person.PersonauthoritiesCommonList;
 import org.jboss.resteasy.client.ClientResponse;
 
 /**
@@ -19,7 +17,7 @@ import org.jboss.resteasy.client.ClientResponse;
 @Path(OrgAuthorityClient.SERVICE_PATH + "/")
 @Produces({"application/xml"})
 @Consumes({"application/xml"})
-public interface OrgAuthorityProxy extends AuthorityWithContactsProxy<OrganizationsCommonList> {
+public interface OrgAuthorityProxy extends AuthorityWithContactsProxy<OrgauthoritiesCommonList, OrganizationsCommonList> {
     // List OrgAuthorities
     @GET
     ClientResponse<OrgauthoritiesCommonList> readList();
index 182d121b9efecead70d613cd62edd7ea8b7d2a31..01cd11abedd814d2ca7b455d73b9990b17ea4d17 100644 (file)
@@ -36,7 +36,7 @@ import org.collectionspace.services.client.PersonAuthorityProxy;
 /**
  * The Class PersonAuthorityClient.
  */
-public class PersonAuthorityClient extends AuthorityWithContactsClientImpl<PersonsCommonList, PersonAuthorityProxy> {
+public class PersonAuthorityClient extends AuthorityWithContactsClientImpl<PersonauthoritiesCommonList, PersonsCommonList, PersonAuthorityProxy> {
        public static final String SERVICE_NAME = "personauthorities";
        public static final String SERVICE_PATH_COMPONENT = SERVICE_NAME;       
        public static final String SERVICE_PATH = "/" + SERVICE_PATH_COMPONENT;
index a67aae6fbe80ed330c7b740da6d0f55eba77fa40..1d6204197f39e9688700fc9dd92b506722947793 100644 (file)
@@ -17,7 +17,7 @@ import org.jboss.resteasy.client.ClientResponse;
 @Path(PersonAuthorityClient.SERVICE_PATH + "/")
 @Produces({"application/xml"})
 @Consumes({"application/xml"})
-public interface PersonAuthorityProxy extends AuthorityWithContactsProxy<PersonsCommonList> {
+public interface PersonAuthorityProxy extends AuthorityWithContactsProxy<PersonauthoritiesCommonList, PersonsCommonList> {
 
     // List Personauthorities
     @GET
index d318e6448553313859c4270f7608d90a51c99a21..351a60cc66a3ca1bc968d47593ccdd9a9cf254b5 100644 (file)
@@ -33,7 +33,7 @@ import org.collectionspace.services.relation.RelationsCommonList;
 /**
  * The Class RelationClient.
  */
-public class RelationClient extends AbstractPoxServiceClientImpl<RelationProxy> {
+public class RelationClient extends AbstractPoxServiceClientImpl<RelationsCommonList, RelationProxy> {
        public static final String SERVICE_NAME = "relations";
        public static final String SERVICE_PATH_COMPONENT = SERVICE_NAME;       
        public static final String SERVICE_PATH = "/" + SERVICE_PATH_COMPONENT;
index e020a19c3248e38da1c3462507d59de98fd0c937..b2ef6b264c6dcd0dcaede4c359cdeb09a6ef8271 100644 (file)
@@ -17,7 +17,7 @@ import javax.ws.rs.QueryParam;
 @Path("/relations/")
 @Produces({"application/xml"})
 @Consumes({"application/xml"})
-public interface RelationProxy extends CollectionSpacePoxProxy {
+public interface RelationProxy extends CollectionSpacePoxProxy<RelationsCommonList> {
 
     @GET
     @Produces({"application/xml"})
index 3850603bcf22462bbb51106c797c6a562587c5ed..ba6a512dd3c000e8611653829336309ce631057f 100644 (file)
@@ -36,7 +36,7 @@ import org.jboss.resteasy.client.ClientResponse;
  * @version $Revision:$
  * FIXME: http://issues.collectionspace.org/browse/CSPACE-1684
  */
-public class ReportClient extends AbstractPoxServiceClientImpl<ReportProxy> {
+public class ReportClient extends AbstractPoxServiceClientImpl<ReportsCommonList, ReportProxy> {
 
     public static final String SERVICE_NAME = "reports";
     public static final String SERVICE_PATH_COMPONENT = "reports";
index 66c3b6a651f04c2e649ab531ba09c275a9930314..074847edfae2e42fef191fe0464dcd29c3fdcb6a 100644 (file)
@@ -41,7 +41,7 @@ import org.jboss.resteasy.client.ClientResponse;
 @Path("/reports/")
 @Produces({"application/xml;charset=UTF-8"})
 @Consumes({"application/xml"})
-public interface ReportProxy extends CollectionSpacePoxProxy {
+public interface ReportProxy extends CollectionSpacePoxProxy<ReportsCommonList> {
     /**
      * Read list.
      *
index b86a75ac7eaeae5ca688d8c052d91852c721cc8f..05fa3729b6abffbe0063e0ca5307740907072412 100644 (file)
@@ -35,7 +35,7 @@ import org.collectionspace.services.client.VocabularyProxy;
 /**
  * The Class VocabularyClient.
  */
-public class VocabularyClient extends AuthorityClientImpl<VocabularyitemsCommonList, VocabularyProxy> {
+public class VocabularyClient extends AuthorityClientImpl<VocabulariesCommonList, VocabularyitemsCommonList, VocabularyProxy> {
        public static final String SERVICE_NAME = "vocabularies";
        public static final String SERVICE_PATH_COMPONENT = SERVICE_NAME;       
        public static final String SERVICE_PATH = "/" + SERVICE_PATH_COMPONENT;
index 41f8aba6f4480b74059cab88440f422c0f91b315..b8e2107237a5f1331dadac20c72adb23c0856c9d 100644 (file)
@@ -17,7 +17,7 @@ import org.jboss.resteasy.client.ClientResponse;
 @Path("/" + VocabularyClient.SERVICE_PATH_COMPONENT + "/")
 @Produces({"application/xml"})
 @Consumes({"application/xml"})
-public interface VocabularyProxy extends AuthorityProxy<VocabularyitemsCommonList> {
+public interface VocabularyProxy extends AuthorityProxy<VocabulariesCommonList, VocabularyitemsCommonList> {
     // List Vocabularies
     @GET
     @Produces({"application/xml"})
index 3582ae85404c78f34483b9e4f82e8b2cda2238de..f1e7a91c3777946a3eb3085b75db0d461f3083a6 100644 (file)
@@ -33,9 +33,9 @@ import org.collectionspace.services.client.PoxPayloadIn;
 import org.collectionspace.services.client.PoxPayloadOut;
 
 import org.collectionspace.services.jaxb.AbstractCommonList;
-import org.collectionspace.services.common.workflow.client.WorkflowClient;
 import org.collectionspace.services.workflow.WorkflowsCommon;
 import org.collectionspace.services.client.DimensionClient;
+import org.collectionspace.services.client.workflow.WorkflowClient;
 import org.collectionspace.services.dimension.DimensionsCommon;
 import org.collectionspace.services.dimension.DimensionsCommonList;
 
@@ -70,7 +70,7 @@ public class WorkflowServiceTest extends AbstractServiceTestImpl {
     
     @Override
     protected CollectionSpaceClient getClientInstance() {
-        return new WorkflowClient();
+        return new DimensionClient();
     }
 
     @Override
@@ -318,13 +318,14 @@ public class WorkflowServiceTest extends AbstractServiceTestImpl {
                this.createTestObject(testName);
        }
 
-       private void readList(String testName, int expectedSize, String queryParam) {
+       private int readIncludeDeleted(String testName, Boolean includeDeleted) {
+               int result = 0;
         // Perform setup.
         setupReadList();
 
         // Submit the request to the service and store the response.
         DimensionClient client = new DimensionClient();
-        ClientResponse<DimensionsCommonList> res = client.readList();
+        ClientResponse<DimensionsCommonList> res = client.readIncludeDeleted(includeDeleted);
         DimensionsCommonList list = res.getEntity();
         int statusCode = res.getStatus();
         //
@@ -342,7 +343,9 @@ public class WorkflowServiceTest extends AbstractServiceTestImpl {
         //
         List<DimensionsCommonList.DimensionListItem> items =
             list.getDimensionListItem();
-        Assert.assertEquals(items.size(), expectedSize);
+        result = items.size();
+        
+        return result;
        }
        
        /*
@@ -364,12 +367,14 @@ public class WorkflowServiceTest extends AbstractServiceTestImpl {
        // Mark one as soft deleted
        //
        int currentTotal = allResourceIdsCreated.size();
-       String csid = allResourceIdsCreated.get(currentTotal - 1); //get the last one added
+       String csid = allResourceIdsCreated.get(currentTotal - 1); //0-based index to get the last one added
        this.setupUpdate();
        this.updateLifeCycleState(testName, csid, WorkflowClient.WORKFLOWSTATE_DELETED);
        //
-       // Read the list back
+       // Read the list back.  The deleted item should not be in the list
        //
+       int updatedTotal = readIncludeDeleted(testName, Boolean.FALSE);
+       Assert.assertEquals(updatedTotal, currentTotal - 1, "Deleted items seem to be returned in list results.");
        }
        
        @Override
index 0e27cceb3c0eb25d9f3d173b4ab11fbbb4ce520f..df6a9bf8bccc8d19276ce398170a7ea16e1ef1b9 100644 (file)
 package org.collectionspace.services.workflow;
 
 import org.collectionspace.services.client.IQueryManager;
-import org.collectionspace.services.client.PoxPayloadIn;
-import org.collectionspace.services.client.PoxPayloadOut;
+import org.collectionspace.services.client.workflow.WorkflowClient;
 import org.collectionspace.services.common.ResourceBase;
 import org.collectionspace.services.common.ServiceMessages;
-import org.collectionspace.services.common.context.ServiceContext;
 import org.collectionspace.services.jaxb.AbstractCommonList;
-import org.collectionspace.services.common.workflow.client.WorkflowClient;
 
 import javax.ws.rs.Consumes;
 import javax.ws.rs.DELETE;