1
2
3
4
5
6
7 package org.mule.transformers.jaxb;
8
9 import org.custommonkey.xmlunit.XMLUnit;
10 import org.mule.api.transformer.Transformer;
11 import org.mule.jaxb.model.EmailAddress;
12 import org.mule.jaxb.model.Person;
13 import org.mule.module.xml.transformer.jaxb.JAXBMarshallerTransformer;
14 import org.mule.module.xml.transformer.jaxb.JAXBUnmarshallerTransformer;
15 import org.mule.module.xml.util.XMLUtils;
16 import org.mule.transformer.AbstractTransformerTestCase;
17 import org.mule.transformer.types.DataTypeFactory;
18 import org.w3c.dom.Document;
19
20 import javax.xml.bind.JAXBContext;
21 import java.util.ArrayList;
22 import java.util.List;
23
24 public class JaxbRoundtripNonRootElementTestCase extends JaxbRoundtripTestCase
25 {
26
27 @Override
28 public Transformer getTransformer() throws Exception
29 {
30 JAXBUnmarshallerTransformer t = new JAXBUnmarshallerTransformer(ctx, DataTypeFactory.create(String.class));
31 initialiseObject(t);
32 return t;
33 }
34
35 @Override
36 public Transformer getRoundTripTransformer() throws Exception
37 {
38
39 return null;
40 }
41
42 @Override
43 public Object getTestData()
44 {
45 try
46 {
47 Document doc = XMLUtils.toW3cDocument(super.getTestData());
48 return doc.getDocumentElement().getFirstChild();
49 }
50 catch (Exception e)
51 {
52 throw new RuntimeException(e);
53 }
54 }
55
56 @Override
57 public Object getResultData()
58 {
59 return ((Person)super.getResultData()).getName();
60 }
61 }