1 package org.collectionspace.services.common.vocabulary.nuxeo;
3 import javax.ws.rs.core.Response;
5 import org.collectionspace.services.client.AuthorityClient;
6 import org.collectionspace.services.client.PoxPayloadIn;
7 import org.collectionspace.services.common.context.MultipartServiceContextImpl;
8 import org.collectionspace.services.common.context.ServiceContext;
9 import org.collectionspace.services.common.vocabulary.RefNameServiceUtils.AuthorityItemSpecifier;
10 import org.slf4j.Logger;
11 import org.slf4j.LoggerFactory;
13 public class AuthorityServiceUtils {
14 private static final Logger logger = LoggerFactory.getLogger(AuthorityIdentifierUtils.class);
16 public static final String SHOULD_UPDATE_REV_PROPERTY = "SHOULD_UPDATE_REV_PROPERTY";
17 public static final boolean DONT_UPDATE_REV = false;
18 public static final boolean UPDATE_REV = true;
20 static public PoxPayloadIn getPayloadIn(AuthorityItemSpecifier specifier, String serviceName, Class responseType) throws Exception {
21 PoxPayloadIn result = null;
23 ServiceContext parentCtx = new MultipartServiceContextImpl(serviceName);
24 AuthorityClient client = (AuthorityClient) parentCtx.getClient();
25 Response res = client.readItem(specifier.getParentSpecifier().value, specifier.getItemSpecifier().value);
27 int statusCode = res.getStatus();
29 // Check the status code of the response: does it match
30 // the expected response(s)?
31 if (logger.isDebugEnabled()) {
32 logger.debug(client.getClass().getCanonicalName() + ": status = " + statusCode);
35 result = new PoxPayloadIn((String)res.readEntity(responseType)); // Get the entire response!