Search in sources :

Example 6 with TagVO2

use of org.apache.cxf.jaxrs.resources.TagVO2 in project cxf by apache.

the class JAXBElementProviderTest method testWriteCollectionWithCustomPrefixes.

@Test
public void testWriteCollectionWithCustomPrefixes() throws Exception {
    JAXBElementProvider<List<TagVO2>> provider = new JAXBElementProvider<List<TagVO2>>();
    provider.setNamespacePrefixes(Collections.singletonMap("http://tags", "prefix"));
    TagVO2 tag = new TagVO2("a", "b");
    List<TagVO2> tags = Collections.singletonList(tag);
    ByteArrayOutputStream bos = new ByteArrayOutputStream();
    provider.writeTo(tags, List.class, new ParameterizedCollectionType(TagVO2.class), new Annotation[0], MediaType.TEXT_XML_TYPE, new MetadataMap<String, Object>(), bos);
    assertTrue(bos.toString().contains("prefix:thetag"));
    assertFalse(bos.toString().contains("ns1:thetag"));
}
Also used : TagVO2(org.apache.cxf.jaxrs.resources.TagVO2) List(java.util.List) ArrayList(java.util.ArrayList) ParameterizedCollectionType(org.apache.cxf.jaxrs.utils.ParameterizedCollectionType) ByteArrayOutputStream(java.io.ByteArrayOutputStream) Test(org.junit.Test)

Example 7 with TagVO2

use of org.apache.cxf.jaxrs.resources.TagVO2 in project cxf by apache.

the class JAXBElementProviderTest method testWriteWithCustomPrefixes.

@Test
public void testWriteWithCustomPrefixes() throws Exception {
    JAXBElementProvider<TagVO2> provider = new JAXBElementProvider<TagVO2>();
    provider.setNamespacePrefixes(Collections.singletonMap("http://tags", "prefix"));
    TagVO2 tag = new TagVO2("a", "b");
    ByteArrayOutputStream bos = new ByteArrayOutputStream();
    provider.writeTo(tag, TagVO2.class, TagVO2.class, new Annotation[0], MediaType.TEXT_XML_TYPE, new MetadataMap<String, Object>(), bos);
    assertTrue(bos.toString().contains("prefix:thetag"));
}
Also used : TagVO2(org.apache.cxf.jaxrs.resources.TagVO2) ByteArrayOutputStream(java.io.ByteArrayOutputStream) Test(org.junit.Test)

Example 8 with TagVO2

use of org.apache.cxf.jaxrs.resources.TagVO2 in project cxf by apache.

the class JAXBElementProviderTest method testOutElementsMapLocalNsToLocalWildcard2.

@Test
public void testOutElementsMapLocalNsToLocalWildcard2() throws Exception {
    JAXBElementProvider<TagVO2Holder> provider = new JAXBElementProvider<TagVO2Holder>();
    Map<String, String> prefixes = new HashMap<>();
    prefixes.put("http://tags", "ns2");
    provider.setNamespacePrefixes(prefixes);
    Map<String, String> map = new HashMap<>();
    map.put("{http://tags}*", "{http://tags2}*");
    provider.setOutTransformElements(map);
    TagVO2 tag = new TagVO2("A", "B");
    TagVO2Holder holder = new TagVO2Holder();
    holder.setTag(tag);
    ByteArrayOutputStream bos = new ByteArrayOutputStream();
    provider.writeTo(holder, TagVO2Holder.class, TagVO2Holder.class, new Annotation[0], MediaType.TEXT_XML_TYPE, new MetadataMap<String, Object>(), bos);
    String expected = "<?xml version='1.0' encoding='UTF-8'?>" + "<ns2:tagholder xmlns:ns2=\"http://tags2\" attr=\"attribute\"><ns2:thetag><group>B</group>" + "<name>A</name></ns2:thetag></ns2:tagholder>";
    assertEquals(expected, bos.toString());
}
Also used : TagVO2(org.apache.cxf.jaxrs.resources.TagVO2) HashMap(java.util.HashMap) LinkedHashMap(java.util.LinkedHashMap) ByteArrayOutputStream(java.io.ByteArrayOutputStream) Test(org.junit.Test)

