]> git.aero2k.de Git - tmp/jakarta-migration.git/blob
7b0f54eabdb3096558cbf8b2ddbf97d4c9c451a1
[tmp/jakarta-migration.git] /
1 package org.collectionspace.hello.client.test;
2
3 import org.collectionspace.hello.client.DomainIdentifierClient;
4 import java.util.ArrayList;
5 import javax.ws.rs.core.MultivaluedMap;
6 import javax.ws.rs.core.Response;
7 import javax.xml.bind.JAXBContext;
8 import javax.xml.bind.Marshaller;
9 import org.collectionspace.hello.DomainIdentifier;
10 import org.jboss.resteasy.client.ClientResponse;
11 import org.testng.Assert;
12 import org.testng.annotations.Test;
13
14 /**
15  * A DomainIdentifierServiceTest.
16  * 
17  * @version $Revision:$
18  */
19 public class DomainIdentifierServiceTest {
20
21     private DomainIdentifierClient identifierClient = DomainIdentifierClient.getInstance();
22     private String id = null;
23
24     @Test
25     public void createIdentifier() {
26         DomainIdentifier identifier = new DomainIdentifier();
27         identifier.setDsid("org.bnhm");
28         ClientResponse<Response> res = identifierClient.createIdentifier(identifier);
29         Assert.assertEquals(res.getStatus(), Response.Status.CREATED.getStatusCode());
30         id = extractId(res);
31     }
32
33     @Test(dependsOnMethods = {"createIdentifier"})
34     public void getIdentifier() {
35         DomainIdentifier i = identifierClient.getIdentifier(id).getEntity();
36         verbose("got DomainIdentifier", i);
37     }
38
39     private String extractId(ClientResponse<Response> res) {
40         MultivaluedMap mvm = res.getMetadata();
41         String uri = (String) ((ArrayList) mvm.get("Location")).get(0);
42         String[] segments = uri.split("/");
43         verbose("id=" + segments[segments.length - 1]);
44         return segments[segments.length - 1];
45     }
46
47     private void verbose(String msg) {
48         System.out.println("DomainIdentifierServiceTest : " + msg);
49     }
50
51     private void verbose(String msg, DomainIdentifier p) {
52         try {
53             verbose(msg);
54             JAXBContext jc = JAXBContext.newInstance(DomainIdentifier.class);
55             Marshaller m = jc.createMarshaller();
56             m.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT,
57                     Boolean.TRUE);
58             m.marshal(p, System.out);
59         //m.marshal(new JAXBElement(new QName("uri", "local"), DomainIdentifier.class, p), System.out);
60         } catch (Exception e) {
61             e.printStackTrace();
62         }
63     }
64 }