1 package org.collectionspace.services.client.test;
\r
3 import org.collectionspace.services.client.CollectionSpaceClient;
\r
4 import org.collectionspace.services.client.PayloadInputPart;
\r
5 import org.collectionspace.services.client.PayloadOutputPart;
\r
6 import org.collectionspace.services.client.PoxPayloadIn;
\r
7 import org.collectionspace.services.client.PoxPayloadOut;
\r
8 import org.collectionspace.services.client.AbstractCommonListUtils;
\r
9 import org.collectionspace.services.jaxb.AbstractCommonList;
\r
11 import org.jboss.resteasy.client.ClientResponse;
\r
12 import org.testng.Assert;
\r
15 * <CLT> - Common list type
\r
16 * <CPT> - Common part type
\r
18 public abstract class AbstractPoxServiceTestImpl<CLT extends AbstractCommonList, CPT>
\r
19 extends AbstractServiceTestImpl<CLT, CPT, PoxPayloadOut, String> {
\r
22 public CPT extractCommonPartValue(ClientResponse<String> res) throws Exception {
\r
25 CollectionSpaceClient client = getClientInstance();
\r
26 PayloadInputPart payloadInputPart = extractPart(res, client.getCommonPartName());
\r
27 if (payloadInputPart != null) {
\r
28 result = (CPT) payloadInputPart.getBody();
\r
30 Assert.assertNotNull(result,
\r
31 "Part or body of part " + client.getCommonPartName() + " was unexpectedly null.");
\r
36 protected void printList(String testName, CLT list) {
\r
37 if (getLogger().isTraceEnabled()){
\r
38 AbstractCommonListUtils.ListItemsInAbstractCommonList(list, getLogger(), testName);
\r
43 public CPT extractCommonPartValue(PoxPayloadOut payloadOut) throws Exception {
\r
46 CollectionSpaceClient client = getClientInstance();
\r
47 PayloadOutputPart payloadOutputPart = payloadOut.getPart(client.getCommonPartName());
\r
48 if (payloadOutputPart != null) {
\r
49 result = (CPT) payloadOutputPart.getBody();
\r
51 Assert.assertNotNull(result,
\r
52 "Part or body of part " + client.getCommonPartName() + " was unexpectedly null.");
\r
58 public PoxPayloadOut createRequestTypeInstance(CPT commonPartTypeInstance) {
\r
59 PoxPayloadOut result = null;
\r
61 CollectionSpaceClient client = this.getClientInstance();
\r
62 PoxPayloadOut payloadOut = new PoxPayloadOut(this.getServicePathComponent());
\r
63 PayloadOutputPart part = payloadOut.addPart(client.getCommonPartName(), commonPartTypeInstance);
\r
64 result = payloadOut;
\r
69 protected PayloadInputPart extractPart(ClientResponse<String> res, String partLabel)
\r
71 if (getLogger().isDebugEnabled()) {
\r
72 getLogger().debug("Reading part " + partLabel + " ...");
\r
74 PoxPayloadIn input = new PoxPayloadIn(res.getEntity());
\r
75 PayloadInputPart payloadInputPart = input.getPart(partLabel);
\r
76 Assert.assertNotNull(payloadInputPart,
\r
77 "Part " + partLabel + " was unexpectedly null.");
\r
78 return payloadInputPart;
\r