From: Richard Millet Date: Thu, 31 Mar 2011 20:10:19 +0000 (+0000) Subject: CSPACE-3760, CSPACE-3701, CSPACE-3712, CSPACE-3701: Lots of updates for soft-delet... X-Git-Url: https://git.aero2k.de/?a=commitdiff_plain;h=dc1557cc730fa881273ca59428bb5482bfd599bc;p=tmp%2Fjakarta-migration.git CSPACE-3760, CSPACE-3701, CSPACE-3712, CSPACE-3701: Lots of updates for soft-delet filtering. Updated client tests. Added a getFromCsid() method to Nuxeo repository client. --- diff --git a/services/account/client/src/main/java/org/collectionspace/services/client/AccountClient.java b/services/account/client/src/main/java/org/collectionspace/services/client/AccountClient.java index 025c542b6..3e25e0aa5 100644 --- a/services/account/client/src/main/java/org/collectionspace/services/client/AccountClient.java +++ b/services/account/client/src/main/java/org/collectionspace/services/client/AccountClient.java @@ -36,7 +36,7 @@ import org.jboss.resteasy.client.ClientResponse; * @version $Revision:$ */ -public class AccountClient extends AbstractServiceClientImpl { +public class AccountClient extends AbstractServiceClientImpl { public static final String SERVICE_NAME = "accounts"; @Override diff --git a/services/account/client/src/main/java/org/collectionspace/services/client/AccountRoleClient.java b/services/account/client/src/main/java/org/collectionspace/services/client/AccountRoleClient.java index 028a11449..da0cc0b0d 100644 --- a/services/account/client/src/main/java/org/collectionspace/services/client/AccountRoleClient.java +++ b/services/account/client/src/main/java/org/collectionspace/services/client/AccountRoleClient.java @@ -37,7 +37,7 @@ import org.jboss.resteasy.client.ClientResponse; * @version $Revision:$ */ -public class AccountRoleClient extends AbstractServiceClientImpl { +public class AccountRoleClient extends AbstractServiceClientImpl { public static final String SERVICE_NAME = "accountroles"; @Override @@ -48,6 +48,7 @@ public class AccountRoleClient extends AbstractServiceClientImpl { +public class AcquisitionClient extends AbstractPoxServiceClientImpl { 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; diff --git a/services/acquisition/client/src/main/java/org/collectionspace/services/client/AcquisitionProxy.java b/services/acquisition/client/src/main/java/org/collectionspace/services/client/AcquisitionProxy.java index 527d5446b..db55b3b28 100644 --- a/services/acquisition/client/src/main/java/org/collectionspace/services/client/AcquisitionProxy.java +++ b/services/acquisition/client/src/main/java/org/collectionspace/services/client/AcquisitionProxy.java @@ -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 { @GET ClientResponse readList(); } diff --git a/services/authorization-mgt/client/src/main/java/org/collectionspace/services/client/PermissionClient.java b/services/authorization-mgt/client/src/main/java/org/collectionspace/services/client/PermissionClient.java index 87e70ec01..4346cec78 100644 --- a/services/authorization-mgt/client/src/main/java/org/collectionspace/services/client/PermissionClient.java +++ b/services/authorization-mgt/client/src/main/java/org/collectionspace/services/client/PermissionClient.java @@ -37,7 +37,7 @@ import org.collectionspace.services.authorization.PermissionsList; * @version $Revision:$ */ -public class PermissionClient extends AbstractServiceClientImpl { +public class PermissionClient extends AbstractServiceClientImpl { 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; diff --git a/services/authorization-mgt/client/src/main/java/org/collectionspace/services/client/PermissionRoleClient.java b/services/authorization-mgt/client/src/main/java/org/collectionspace/services/client/PermissionRoleClient.java index 5bb12627d..79dd99f82 100644 --- a/services/authorization-mgt/client/src/main/java/org/collectionspace/services/client/PermissionRoleClient.java +++ b/services/authorization-mgt/client/src/main/java/org/collectionspace/services/client/PermissionRoleClient.java @@ -35,7 +35,7 @@ import org.collectionspace.services.authorization.PermissionRole; * @version $Revision:$ */ -public class PermissionRoleClient extends AbstractServiceClientImpl { +public class PermissionRoleClient extends AbstractServiceClientImpl { @Override public String getServiceName() { throw new UnsupportedOperationException(); //FIXME: REM - http://issues.collectionspace.org/browse/CSPACE-3497 diff --git a/services/authorization-mgt/client/src/main/java/org/collectionspace/services/client/RoleClient.java b/services/authorization-mgt/client/src/main/java/org/collectionspace/services/client/RoleClient.java index 041d1e7c4..a52723741 100644 --- a/services/authorization-mgt/client/src/main/java/org/collectionspace/services/client/RoleClient.java +++ b/services/authorization-mgt/client/src/main/java/org/collectionspace/services/client/RoleClient.java @@ -38,7 +38,7 @@ import org.jboss.resteasy.client.ClientResponse; * @version $Revision:$ */ -public class RoleClient extends AbstractServiceClientImpl { +public class RoleClient extends AbstractServiceClientImpl { 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; diff --git a/services/authorization-mgt/client/src/main/java/org/collectionspace/services/client/RolePermissionClient.java b/services/authorization-mgt/client/src/main/java/org/collectionspace/services/client/RolePermissionClient.java index a80125ff4..ad6f536a4 100644 --- a/services/authorization-mgt/client/src/main/java/org/collectionspace/services/client/RolePermissionClient.java +++ b/services/authorization-mgt/client/src/main/java/org/collectionspace/services/client/RolePermissionClient.java @@ -42,7 +42,7 @@ import org.jboss.resteasy.spi.ResteasyProviderFactory; * @version $Revision:$ */ -public class RolePermissionClient extends AbstractServiceClientImpl { +public class RolePermissionClient extends AbstractServiceClientImpl { @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 { +public class BlobClient extends AbstractPoxServiceClientImpl { 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; diff --git a/services/blob/client/src/main/java/org/collectionspace/services/client/BlobProxy.java b/services/blob/client/src/main/java/org/collectionspace/services/client/BlobProxy.java index ebd5ce34b..9a701a074 100644 --- a/services/blob/client/src/main/java/org/collectionspace/services/client/BlobProxy.java +++ b/services/blob/client/src/main/java/org/collectionspace/services/client/BlobProxy.java @@ -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 { //(C)reate @POST ClientResponse createBlobFromURI(byte[] xmlPayload, diff --git a/services/client/src/main/java/org/collectionspace/services/client/AbstractPoxServiceClientImpl.java b/services/client/src/main/java/org/collectionspace/services/client/AbstractPoxServiceClientImpl.java index bd49d98f9..a3b9f2dc4 100644 --- a/services/client/src/main/java/org/collectionspace/services/client/AbstractPoxServiceClientImpl.java +++ b/services/client/src/main/java/org/collectionspace/services/client/AbstractPoxServiceClientImpl.java @@ -1,16 +1,17 @@ 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 abstract class AbstractPoxServiceClientImpl extends AbstractServiceClientImpl - implements CollectionSpacePoxClient { +/* + * LT = List type + * P = Proxy type + */ +public abstract class AbstractPoxServiceClientImpl> + extends AbstractServiceClientImpl + implements CollectionSpacePoxClient { @Override public ClientResponse create(PoxPayloadOut xmlPayload) { return getProxy().create(xmlPayload.getBytes()); diff --git a/services/client/src/main/java/org/collectionspace/services/client/AbstractServiceClientImpl.java b/services/client/src/main/java/org/collectionspace/services/client/AbstractServiceClientImpl.java index 1314d1cd7..dbd105c4d 100644 --- a/services/client/src/main/java/org/collectionspace/services/client/AbstractServiceClientImpl.java +++ b/services/client/src/main/java/org/collectionspace/services/client/AbstractServiceClientImpl.java @@ -53,8 +53,8 @@ import org.slf4j.LoggerFactory; * @param * @param */ -public abstract class AbstractServiceClientImpl implements - CollectionSpaceClient { +public abstract class AbstractServiceClientImpl + implements CollectionSpaceClient { /** The logger. */ protected final Logger logger = LoggerFactory.getLogger(AbstractServiceClientImpl.class); @@ -71,7 +71,7 @@ public abstract class AbstractServiceClientImpl /** The http client. */ private HttpClient httpClient; /** The RESTEasy proxy */ - private T proxy; + private P proxy; /** * Gets the logger. @@ -341,7 +341,7 @@ public abstract class AbstractServiceClientImpl } @Override - public T getProxy() { + public P getProxy() { return proxy; } @@ -350,7 +350,7 @@ public abstract class AbstractServiceClientImpl */ @Override public void setProxy() { - Class proxyClass = this.getProxyClass(); + Class