Example 9 with TagVO2

use of org.apache.cxf.jaxrs.resources.TagVO2 in project cxf by apache.

the class JAXBElementProviderTest method testInNsElementsFromLocalsWildcard.

@Test
public void testInNsElementsFromLocalsWildcard() throws Exception {
    String data = "<?xml version='1.0' encoding='UTF-8'?>" + "<tagholder><thetag><group>B</group><name>A</name></thetag></tagholder>";
    JAXBElementProvider<TagVO2Holder> provider = new JAXBElementProvider<TagVO2Holder>();
    Map<String, String> map = new LinkedHashMap<String, String>();
    map.put("group", "group");
    map.put("name", "name");
    map.put("*", "{http://tags}*");
    provider.setInTransformElements(map);
    ByteArrayInputStream is = new ByteArrayInputStream(data.getBytes());
    Object o = provider.readFrom(TagVO2Holder.class, TagVO2Holder.class, new Annotation[0], MediaType.TEXT_XML_TYPE, new MetadataMap<String, String>(), is);
    TagVO2Holder holder = (TagVO2Holder) o;
    TagVO2 tag2 = holder.getTagValue();
    assertEquals("A", tag2.getName());
    assertEquals("B", tag2.getGroup());
}
Also used : TagVO2(org.apache.cxf.jaxrs.resources.TagVO2) ByteArrayInputStream(java.io.ByteArrayInputStream) LinkedHashMap(java.util.LinkedHashMap) Test(org.junit.Test)

Example 10 with TagVO2

use of org.apache.cxf.jaxrs.resources.TagVO2 in project cxf by apache.

the class JSONProviderTest method testOutElementsMapLocalNsToLocalNs.

@Test
public void testOutElementsMapLocalNsToLocalNs() throws Exception {
    JSONProvider<TagVO2> provider = new JSONProvider<TagVO2>();
    Map<String, String> namespaceMap = new HashMap<>();
    namespaceMap.put("http://tags", "ns2");
    provider.setNamespaceMap(namespaceMap);
    Map<String, String> map = new HashMap<>();
    map.put("{http://tags}thetag", "{http://tagsvo2}t");
    provider.setOutTransformElements(map);
    TagVO2 tag = new TagVO2("A", "B");
    ByteArrayOutputStream bos = new ByteArrayOutputStream();
    provider.writeTo(tag, TagVO2.class, TagVO2.class, new Annotation[0], MediaType.TEXT_XML_TYPE, new MetadataMap<String, Object>(), bos);
    String expected = "{\"ns2.t\":{\"group\":\"B\",\"name\":\"A\"}}";
    assertEquals(expected, bos.toString());
}
Also used : TagVO2(org.apache.cxf.jaxrs.resources.TagVO2) HashMap(java.util.HashMap) ByteArrayOutputStream(java.io.ByteArrayOutputStream) Test(org.junit.Test)

Aggregations

TagVO2 (org.apache.cxf.jaxrs.resources.TagVO2)38 Test (org.junit.Test)31 ByteArrayOutputStream (java.io.ByteArrayOutputStream)28 HashMap (java.util.HashMap)27 LinkedHashMap (java.util.LinkedHashMap)13 ByteArrayInputStream (java.io.ByteArrayInputStream)10 ArrayList (java.util.ArrayList)9 List (java.util.List)7 Method (java.lang.reflect.Method)4 LinkedList (java.util.LinkedList)3 ParameterizedType (java.lang.reflect.ParameterizedType)2 Type (java.lang.reflect.Type)2 MediaType (javax.ws.rs.core.MediaType)2 XmlType (javax.xml.bind.annotation.XmlType)2 CollectionsResource (org.apache.cxf.jaxrs.resources.CollectionsResource)2 ParameterizedCollectionType (org.apache.cxf.jaxrs.utils.ParameterizedCollectionType)2 OutputStream (java.io.OutputStream)1 XmlAccessType (javax.xml.bind.annotation.XmlAccessType)1 XmlAccessorType (javax.xml.bind.annotation.XmlAccessorType)1 XMLStreamWriter (javax.xml.stream.XMLStreamWriter)1