]> git.aero2k.de Git - tmp/jakarta-migration.git/blob
54d1e7136e18661b0641e407f09b2db348d06272
[tmp/jakarta-migration.git] /
1 package org.collectionspace.services.client.test;\r
2 \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
10 \r
11 import org.jboss.resteasy.client.ClientResponse;\r
12 import org.testng.Assert;\r
13 \r
14 /*\r
15  * <CLT> - Common list type\r
16  * <CPT> - Common part type\r
17  */\r
18 public abstract class AbstractPoxServiceTestImpl<CLT extends AbstractCommonList, CPT>\r
19                 extends AbstractServiceTestImpl<CLT, CPT, PoxPayloadOut, String> {\r
20                 \r
21         @Override\r
22         public CPT extractCommonPartValue(ClientResponse<String> res) throws Exception {\r
23                 CPT result = null;\r
24                 \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
29                 }\r
30                 Assert.assertNotNull(result,\r
31                                 "Part or body of part " + client.getCommonPartName() + " was unexpectedly null.");\r
32                 \r
33                 return result;\r
34         }\r
35         \r
36     protected void printList(String testName, CLT list) {\r
37         if (getLogger().isTraceEnabled()){\r
38                 AbstractCommonListUtils.ListItemsInAbstractCommonList(list, getLogger(), testName);\r
39         }\r
40     }\r
41         \r
42         @Override\r
43     public CPT extractCommonPartValue(PoxPayloadOut payloadOut) throws Exception {\r
44         CPT result = null;\r
45         \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
50         }\r
51         Assert.assertNotNull(result,\r
52                 "Part or body of part " + client.getCommonPartName() + " was unexpectedly null.");\r
53         \r
54         return result;\r
55     }   \r
56         \r
57         @Override\r
58         public PoxPayloadOut createRequestTypeInstance(CPT commonPartTypeInstance) {\r
59                 PoxPayloadOut result = null;\r
60                 \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
65                 \r
66                 return result;\r
67         }\r
68     \r
69     protected PayloadInputPart extractPart(ClientResponse<String> res, String partLabel)\r
70             throws Exception {\r
71             if (getLogger().isDebugEnabled()) {\r
72                 getLogger().debug("Reading part " + partLabel + " ...");\r
73             }\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
79     }\r
80 }\r