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 static public PoxPayloadIn getPayloadIn(AuthorityItemSpecifier specifier, String serviceName, Class responseType) throws Exception {
17 PoxPayloadIn result = null;
19 ServiceContext parentCtx = new MultipartServiceContextImpl(serviceName);
20 AuthorityClient client = (AuthorityClient) parentCtx.getClient();
21 Response res = client.readItem(specifier.getParentSpecifier().value, specifier.getItemSpecifier().value);
23 int statusCode = res.getStatus();
25 // Check the status code of the response: does it match
26 // the expected response(s)?
27 if (logger.isDebugEnabled()) {
28 logger.debug(client.getClass().getCanonicalName() + ": status = " + statusCode);
31 result = new PoxPayloadIn((String)res.readEntity(responseType)); // Get the entire response!