Repository: cxf
Updated Branches:
  refs/heads/3.0.x-fixes 9bf166b3c -> b0c0a1d0c


[CXF-6971] Updating Jettison version to 1.3.8


Project: http://git-wip-us.apache.org/repos/asf/cxf/repo
Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/b0c0a1d0
Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/b0c0a1d0
Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/b0c0a1d0

Branch: refs/heads/3.0.x-fixes
Commit: b0c0a1d0c39ef8531d543be41978476c045c2051
Parents: 9bf166b
Author: Sergey Beryozkin <[email protected]>
Authored: Mon Jul 18 21:34:46 2016 +0300
Committer: Sergey Beryozkin <[email protected]>
Committed: Mon Jul 18 21:48:10 2016 +0300

----------------------------------------------------------------------
 parent/pom.xml                                  |  2 +-
 .../jaxrs/provider/json/JSONProviderTest.java   | 47 ++++++++++++++++++++
 .../org/apache/cxf/jaxrs/resources/TagVO.java   | 12 ++++-
 3 files changed, 59 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cxf/blob/b0c0a1d0/parent/pom.xml
----------------------------------------------------------------------
diff --git a/parent/pom.xml b/parent/pom.xml
index 680fd13..1084817 100644
--- a/parent/pom.xml
+++ b/parent/pom.xml
@@ -126,7 +126,7 @@
         <cxf.jaxb.xjc.version>${cxf.jaxb21.xjc.version}</cxf.jaxb.xjc.version>
         <cxf.joda.time.version>2.2</cxf.joda.time.version>
         <cxf.jdom.version>1.0</cxf.jdom.version>
-        <cxf.jettison.version>1.3.7</cxf.jettison.version>
+        <cxf.jettison.version>1.3.8</cxf.jettison.version>
         <cxf.jetty.version>8.1.19.v20160209</cxf.jetty.version>
         <cxf.jetty.osgi.version>[7.6,8.2)</cxf.jetty.osgi.version>
         <cxf.jibx.version>1.2.6</cxf.jibx.version>

http://git-wip-us.apache.org/repos/asf/cxf/blob/b0c0a1d0/rt/rs/extensions/providers/src/test/java/org/apache/cxf/jaxrs/provider/json/JSONProviderTest.java
----------------------------------------------------------------------
diff --git 
a/rt/rs/extensions/providers/src/test/java/org/apache/cxf/jaxrs/provider/json/JSONProviderTest.java
 
b/rt/rs/extensions/providers/src/test/java/org/apache/cxf/jaxrs/provider/json/JSONProviderTest.java
index b1217e5..2021e99 100644
--- 
a/rt/rs/extensions/providers/src/test/java/org/apache/cxf/jaxrs/provider/json/JSONProviderTest.java
+++ 
b/rt/rs/extensions/providers/src/test/java/org/apache/cxf/jaxrs/provider/json/JSONProviderTest.java
@@ -77,6 +77,7 @@ import org.apache.cxf.jaxrs.resources.jaxb.Book2;
 import org.apache.cxf.jaxrs.resources.jaxb.Book2NoRootElement;
 import org.apache.cxf.staxutils.DelegatingXMLStreamWriter;
 import org.apache.cxf.staxutils.StaxUtils;
+import org.apache.cxf.staxutils.transform.TransformUtils;
 
 import org.junit.Assert;
 import org.junit.Test;
@@ -1338,6 +1339,52 @@ public class JSONProviderTest extends Assert {
     }
     
     @Test
+    public void testAttributesAsElementsWithTransform() throws Exception {
+        JSONProvider<TagVO2Holder> provider = new JSONProvider<TagVO2Holder>() 
{
+            protected XMLStreamWriter 
createTransformWriterIfNeeded(XMLStreamWriter writer,
+                                                                    
OutputStream os,
+                                                                    boolean 
dropAtXmlLevel) {
+                return TransformUtils.createTransformWriterIfNeeded(writer, 
os, 
+                                                                    
Collections.<String, String>emptyMap(),
+                                                                    null,
+                                                                    
Collections.<String, String>emptyMap(),
+                                                                    true,
+                                                                    null);
+            }    
+        };
+        provider.setIgnoreNamespaces(true);
+        TagVO2 tag = new TagVO2("A", "B");
+        tag.setAttrInt(123);
+        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 = 
+            
"{\"tagholder\":{\"attr\":\"attribute\",\"thetag\":{\"attrInt\":123,\"group\":\"B\",\"name\":\"A\"}}}";
+        assertEquals(expected, bos.toString());
+    }
+    
+    @Test
+    public void testAttributesAsElementsWithInteger() throws Exception {
+        JSONProvider<TagVO2Holder> provider = new JSONProvider<TagVO2Holder>();
+        provider.setAttributesToElements(true);
+        provider.setIgnoreNamespaces(true);
+        TagVO2 tag = new TagVO2("A", "B");
+        tag.setAttrInt(123);
+        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 = 
+            
"{\"tagholder\":{\"attr\":\"attribute\",\"thetag\":{\"attrInt\":123,\"group\":\"B\",\"name\":\"A\"}}}";
+        assertEquals(expected, bos.toString());
+    }
+    
+    @Test
     public void testOutAttributesAsElementsForList() throws Exception {
 
         //Provider

http://git-wip-us.apache.org/repos/asf/cxf/blob/b0c0a1d0/rt/rs/extensions/providers/src/test/java/org/apache/cxf/jaxrs/resources/TagVO.java
----------------------------------------------------------------------
diff --git 
a/rt/rs/extensions/providers/src/test/java/org/apache/cxf/jaxrs/resources/TagVO.java
 
b/rt/rs/extensions/providers/src/test/java/org/apache/cxf/jaxrs/resources/TagVO.java
index 6d9c081..3b6320d 100644
--- 
a/rt/rs/extensions/providers/src/test/java/org/apache/cxf/jaxrs/resources/TagVO.java
+++ 
b/rt/rs/extensions/providers/src/test/java/org/apache/cxf/jaxrs/resources/TagVO.java
@@ -19,12 +19,14 @@
 
 package org.apache.cxf.jaxrs.resources;
 
+import javax.xml.bind.annotation.XmlAttribute;
 import javax.xml.bind.annotation.XmlRootElement;
 
 @XmlRootElement
 public class TagVO {
     private String name;
     private String group;
+    private Integer attrInt;
     
     public TagVO() { 
         
@@ -50,5 +52,13 @@ public class TagVO {
     public String getGroup() {
         return group;
     }
-    
+ 
+    @XmlAttribute
+    public Integer getAttrInt() {
+        return attrInt;
+    }
+
+    public void setAttrInt(Integer attrInt) {
+        this.attrInt = attrInt;
+    }   
 }

Reply via email to