proxyClass = this.getProxyClass(); if (useAuth()) { proxy = ProxyFactory.create(proxyClass, getBaseURL(), new ApacheHttpClientExecutor(getHttpClient())); diff --git a/services/client/src/main/java/org/collectionspace/services/client/AuthorityClient.java b/services/client/src/main/java/org/collectionspace/services/client/AuthorityClient.java index b3be0cdca..f3e8ba852 100644 --- a/services/client/src/main/java/org/collectionspace/services/client/AuthorityClient.java +++ b/services/client/src/main/java/org/collectionspace/services/client/AuthorityClient.java @@ -7,7 +7,13 @@ import org.collectionspace.services.common.authorityref.AuthorityRefList; import org.collectionspace.services.jaxb.AbstractCommonList; import org.jboss.resteasy.client.ClientResponse; -public interface AuthorityClient> extends CollectionSpacePoxClient { +/* + * LT - List type + * ILT - Authority item list type + * P - Proxy type + */ +public interface AuthorityClient> + extends CollectionSpacePoxClient { /* * Basic CRUD operations */ @@ -88,7 +94,7 @@ public interface AuthorityClient readItemList(String inAuthority, String partialTerm, String keywords); + public ClientResponse readItemList(String inAuthority, String partialTerm, String keywords); /** * Read item list for named vocabulary, filtering by partial term match, or keywords. Only one of @@ -102,7 +108,7 @@ public interface AuthorityClient readItemListForNamedAuthority(String specifier, + public ClientResponse readItemListForNamedAuthority(String specifier, String partialTerm, String keywords); } diff --git a/services/client/src/main/java/org/collectionspace/services/client/AuthorityClientImpl.java b/services/client/src/main/java/org/collectionspace/services/client/AuthorityClientImpl.java index db07e63d4..baf419565 100644 --- a/services/client/src/main/java/org/collectionspace/services/client/AuthorityClientImpl.java +++ b/services/client/src/main/java/org/collectionspace/services/client/AuthorityClientImpl.java @@ -7,8 +7,14 @@ import org.collectionspace.services.common.authorityref.AuthorityRefDocList; import org.collectionspace.services.common.authorityref.AuthorityRefList; import org.collectionspace.services.jaxb.AbstractCommonList; -public abstract class AuthorityClientImpl> extends AbstractPoxServiceClientImpl - implements AuthorityClient { +/* + * LT - List type + * ILT - Authority item list type + * P - Proxy type + */ +public abstract class AuthorityClientImpl> + extends AbstractPoxServiceClientImpl + implements AuthorityClient { /* * Basic CRUD proxied methods @@ -119,7 +125,7 @@ public abstract class AuthorityClientImpl + public ClientResponse readItemList(String inAuthority, String partialTerm, String keywords) { return getProxy().readItemList(inAuthority, partialTerm, keywords); } @@ -138,7 +144,7 @@ public abstract class AuthorityClientImpl readItemListForNamedAuthority( + public ClientResponse readItemListForNamedAuthority( String specifier, String partialTerm, String keywords) { return getProxy().readItemListForNamedAuthority(specifier, partialTerm, keywords); } diff --git a/services/client/src/main/java/org/collectionspace/services/client/AuthorityProxy.java b/services/client/src/main/java/org/collectionspace/services/client/AuthorityProxy.java index a8c0d996b..91785232b 100644 --- a/services/client/src/main/java/org/collectionspace/services/client/AuthorityProxy.java +++ b/services/client/src/main/java/org/collectionspace/services/client/AuthorityProxy.java @@ -15,7 +15,11 @@ import org.collectionspace.services.common.authorityref.AuthorityRefList; import org.collectionspace.services.jaxb.AbstractCommonList; import org.jboss.resteasy.client.ClientResponse; -public interface AuthorityProxy extends CollectionSpacePoxProxy { +/* + * ILT = Item list type + * LT = List type + */ +public interface AuthorityProxy extends CollectionSpacePoxProxy { /* * Basic CRUD operations @@ -101,7 +105,7 @@ public interface AuthorityProxy extends Collectio @GET @Produces({"application/xml"}) @Path("/{csid}/items/") - ClientResponse readItemList( + ClientResponse readItemList( @PathParam("csid") String vcsid, @QueryParam (IQueryManager.SEARCH_TYPE_PARTIALTERM) String partialTerm, @QueryParam(IQueryManager.SEARCH_TYPE_KEYWORDS_KW) String keywords); @@ -110,7 +114,7 @@ public interface AuthorityProxy extends Collectio @GET @Produces({"application/xml"}) @Path("/urn:cspace:name({specifier})/items/") - ClientResponse readItemListForNamedAuthority( + ClientResponse readItemListForNamedAuthority( @PathParam("specifier") String specifier, @QueryParam (IQueryManager.SEARCH_TYPE_PARTIALTERM) String partialTerm, @QueryParam(IQueryManager.SEARCH_TYPE_KEYWORDS_KW) String keywords); diff --git a/services/client/src/main/java/org/collectionspace/services/client/CollectionSpaceClient.java b/services/client/src/main/java/org/collectionspace/services/client/CollectionSpaceClient.java index 90dc28b3e..b20be1d4d 100644 --- a/services/client/src/main/java/org/collectionspace/services/client/CollectionSpaceClient.java +++ b/services/client/src/main/java/org/collectionspace/services/client/CollectionSpaceClient.java @@ -23,18 +23,16 @@ */ 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 { +public interface CollectionSpaceClient { public static final String AUTH_PROPERTY = "cspace.auth"; public static final String PASSWORD_PROPERTY = "cspace.password"; @@ -48,9 +46,9 @@ public interface CollectionSpaceClient { * * @return the proxy */ - T getProxy(); + P getProxy(); - Class getProxyClass(); + Class

getProxyClass(); /** * Gets the base url. diff --git a/services/client/src/main/java/org/collectionspace/services/client/CollectionSpacePoxClient.java b/services/client/src/main/java/org/collectionspace/services/client/CollectionSpacePoxClient.java index 1703154e6..71918c937 100644 --- a/services/client/src/main/java/org/collectionspace/services/client/CollectionSpacePoxClient.java +++ b/services/client/src/main/java/org/collectionspace/services/client/CollectionSpacePoxClient.java @@ -1,9 +1,16 @@ package org.collectionspace.services.client; import javax.ws.rs.core.Response; + +import org.collectionspace.services.jaxb.AbstractCommonList; import org.jboss.resteasy.client.ClientResponse; -public interface CollectionSpacePoxClient extends CollectionSpaceClient { +/* + * = List type + *

= Proxy type + */ +public interface CollectionSpacePoxClient> + extends CollectionSpaceClient { /* * Common service calls */ diff --git a/services/client/src/main/java/org/collectionspace/services/client/CollectionSpacePoxProxy.java b/services/client/src/main/java/org/collectionspace/services/client/CollectionSpacePoxProxy.java index 7eefc8573..4518e3af8 100644 --- a/services/client/src/main/java/org/collectionspace/services/client/CollectionSpacePoxProxy.java +++ b/services/client/src/main/java/org/collectionspace/services/client/CollectionSpacePoxProxy.java @@ -5,11 +5,15 @@ 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.client.workflow.WorkflowClient; +import org.collectionspace.services.jaxb.AbstractCommonList; import org.jboss.resteasy.client.ClientResponse; -public interface CollectionSpacePoxProxy extends CollectionSpaceProxy { +public interface CollectionSpacePoxProxy extends CollectionSpaceProxy { //(C)reate @POST ClientResponse create(byte[] payload); @@ -23,4 +27,10 @@ public interface CollectionSpacePoxProxy extends CollectionSpaceProxy { @PUT @Path("/{csid}") ClientResponse update(@PathParam("csid") String csid, byte[] payload); + + //(L)ist non-deleted items + @GET + @Produces({"application/xml"}) + ClientResponse readIncludeDeleted( + @QueryParam(WorkflowClient.WORKFLOW_QUERY_NONDELETED) String includeDeleted); } diff --git a/services/client/src/main/java/org/collectionspace/services/client/CollectionSpaceProxy.java b/services/client/src/main/java/org/collectionspace/services/client/CollectionSpaceProxy.java index e093f4be6..d751eb5f3 100644 --- a/services/client/src/main/java/org/collectionspace/services/client/CollectionSpaceProxy.java +++ b/services/client/src/main/java/org/collectionspace/services/client/CollectionSpaceProxy.java @@ -38,7 +38,7 @@ import javax.ws.rs.core.Response; 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; /** @@ -100,5 +100,5 @@ public interface CollectionSpaceProxy { ClientResponse readList( @QueryParam(IClientQueryParams.SORT_BY_PARAM) String sortBy, @QueryParam(IClientQueryParams.PAGE_SIZE_PARAM) Long pageSize, - @QueryParam(IClientQueryParams.START_PAGE_PARAM) Long pageNumber); + @QueryParam(IClientQueryParams.START_PAGE_PARAM) Long pageNumber); } diff --git a/services/client/src/main/java/org/collectionspace/services/client/TestServiceClient.java b/services/client/src/main/java/org/collectionspace/services/client/TestServiceClient.java index 9552197d5..c4e84241f 100644 --- a/services/client/src/main/java/org/collectionspace/services/client/TestServiceClient.java +++ b/services/client/src/main/java/org/collectionspace/services/client/TestServiceClient.java @@ -22,16 +22,12 @@ */ 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 { +public class TestServiceClient extends AbstractServiceClientImpl { /** * diff --git a/services/common/src/main/java/org/collectionspace/services/common/workflow/client/WorkflowClient.java b/services/client/src/main/java/org/collectionspace/services/client/workflow/WorkflowClient.java 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 5090db8e3..bbbcc5b34 100644 --- a/services/common/src/main/java/org/collectionspace/services/common/workflow/client/WorkflowClient.java +++ b/services/client/src/main/java/org/collectionspace/services/client/workflow/WorkflowClient.java @@ -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 { +public class WorkflowClient extends AbstractPoxServiceClientImpl { 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 index 000000000..b523d5b2d --- /dev/null +++ b/services/client/src/main/java/org/collectionspace/services/client/workflow/WorkflowProxy.java @@ -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 { +} diff --git a/services/collectionobject/client/src/main/java/org/collectionspace/services/client/CollectionObjectClient.java b/services/collectionobject/client/src/main/java/org/collectionspace/services/client/CollectionObjectClient.java index 6fbb38178..f61514c8f 100644 --- a/services/collectionobject/client/src/main/java/org/collectionspace/services/client/CollectionObjectClient.java +++ b/services/collectionobject/client/src/main/java/org/collectionspace/services/client/CollectionObjectClient.java @@ -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 { +public class CollectionObjectClient extends AbstractPoxServiceClientImpl { 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; diff --git a/services/collectionobject/client/src/main/java/org/collectionspace/services/client/CollectionObjectProxy.java b/services/collectionobject/client/src/main/java/org/collectionspace/services/client/CollectionObjectProxy.java index 8cd0c85af..5beac8caf 100644 --- a/services/collectionobject/client/src/main/java/org/collectionspace/services/client/CollectionObjectProxy.java +++ b/services/collectionobject/client/src/main/java/org/collectionspace/services/client/CollectionObjectProxy.java @@ -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 { /** * Roundtrip. diff --git a/services/common-api/pom.xml b/services/common-api/pom.xml index 567ec6bb9..0e8c736cf 100755 --- a/services/common-api/pom.xml +++ b/services/common-api/pom.xml @@ -10,7 +10,6 @@ org.collectionspace.services org.collectionspace.services.common-api services.common-api - 1.5.1 jar diff --git a/services/common/pom.xml b/services/common/pom.xml index 15cf4daff..99c6c9fdd 100644 --- a/services/common/pom.xml +++ b/services/common/pom.xml @@ -17,7 +17,7 @@ org.collectionspace.services org.collectionspace.services.common-api - 1.5.1 + ${project.version} org.collectionspace.services diff --git a/services/common/src/main/java/org/collectionspace/services/common/AbstractMultiPartCollectionSpaceResourceImpl.java b/services/common/src/main/java/org/collectionspace/services/common/AbstractMultiPartCollectionSpaceResourceImpl.java index e669941c4..20fe2241b 100644 --- a/services/common/src/main/java/org/collectionspace/services/common/AbstractMultiPartCollectionSpaceResourceImpl.java +++ b/services/common/src/main/java/org/collectionspace/services/common/AbstractMultiPartCollectionSpaceResourceImpl.java @@ -35,9 +35,9 @@ import javax.ws.rs.Produces; import javax.ws.rs.WebApplicationException; import javax.ws.rs.core.Response; -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.MultipartServiceContextFactory; import org.collectionspace.services.common.context.ServiceContext; @@ -45,7 +45,6 @@ import org.collectionspace.services.common.context.ServiceContextFactory; import org.collectionspace.services.common.document.DocumentHandler; import org.collectionspace.services.common.document.DocumentNotFoundException; import org.collectionspace.services.common.security.UnauthorizedException; -import org.collectionspace.services.common.workflow.client.WorkflowClient; import org.collectionspace.services.common.workflow.service.nuxeo.WorkflowDocumentModelHandler; import org.collectionspace.services.workflow.WorkflowsCommon; import org.jboss.resteasy.client.ClientResponse; @@ -212,7 +211,5 @@ public abstract class AbstractMultiPartCollectionSpaceResourceImpl extends throw bigReThrow(e, ServiceMessages.UPDATE_FAILED + WorkflowClient.SERVICE_PAYLOAD_NAME, csid); } return result.getBytes(); - } - - + } } diff --git a/services/common/src/main/java/org/collectionspace/services/common/context/AbstractServiceContextImpl.java b/services/common/src/main/java/org/collectionspace/services/common/context/AbstractServiceContextImpl.java index 2f058db70..c606c8bde 100644 --- a/services/common/src/main/java/org/collectionspace/services/common/context/AbstractServiceContextImpl.java +++ b/services/common/src/main/java/org/collectionspace/services/common/context/AbstractServiceContextImpl.java @@ -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 } } + private static String buildWorkflowWhereClause(MultivaluedMap 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 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); diff --git a/services/common/src/main/java/org/collectionspace/services/common/query/QueryContext.java b/services/common/src/main/java/org/collectionspace/services/common/query/QueryContext.java index 5d31c9c27..1c07ff356 100644 --- a/services/common/src/main/java/org/collectionspace/services/common/query/QueryContext.java +++ b/services/common/src/main/java/org/collectionspace/services/common/query/QueryContext.java @@ -133,4 +133,13 @@ public class QueryContext { public String getDocType() { return this.docType; } + + /** + * Gets the doc type. + * + * @return the doc type + */ + public void setDocType(String theDocType) { + this.docType = theDocType; + } } diff --git a/services/common/src/main/java/org/collectionspace/services/common/query/nuxeo/QueryManagerNuxeoImpl.java b/services/common/src/main/java/org/collectionspace/services/common/query/nuxeo/QueryManagerNuxeoImpl.java index a055e9e85..dec09948a 100644 --- a/services/common/src/main/java/org/collectionspace/services/common/query/nuxeo/QueryManagerNuxeoImpl.java +++ b/services/common/src/main/java/org/collectionspace/services/common/query/nuxeo/QueryManagerNuxeoImpl.java @@ -43,7 +43,7 @@ import org.collectionspace.services.client.IQueryManager; public class QueryManagerNuxeoImpl implements IQueryManager { private final Logger logger = LoggerFactory - .getLogger(RepositoryJavaClientImpl.class); + .getLogger(QueryManagerNuxeoImpl.class); // Consider that letters, letter-markers, numbers, '_' and apostrophe are words private static Pattern nonWordChars = Pattern.compile("[^\\p{L}\\p{M}\\p{N}_']"); diff --git a/services/common/src/main/java/org/collectionspace/services/common/repository/RepositoryClient.java b/services/common/src/main/java/org/collectionspace/services/common/repository/RepositoryClient.java index 6edab673b..46b76bfa4 100644 --- a/services/common/src/main/java/org/collectionspace/services/common/repository/RepositoryClient.java +++ b/services/common/src/main/java/org/collectionspace/services/common/repository/RepositoryClient.java @@ -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 extends StorageClient { /** * createDomain creates a doamin in the default repository @@ -96,9 +96,13 @@ public interface RepositoryClient extends StorageClient { * @throws DocumentException */ public DocumentWrapper getDoc( - ServiceContext ctx, String id) + ServiceContext ctx, String id) throws DocumentNotFoundException, DocumentException; + public DocumentWrapper getDocFromCsid(ServiceContext 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 findDoc( - ServiceContext ctx, String where) + ServiceContext 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 ctx, String where) throws DocumentNotFoundException, DocumentException; /** @@ -135,7 +139,7 @@ public interface RepositoryClient extends StorageClient { * @throws DocumentException */ public DocumentWrapper findDocs( - ServiceContext ctx, + ServiceContext ctx, List docTypes, String where, int pageSize, int pageNum, boolean computeTotal) diff --git a/services/common/src/main/java/org/collectionspace/services/common/vocabulary/VocabManagerImpl.java b/services/common/src/main/java/org/collectionspace/services/common/vocabulary/VocabManagerImpl.java index d70370f16..d00d923d0 100644 --- a/services/common/src/main/java/org/collectionspace/services/common/vocabulary/VocabManagerImpl.java +++ b/services/common/src/main/java/org/collectionspace/services/common/vocabulary/VocabManagerImpl.java @@ -15,7 +15,7 @@ import org.collectionspace.services.nuxeo.client.java.RepositoryJavaClientImpl; public class VocabManagerImpl implements IVocabManager { private final Logger logger = LoggerFactory - .getLogger(RepositoryJavaClientImpl.class); + .getLogger(VocabManagerImpl.class); public void exampleMethod(String someParam) { } 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 index 04ff61aa1..000000000 --- a/services/common/src/main/java/org/collectionspace/services/common/workflow/client/WorkflowProxy.java +++ /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 { -} diff --git a/services/common/src/main/java/org/collectionspace/services/common/workflow/service/nuxeo/WorkflowDocumentModelHandler.java b/services/common/src/main/java/org/collectionspace/services/common/workflow/service/nuxeo/WorkflowDocumentModelHandler.java index 2f47a3a84..61a39bbfe 100644 --- a/services/common/src/main/java/org/collectionspace/services/common/workflow/service/nuxeo/WorkflowDocumentModelHandler.java +++ b/services/common/src/main/java/org/collectionspace/services/common/workflow/service/nuxeo/WorkflowDocumentModelHandler.java @@ -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; diff --git a/services/common/src/main/java/org/collectionspace/services/nuxeo/client/java/RepositoryJavaClientImpl.java b/services/common/src/main/java/org/collectionspace/services/nuxeo/client/java/RepositoryJavaClientImpl.java index 3c9e94c17..daf3348ab 100644 --- a/services/common/src/main/java/org/collectionspace/services/nuxeo/client/java/RepositoryJavaClientImpl.java +++ b/services/common/src/main/java/org/collectionspace/services/nuxeo/client/java/RepositoryJavaClientImpl.java @@ -64,7 +64,7 @@ import org.slf4j.LoggerFactory; * * $LastChangedRevision: $ $LastChangedDate: $ */ -public class RepositoryJavaClientImpl implements RepositoryClient { +public class RepositoryJavaClientImpl implements RepositoryClient { /** 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 getDoc( - ServiceContext ctx, String id) + ServiceContext ctx, String csid) throws DocumentNotFoundException, DocumentException { RepositoryInstance repoSession = null; DocumentWrapper 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 ctx, String whereClause) throws DocumentNotFoundException, DocumentException { String csid = null; try { @@ -438,7 +450,7 @@ public class RepositoryJavaClientImpl implements RepositoryClient { */ @Override public DocumentWrapper findDocs( - ServiceContext ctx, + ServiceContext ctx, List 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 getDocFromCsid(ServiceContext ctx, + String csid) + throws Exception { + DocumentWrapper 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(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. diff --git a/services/common/src/main/java/org/collectionspace/services/nuxeo/util/NuxeoUtils.java b/services/common/src/main/java/org/collectionspace/services/nuxeo/util/NuxeoUtils.java index 05e178fc2..6c371f832 100644 --- a/services/common/src/main/java/org/collectionspace/services/nuxeo/util/NuxeoUtils.java +++ b/services/common/src/main/java/org/collectionspace/services/nuxeo/util/NuxeoUtils.java @@ -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(); diff --git a/services/contact/client/src/main/java/org/collectionspace/services/client/AuthorityWithContactsClient.java b/services/contact/client/src/main/java/org/collectionspace/services/client/AuthorityWithContactsClient.java index f1ae2dc5b..7337bdd7d 100644 --- a/services/contact/client/src/main/java/org/collectionspace/services/client/AuthorityWithContactsClient.java +++ b/services/contact/client/src/main/java/org/collectionspace/services/client/AuthorityWithContactsClient.java @@ -6,7 +6,13 @@ import org.collectionspace.services.contact.ContactsCommonList; import org.collectionspace.services.jaxb.AbstractCommonList; import org.jboss.resteasy.client.ClientResponse; -public interface AuthorityWithContactsClient> extends AuthorityClient { +/* + * LT - List type + * ILT - Authority item list type + * P - Proxy type + */ +public interface AuthorityWithContactsClient> + extends AuthorityClient { /** * Creates the contact. * diff --git a/services/contact/client/src/main/java/org/collectionspace/services/client/AuthorityWithContactsClientImpl.java b/services/contact/client/src/main/java/org/collectionspace/services/client/AuthorityWithContactsClientImpl.java index 7ef2bdee1..b802db06a 100644 --- a/services/contact/client/src/main/java/org/collectionspace/services/client/AuthorityWithContactsClientImpl.java +++ b/services/contact/client/src/main/java/org/collectionspace/services/client/AuthorityWithContactsClientImpl.java @@ -6,9 +6,14 @@ import org.jboss.resteasy.client.ClientResponse; import org.collectionspace.services.contact.ContactsCommonList; import org.collectionspace.services.jaxb.AbstractCommonList; -public abstract class AuthorityWithContactsClientImpl> - extends AuthorityClientImpl - implements AuthorityWithContactsClient { +/* + * LT - List type + * ILT - Authority item list type + * P - Proxy type + */ +public abstract class AuthorityWithContactsClientImpl> + extends AuthorityClientImpl + implements AuthorityWithContactsClient { @Override public ClientResponse createContact(String parentcsid, diff --git a/services/contact/client/src/main/java/org/collectionspace/services/client/AuthorityWithContactsProxy.java b/services/contact/client/src/main/java/org/collectionspace/services/client/AuthorityWithContactsProxy.java index 2541e89cf..4ec77fb20 100644 --- a/services/contact/client/src/main/java/org/collectionspace/services/client/AuthorityWithContactsProxy.java +++ b/services/contact/client/src/main/java/org/collectionspace/services/client/AuthorityWithContactsProxy.java @@ -13,7 +13,11 @@ import org.collectionspace.services.contact.ContactsCommonList; import org.collectionspace.services.jaxb.AbstractCommonList; import org.jboss.resteasy.client.ClientResponse; -public interface AuthorityWithContactsProxy extends AuthorityProxy { +/* + * ILT = Item list type + * LT = List type + */ +public interface AuthorityWithContactsProxy extends AuthorityProxy { @GET @Produces({"application/xml"}) @Path("/{parentcsid}/items/{itemcsid}/contacts/") diff --git a/services/contact/client/src/main/java/org/collectionspace/services/client/ContactClient.java b/services/contact/client/src/main/java/org/collectionspace/services/client/ContactClient.java index 65e05f3f5..fd4804688 100644 --- a/services/contact/client/src/main/java/org/collectionspace/services/client/ContactClient.java +++ b/services/contact/client/src/main/java/org/collectionspace/services/client/ContactClient.java @@ -26,7 +26,7 @@ import org.collectionspace.services.contact.ContactsCommonList; * $LastChangedDate: $ */ -public class ContactClient extends AbstractPoxServiceClientImpl { +public class ContactClient extends AbstractPoxServiceClientImpl { 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; diff --git a/services/contact/client/src/main/java/org/collectionspace/services/client/ContactProxy.java b/services/contact/client/src/main/java/org/collectionspace/services/client/ContactProxy.java index e22cc345a..9879a6440 100644 --- a/services/contact/client/src/main/java/org/collectionspace/services/client/ContactProxy.java +++ b/services/contact/client/src/main/java/org/collectionspace/services/client/ContactProxy.java @@ -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 { @GET ClientResponse readList(); } diff --git a/services/dimension/client/src/main/java/org/collectionspace/services/client/DimensionClient.java b/services/dimension/client/src/main/java/org/collectionspace/services/client/DimensionClient.java index 7ad75a304..a5251b492 100644 --- a/services/dimension/client/src/main/java/org/collectionspace/services/client/DimensionClient.java +++ b/services/dimension/client/src/main/java/org/collectionspace/services/client/DimensionClient.java @@ -34,7 +34,7 @@ import org.jboss.resteasy.client.ClientResponse; * @version $Revision:$ */ -public class DimensionClient extends AbstractPoxServiceClientImpl { +public class DimensionClient extends AbstractPoxServiceClientImpl { 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 readList() { DimensionProxy proxy = (DimensionProxy)getProxy(); return proxy.readList(); - } + } + + public ClientResponse 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()); + } } diff --git a/services/dimension/client/src/main/java/org/collectionspace/services/client/DimensionProxy.java b/services/dimension/client/src/main/java/org/collectionspace/services/client/DimensionProxy.java index bfbe7abc2..63147349c 100644 --- a/services/dimension/client/src/main/java/org/collectionspace/services/client/DimensionProxy.java +++ b/services/dimension/client/src/main/java/org/collectionspace/services/client/DimensionProxy.java @@ -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 { @GET @Produces({"application/xml"}) ClientResponse readList(); + + @Override + @GET + @Produces({"application/xml"}) + ClientResponse readIncludeDeleted( + @QueryParam(WorkflowClient.WORKFLOW_QUERY_NONDELETED) String includeDeleted); } diff --git a/services/dimension/service/src/main/java/org/collectionspace/services/dimension/DimensionResource.java b/services/dimension/service/src/main/java/org/collectionspace/services/dimension/DimensionResource.java index 5b54df800..0b1e1d391 100644 --- a/services/dimension/service/src/main/java/org/collectionspace/services/dimension/DimensionResource.java +++ b/services/dimension/service/src/main/java/org/collectionspace/services/dimension/DimensionResource.java @@ -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; diff --git a/services/id/client/src/main/java/org/collectionspace/services/client/IdClient.java b/services/id/client/src/main/java/org/collectionspace/services/client/IdClient.java index b4726693f..e04809c85 100644 --- a/services/id/client/src/main/java/org/collectionspace/services/client/IdClient.java +++ b/services/id/client/src/main/java/org/collectionspace/services/client/IdClient.java @@ -7,7 +7,7 @@ import org.jboss.resteasy.client.ClientResponse; * @version $Revision:$ */ -public class IdClient extends AbstractServiceClientImpl { +public class IdClient extends AbstractServiceClientImpl { /* (non-Javadoc) * @see org.collectionspace.services.client.BaseServiceClient#getServicePathComponent() diff --git a/services/intake/client/src/main/java/org/collectionspace/services/client/IntakeClient.java b/services/intake/client/src/main/java/org/collectionspace/services/client/IntakeClient.java index 6e82d1a81..70d3b2199 100644 --- a/services/intake/client/src/main/java/org/collectionspace/services/client/IntakeClient.java +++ b/services/intake/client/src/main/java/org/collectionspace/services/client/IntakeClient.java @@ -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 { +public class IntakeClient extends AbstractPoxServiceClientImpl { 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; diff --git a/services/intake/client/src/main/java/org/collectionspace/services/client/IntakeProxy.java b/services/intake/client/src/main/java/org/collectionspace/services/client/IntakeProxy.java index a791a49d1..829205834 100644 --- a/services/intake/client/src/main/java/org/collectionspace/services/client/IntakeProxy.java +++ b/services/intake/client/src/main/java/org/collectionspace/services/client/IntakeProxy.java @@ -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 { /** * Read list. * diff --git a/services/loanin/client/src/main/java/org/collectionspace/services/client/LoaninClient.java b/services/loanin/client/src/main/java/org/collectionspace/services/client/LoaninClient.java index 595aba1c0..20a667d84 100644 --- a/services/loanin/client/src/main/java/org/collectionspace/services/client/LoaninClient.java +++ b/services/loanin/client/src/main/java/org/collectionspace/services/client/LoaninClient.java @@ -26,7 +26,7 @@ import org.collectionspace.services.jaxb.AbstractCommonList; * $LastChangedDate$ * */ -public class LoaninClient extends AbstractPoxServiceClientImpl { +public class LoaninClient extends AbstractPoxServiceClientImpl { public static final String SERVICE_NAME = "loansin"; public static final String SERVICE_PATH_COMPONENT = SERVICE_NAME; diff --git a/services/loanin/client/src/main/java/org/collectionspace/services/client/LoaninProxy.java b/services/loanin/client/src/main/java/org/collectionspace/services/client/LoaninProxy.java index e193ff5a1..00fb97df0 100644 --- a/services/loanin/client/src/main/java/org/collectionspace/services/client/LoaninProxy.java +++ b/services/loanin/client/src/main/java/org/collectionspace/services/client/LoaninProxy.java @@ -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 { // List @GET ClientResponse readList(); diff --git a/services/loanout/client/src/main/java/org/collectionspace/services/client/LoanoutClient.java b/services/loanout/client/src/main/java/org/collectionspace/services/client/LoanoutClient.java index 8501a4baa..6818e5ffc 100644 --- a/services/loanout/client/src/main/java/org/collectionspace/services/client/LoanoutClient.java +++ b/services/loanout/client/src/main/java/org/collectionspace/services/client/LoanoutClient.java @@ -25,7 +25,7 @@ import org.collectionspace.services.loanout.LoansoutCommonList; * $LastChangedRevision$ * $LastChangedDate$ */ -public class LoanoutClient extends AbstractPoxServiceClientImpl { +public class LoanoutClient extends AbstractPoxServiceClientImpl { 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; diff --git a/services/loanout/client/src/main/java/org/collectionspace/services/client/LoanoutProxy.java b/services/loanout/client/src/main/java/org/collectionspace/services/client/LoanoutProxy.java index f97805cab..9004c0d44 100644 --- a/services/loanout/client/src/main/java/org/collectionspace/services/client/LoanoutProxy.java +++ b/services/loanout/client/src/main/java/org/collectionspace/services/client/LoanoutProxy.java @@ -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 { // List @GET @Produces({"application/xml"}) diff --git a/services/location/client/src/main/java/org/collectionspace/services/client/LocationAuthorityClient.java b/services/location/client/src/main/java/org/collectionspace/services/client/LocationAuthorityClient.java index aa747e47f..a55767db8 100644 --- a/services/location/client/src/main/java/org/collectionspace/services/client/LocationAuthorityClient.java +++ b/services/location/client/src/main/java/org/collectionspace/services/client/LocationAuthorityClient.java @@ -45,7 +45,7 @@ import org.jboss.resteasy.spi.ResteasyProviderFactory; /** * The Class LocationAuthorityClient. */ -public class LocationAuthorityClient extends AuthorityClientImpl { +public class LocationAuthorityClient extends AuthorityClientImpl { 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; diff --git a/services/location/client/src/main/java/org/collectionspace/services/client/LocationAuthorityProxy.java b/services/location/client/src/main/java/org/collectionspace/services/client/LocationAuthorityProxy.java index 95abda7d1..2beea9c96 100644 --- a/services/location/client/src/main/java/org/collectionspace/services/client/LocationAuthorityProxy.java +++ b/services/location/client/src/main/java/org/collectionspace/services/client/LocationAuthorityProxy.java @@ -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 { +public interface LocationAuthorityProxy extends AuthorityProxy { // List Locationauthorities @GET diff --git a/services/media/client/src/main/java/org/collectionspace/services/client/MediaClient.java b/services/media/client/src/main/java/org/collectionspace/services/client/MediaClient.java index 4f18c5603..40460cbea 100644 --- a/services/media/client/src/main/java/org/collectionspace/services/client/MediaClient.java +++ b/services/media/client/src/main/java/org/collectionspace/services/client/MediaClient.java @@ -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 { +public class MediaClient extends AbstractPoxServiceClientImpl { 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; diff --git a/services/media/client/src/main/java/org/collectionspace/services/client/MediaProxy.java b/services/media/client/src/main/java/org/collectionspace/services/client/MediaProxy.java index 829bd5abf..405f4744c 100644 --- a/services/media/client/src/main/java/org/collectionspace/services/client/MediaProxy.java +++ b/services/media/client/src/main/java/org/collectionspace/services/client/MediaProxy.java @@ -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 { @POST @Path("/{csid}") diff --git a/services/movement/client/src/main/java/org/collectionspace/services/client/MovementClient.java b/services/movement/client/src/main/java/org/collectionspace/services/client/MovementClient.java index db71e9b6d..fe0a52ae4 100644 --- a/services/movement/client/src/main/java/org/collectionspace/services/client/MovementClient.java +++ b/services/movement/client/src/main/java/org/collectionspace/services/client/MovementClient.java @@ -27,7 +27,7 @@ import org.collectionspace.services.movement.MovementsCommonList; * $LastChangedDate$ * */ -public class MovementClient extends AbstractPoxServiceClientImpl { +public class MovementClient extends AbstractPoxServiceClientImpl { 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; diff --git a/services/movement/client/src/main/java/org/collectionspace/services/client/MovementProxy.java b/services/movement/client/src/main/java/org/collectionspace/services/client/MovementProxy.java index 8c576c6dc..cadf819df 100644 --- a/services/movement/client/src/main/java/org/collectionspace/services/client/MovementProxy.java +++ b/services/movement/client/src/main/java/org/collectionspace/services/client/MovementProxy.java @@ -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 { // List @GET diff --git a/services/note/client/src/main/java/org/collectionspace/services/client/NoteClient.java b/services/note/client/src/main/java/org/collectionspace/services/client/NoteClient.java index d356897a8..92d88fc56 100644 --- a/services/note/client/src/main/java/org/collectionspace/services/client/NoteClient.java +++ b/services/note/client/src/main/java/org/collectionspace/services/client/NoteClient.java @@ -33,7 +33,7 @@ import org.jboss.resteasy.spi.ResteasyProviderFactory; * $LastChangedDate: $ */ -public class NoteClient extends AbstractServiceClientImpl { +public class NoteClient extends AbstractServiceClientImpl { public static final String SERVICE_NAME = "notes"; public static final String SERVICE_PATH_COMPONENT = "notes"; diff --git a/services/objectexit/client/src/main/java/org/collectionspace/services/client/ObjectExitClient.java b/services/objectexit/client/src/main/java/org/collectionspace/services/client/ObjectExitClient.java index e1a76c6e1..01b947a00 100644 --- a/services/objectexit/client/src/main/java/org/collectionspace/services/client/ObjectExitClient.java +++ b/services/objectexit/client/src/main/java/org/collectionspace/services/client/ObjectExitClient.java @@ -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 { +public class ObjectExitClient extends AbstractPoxServiceClientImpl { 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; diff --git a/services/objectexit/client/src/main/java/org/collectionspace/services/client/ObjectExitProxy.java b/services/objectexit/client/src/main/java/org/collectionspace/services/client/ObjectExitProxy.java index 81f8d383a..4c1f362d8 100644 --- a/services/objectexit/client/src/main/java/org/collectionspace/services/client/ObjectExitProxy.java +++ b/services/objectexit/client/src/main/java/org/collectionspace/services/client/ObjectExitProxy.java @@ -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 { // List @GET ClientResponse readList(); diff --git a/services/organization/client/src/main/java/org/collectionspace/services/client/OrgAuthorityClient.java b/services/organization/client/src/main/java/org/collectionspace/services/client/OrgAuthorityClient.java index a64e1c9bb..21df2d941 100644 --- a/services/organization/client/src/main/java/org/collectionspace/services/client/OrgAuthorityClient.java +++ b/services/organization/client/src/main/java/org/collectionspace/services/client/OrgAuthorityClient.java @@ -33,7 +33,7 @@ import org.collectionspace.services.organization.OrganizationsCommonList; /** * The Class OrgAuthorityClient. */ -public class OrgAuthorityClient extends AuthorityWithContactsClientImpl { +public class OrgAuthorityClient extends AuthorityWithContactsClientImpl { 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; diff --git a/services/organization/client/src/main/java/org/collectionspace/services/client/OrgAuthorityProxy.java b/services/organization/client/src/main/java/org/collectionspace/services/client/OrgAuthorityProxy.java index 7a3c67d8a..6d892d1c0 100644 --- a/services/organization/client/src/main/java/org/collectionspace/services/client/OrgAuthorityProxy.java +++ b/services/organization/client/src/main/java/org/collectionspace/services/client/OrgAuthorityProxy.java @@ -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 { +public interface OrgAuthorityProxy extends AuthorityWithContactsProxy { // List OrgAuthorities @GET ClientResponse readList(); diff --git a/services/person/client/src/main/java/org/collectionspace/services/client/PersonAuthorityClient.java b/services/person/client/src/main/java/org/collectionspace/services/client/PersonAuthorityClient.java index 182d121b9..01cd11abe 100644 --- a/services/person/client/src/main/java/org/collectionspace/services/client/PersonAuthorityClient.java +++ b/services/person/client/src/main/java/org/collectionspace/services/client/PersonAuthorityClient.java @@ -36,7 +36,7 @@ import org.collectionspace.services.client.PersonAuthorityProxy; /** * The Class PersonAuthorityClient. */ -public class PersonAuthorityClient extends AuthorityWithContactsClientImpl { +public class PersonAuthorityClient extends AuthorityWithContactsClientImpl { 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; diff --git a/services/person/client/src/main/java/org/collectionspace/services/client/PersonAuthorityProxy.java b/services/person/client/src/main/java/org/collectionspace/services/client/PersonAuthorityProxy.java index a67aae6fb..1d6204197 100644 --- a/services/person/client/src/main/java/org/collectionspace/services/client/PersonAuthorityProxy.java +++ b/services/person/client/src/main/java/org/collectionspace/services/client/PersonAuthorityProxy.java @@ -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 { +public interface PersonAuthorityProxy extends AuthorityWithContactsProxy { // List Personauthorities @GET diff --git a/services/relation/client/src/main/java/org/collectionspace/services/client/RelationClient.java b/services/relation/client/src/main/java/org/collectionspace/services/client/RelationClient.java index d318e6448..351a60cc6 100644 --- a/services/relation/client/src/main/java/org/collectionspace/services/client/RelationClient.java +++ b/services/relation/client/src/main/java/org/collectionspace/services/client/RelationClient.java @@ -33,7 +33,7 @@ import org.collectionspace.services.relation.RelationsCommonList; /** * The Class RelationClient. */ -public class RelationClient extends AbstractPoxServiceClientImpl { +public class RelationClient extends AbstractPoxServiceClientImpl { 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; diff --git a/services/relation/client/src/main/java/org/collectionspace/services/client/RelationProxy.java b/services/relation/client/src/main/java/org/collectionspace/services/client/RelationProxy.java index e020a19c3..b2ef6b264 100644 --- a/services/relation/client/src/main/java/org/collectionspace/services/client/RelationProxy.java +++ b/services/relation/client/src/main/java/org/collectionspace/services/client/RelationProxy.java @@ -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 { @GET @Produces({"application/xml"}) diff --git a/services/report/client/src/main/java/org/collectionspace/services/client/ReportClient.java b/services/report/client/src/main/java/org/collectionspace/services/client/ReportClient.java index 3850603bc..ba6a512dd 100644 --- a/services/report/client/src/main/java/org/collectionspace/services/client/ReportClient.java +++ b/services/report/client/src/main/java/org/collectionspace/services/client/ReportClient.java @@ -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 { +public class ReportClient extends AbstractPoxServiceClientImpl { public static final String SERVICE_NAME = "reports"; public static final String SERVICE_PATH_COMPONENT = "reports"; diff --git a/services/report/client/src/main/java/org/collectionspace/services/client/ReportProxy.java b/services/report/client/src/main/java/org/collectionspace/services/client/ReportProxy.java index 66c3b6a65..074847edf 100644 --- a/services/report/client/src/main/java/org/collectionspace/services/client/ReportProxy.java +++ b/services/report/client/src/main/java/org/collectionspace/services/client/ReportProxy.java @@ -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 { /** * Read list. * diff --git a/services/vocabulary/client/src/main/java/org/collectionspace/services/client/VocabularyClient.java b/services/vocabulary/client/src/main/java/org/collectionspace/services/client/VocabularyClient.java index b86a75ac7..05fa3729b 100644 --- a/services/vocabulary/client/src/main/java/org/collectionspace/services/client/VocabularyClient.java +++ b/services/vocabulary/client/src/main/java/org/collectionspace/services/client/VocabularyClient.java @@ -35,7 +35,7 @@ import org.collectionspace.services.client.VocabularyProxy; /** * The Class VocabularyClient. */ -public class VocabularyClient extends AuthorityClientImpl { +public class VocabularyClient extends AuthorityClientImpl { 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; diff --git a/services/vocabulary/client/src/main/java/org/collectionspace/services/client/VocabularyProxy.java b/services/vocabulary/client/src/main/java/org/collectionspace/services/client/VocabularyProxy.java index 41f8aba6f..b8e210723 100644 --- a/services/vocabulary/client/src/main/java/org/collectionspace/services/client/VocabularyProxy.java +++ b/services/vocabulary/client/src/main/java/org/collectionspace/services/client/VocabularyProxy.java @@ -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 { +public interface VocabularyProxy extends AuthorityProxy { // List Vocabularies @GET @Produces({"application/xml"}) diff --git a/services/workflow/client/src/test/java/org/collectionspace/services/client/test/WorkflowServiceTest.java b/services/workflow/client/src/test/java/org/collectionspace/services/client/test/WorkflowServiceTest.java index 3582ae854..f1e7a91c3 100644 --- a/services/workflow/client/src/test/java/org/collectionspace/services/client/test/WorkflowServiceTest.java +++ b/services/workflow/client/src/test/java/org/collectionspace/services/client/test/WorkflowServiceTest.java @@ -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 res = client.readList(); + ClientResponse res = client.readIncludeDeleted(includeDeleted); DimensionsCommonList list = res.getEntity(); int statusCode = res.getStatus(); // @@ -342,7 +343,9 @@ public class WorkflowServiceTest extends AbstractServiceTestImpl { // List 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 diff --git a/services/workflow/service/src/main/java/org/collectionspace/services/workflow/WorkflowResource.java b/services/workflow/service/src/main/java/org/collectionspace/services/workflow/WorkflowResource.java index 0e27cceb3..df6a9bf8b 100644 --- a/services/workflow/service/src/main/java/org/collectionspace/services/workflow/WorkflowResource.java +++ b/services/workflow/service/src/main/java/org/collectionspace/services/workflow/WorkflowResource.java @@ -24,13 +24,10 @@ 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;