You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by se...@apache.org on 2009/08/20 14:30:37 UTC

svn commit: r806142 - in /cxf/branches/2.2.x-fixes: ./ rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/ rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/provider/

Author: sergeyb
Date: Thu Aug 20 12:30:36 2009
New Revision: 806142

URL: http://svn.apache.org/viewvc?rev=806142&view=rev
Log:
Merged revisions 803056 via svnmerge from 
https://svn.apache.org/repos/asf/cxf/trunk

........
  r803056 | sergeyb | 2009-08-11 11:23:15 +0100 (Tue, 11 Aug 2009) | 1 line
  
  JAXRS : adding DataBindingJSONProvider
........

Added:
    cxf/branches/2.2.x-fixes/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/DataBindingJSONProvider.java
      - copied unchanged from r803056, cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/DataBindingJSONProvider.java
    cxf/branches/2.2.x-fixes/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/JSONUtils.java
      - copied unchanged from r803056, cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/JSONUtils.java
    cxf/branches/2.2.x-fixes/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/provider/DataBindingJSONProviderTest.java
      - copied, changed from r803056, cxf/trunk/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/provider/DataBindingJSONProviderTest.java
Modified:
    cxf/branches/2.2.x-fixes/   (props changed)
    cxf/branches/2.2.x-fixes/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/AbstractJAXBProvider.java
    cxf/branches/2.2.x-fixes/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/AegisJSONProvider.java
    cxf/branches/2.2.x-fixes/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/DataBindingProvider.java
    cxf/branches/2.2.x-fixes/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/JSONProvider.java
    cxf/branches/2.2.x-fixes/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/provider/AegisJSONProviderTest.java

Propchange: cxf/branches/2.2.x-fixes/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu Aug 20 12:30:36 2009
@@ -1 +1 @@
-/cxf/trunk:782728-782730,783097,783294,783396,784059,784181-784184,784893,784895,785279-785282,785468,785621,785624,785651,785734,785866,786142,786271-786272,786395,786512,786514,786582-786583,786638,786647,786850,787200,787269,787277-787279,787290-787291,787305,787323,787366,787849,788030,788060,788187,788444,788451,788703,788752,788774,788819-788820,789013,789371,789387,789420,789527-789530,789704-789705,789788,789811,789896-789901,790074,790094,790134,790188,790294,790553,790637-790644,790868,791301,791354,791538,791753,791947,792007,792096,792183,792261-792265,792271,792604,792683-792685,792975,792985,793059,793570,794297,794396,794680,794728,794771,794778-794780,794892,795044,795104,795160,795583,795907,796022-796023,796352,796593,796741,796780,796994-796997,797117,797159,797192,797194,797231-797233,797442,797505,797517,797534,797581-797583,797587,797640,797651,797699,797882-797883,798344-798346,798363,798461,798479,798533,798551,798557,798561-798562,798570,798573,79858
 4,798654,798748-798749,798816,798891,798929-798930,799245,799267,799439,799448,799637,799723-799724,799792,800453,800497-800498,801380-801381,801447,801962,802892,803129,803460,803493,803689,804002,804276,805784,805907,805909
+/cxf/trunk:782728-782730,783097,783294,783396,784059,784181-784184,784893,784895,785279-785282,785468,785621,785624,785651,785734,785866,786142,786271-786272,786395,786512,786514,786582-786583,786638,786647,786850,787200,787269,787277-787279,787290-787291,787305,787323,787366,787849,788030,788060,788187,788444,788451,788703,788752,788774,788819-788820,789013,789371,789387,789420,789527-789530,789704-789705,789788,789811,789896-789901,790074,790094,790134,790188,790294,790553,790637-790644,790868,791301,791354,791538,791753,791947,792007,792096,792183,792261-792265,792271,792604,792683-792685,792975,792985,793059,793570,794297,794396,794680,794728,794771,794778-794780,794892,795044,795104,795160,795583,795907,796022-796023,796352,796593,796741,796780,796994-796997,797117,797159,797192,797194,797231-797233,797442,797505,797517,797534,797581-797583,797587,797640,797651,797699,797882-797883,798344-798346,798363,798461,798479,798533,798551,798557,798561-798562,798570,798573,79858
 4,798654,798748-798749,798816,798891,798929-798930,799245,799267,799439,799448,799637,799723-799724,799792,800453,800497-800498,801380-801381,801447,801962,802892,803056,803129,803460,803493,803689,804002,804276,805784,805907,805909

Propchange: cxf/branches/2.2.x-fixes/
------------------------------------------------------------------------------
Binary property 'svnmerge-integrated' - no diff available.

Modified: cxf/branches/2.2.x-fixes/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/AbstractJAXBProvider.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.2.x-fixes/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/AbstractJAXBProvider.java?rev=806142&r1=806141&r2=806142&view=diff
==============================================================================
--- cxf/branches/2.2.x-fixes/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/AbstractJAXBProvider.java (original)
+++ cxf/branches/2.2.x-fixes/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/AbstractJAXBProvider.java Thu Aug 20 12:30:36 2009
@@ -143,7 +143,7 @@
             }
         }
         
-        return isSupported(type, genericType, anns);
+        return unmarshalAsJaxbElement || isSupported(type, genericType, anns);
     }
     
     protected JAXBContext getCollectionContext(Class<?> type) throws JAXBException {
@@ -329,6 +329,9 @@
     }
     
     protected boolean isSupported(Class<?> type, Type genericType, Annotation[] anns) {
+        if (jaxbElementClassMap != null && jaxbElementClassMap.containsKey(type.getName())) {
+            return true;
+        }
         return type.getAnnotation(XmlRootElement.class) != null
             || JAXBElement.class.isAssignableFrom(type)
             || objectFactoryForClass(type)

Modified: cxf/branches/2.2.x-fixes/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/AegisJSONProvider.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.2.x-fixes/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/AegisJSONProvider.java?rev=806142&r1=806141&r2=806142&view=diff
==============================================================================
--- cxf/branches/2.2.x-fixes/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/AegisJSONProvider.java (original)
+++ cxf/branches/2.2.x-fixes/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/AegisJSONProvider.java Thu Aug 20 12:30:36 2009
@@ -22,11 +22,8 @@
 
 import java.io.InputStream;
 import java.io.OutputStream;
-import java.io.OutputStreamWriter;
 import java.lang.annotation.Annotation;
 import java.lang.reflect.Type;
-import java.util.Collections;
-import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
 import java.util.concurrent.ConcurrentHashMap;
@@ -35,18 +32,11 @@
 import javax.ws.rs.Produces;
 import javax.ws.rs.core.MediaType;
 import javax.ws.rs.ext.Provider;
-import javax.xml.namespace.NamespaceContext;
 import javax.xml.namespace.QName;
 import javax.xml.stream.XMLStreamReader;
 import javax.xml.stream.XMLStreamWriter;
 
 import org.apache.cxf.jaxrs.utils.JAXRSUtils;
-import org.apache.cxf.staxutils.DepthXMLStreamReader;
-import org.codehaus.jettison.AbstractXMLStreamWriter;
-import org.codehaus.jettison.mapped.Configuration;
-import org.codehaus.jettison.mapped.MappedNamespaceConvention;
-import org.codehaus.jettison.mapped.MappedXMLInputFactory;
-import org.codehaus.jettison.mapped.MappedXMLStreamWriter;
 
 @Provider
 @Produces({"application/json" })
@@ -70,7 +60,7 @@
     
     @Override
     public boolean isReadable(Class<?> type, Type genericType, Annotation[] annotations, MediaType mt) {
-        return false;
+        return true;
     }
     
     public void setNamespaceMap(Map<String, String> nsMap) {
@@ -80,35 +70,14 @@
     @Override
     protected XMLStreamWriter createStreamWriter(Class<?> type, OutputStream os) throws Exception {
         QName qname = getQName(type);
-        if (writeXsiType) {
-            namespaceMap.putIfAbsent("http://www.w3.org/2001/XMLSchema-instance", "xsins");
-        }
-        Configuration c = new Configuration(namespaceMap);
-        MappedNamespaceConvention convention = new MappedNamespaceConvention(c);
-        AbstractXMLStreamWriter xsw = new MappedXMLStreamWriter(
-                                            convention, 
-                                            new OutputStreamWriter(os, "UTF-8"));
-        if (serializeAsArray) {
-            if (arrayKeys != null) {
-                for (String key : arrayKeys) {
-                    xsw.seriliazeAsArray(key);
-                }
-            } else {
-                String key = getKey(convention, qname);
-                xsw.seriliazeAsArray(key);
-            }
-        }
-        return xsw;
+        return JSONUtils.createStreamWriter(os, qname, writeXsiType, namespaceMap, 
+                                                           serializeAsArray, arrayKeys);
     }
     
     @Override
     protected XMLStreamReader createStreamReader(Class<?> type, InputStream is) throws Exception {
-        if (readXsiType) {
-            namespaceMap.putIfAbsent("http://www.w3.org/2001/XMLSchema-instance", "xsins");
-        }
         getQName(type);
-        MappedXMLInputFactory factory = new MappedXMLInputFactory(namespaceMap);
-        return new NamespaceContextReader(factory.createXMLStreamReader(is));
+        return JSONUtils.createStreamReader(is, readXsiType, namespaceMap);
     }
     
     private QName getQName(Class<?> type) {
@@ -116,42 +85,4 @@
         namespaceMap.putIfAbsent(qname.getNamespaceURI(), "ns1");
         return qname;
     }
-    
-    private String getKey(MappedNamespaceConvention convention, QName qname) throws Exception {
-        return convention.createKey(qname.getPrefix(), 
-                                    qname.getNamespaceURI(),
-                                    qname.getLocalPart());
-    }
-    
-    private class NamespaceContextReader extends DepthXMLStreamReader {
-        public NamespaceContextReader(XMLStreamReader reader) {
-            super(reader);
-        }
-        
-        @Override
-        public NamespaceContext getNamespaceContext() {
-            return new NamespaceContext() {
-
-                public String getNamespaceURI(String prefix) {
-                    for (Map.Entry<String, String> entry : namespaceMap.entrySet()) {
-                        if (entry.getValue().equals(prefix)) {
-                            return entry.getKey();
-                        }
-                    }
-                    return null;
-                }
-
-                public String getPrefix(String ns) {
-                    return namespaceMap.get(ns);
-                }
-
-                public Iterator getPrefixes(String ns) {
-                    String prefix = getPrefix(ns);
-                    return prefix == null ? null : Collections.singletonList(prefix).iterator();
-                }
-                
-            };
-        }
-    }
-    
 }

Modified: cxf/branches/2.2.x-fixes/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/DataBindingProvider.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.2.x-fixes/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/DataBindingProvider.java?rev=806142&r1=806141&r2=806142&view=diff
==============================================================================
--- cxf/branches/2.2.x-fixes/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/DataBindingProvider.java (original)
+++ cxf/branches/2.2.x-fixes/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/DataBindingProvider.java Thu Aug 20 12:30:36 2009
@@ -26,6 +26,7 @@
 
 import javax.ws.rs.Consumes;
 import javax.ws.rs.Produces;
+import javax.ws.rs.WebApplicationException;
 import javax.ws.rs.core.MediaType;
 import javax.ws.rs.core.MultivaluedMap;
 import javax.ws.rs.ext.MessageBodyReader;
@@ -64,12 +65,16 @@
     public Object readFrom(Class<Object> clazz, Type genericType, Annotation[] annotations, MediaType type, 
                        MultivaluedMap<String, String> headers, InputStream is)
         throws IOException {
-        XMLStreamReader reader = createReader(clazz, is);
-        DataReader<XMLStreamReader> dataReader = binding.createReader(XMLStreamReader.class);
-        return dataReader.read(null, reader, clazz);
+        try {
+            XMLStreamReader reader = createReader(clazz, is);
+            DataReader<XMLStreamReader> dataReader = binding.createReader(XMLStreamReader.class);
+            return dataReader.read(null, reader, clazz);
+        } catch (Exception ex) {
+            throw new WebApplicationException(ex);
+        }
     }
 
-    protected XMLStreamReader createReader(Class<?> clazz, InputStream is) {
+    protected XMLStreamReader createReader(Class<?> clazz, InputStream is) throws Exception {
         return StaxUtils.createXMLStreamReader(is);
     }
     
@@ -87,20 +92,22 @@
     public void writeTo(Object o, Class<?> clazz, Type genericType, Annotation[] annotations, 
                         MediaType type, MultivaluedMap<String, Object> headers, OutputStream os)
         throws IOException {
-        XMLStreamWriter writer = createWriter(clazz, os);
-        DataWriter<XMLStreamWriter> dataWriter = binding.createWriter(XMLStreamWriter.class);
-        
-        dataWriter.write(o, writer);
         try {
-            writer.flush();
+            XMLStreamWriter writer = createWriter(clazz, os);
+            writeToWriter(writer, o);
         } catch (Exception ex) {
-            // ignore
+            throw new WebApplicationException(ex);
         }
     }
     
-    protected XMLStreamWriter createWriter(Class<?> clazz, OutputStream os) {
-        return StaxUtils.createXMLStreamWriter(os);
+    protected void writeToWriter(XMLStreamWriter writer, Object o) throws Exception {
+        DataWriter<XMLStreamWriter> dataWriter = binding.createWriter(XMLStreamWriter.class);
+        dataWriter.write(o, writer);
+        writer.flush();
     }
     
+    protected XMLStreamWriter createWriter(Class<?> clazz, OutputStream os) throws Exception {
+        return StaxUtils.createXMLStreamWriter(os);
+    }
 }
 

Modified: cxf/branches/2.2.x-fixes/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/JSONProvider.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.2.x-fixes/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/JSONProvider.java?rev=806142&r1=806141&r2=806142&view=diff
==============================================================================
--- cxf/branches/2.2.x-fixes/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/JSONProvider.java (original)
+++ cxf/branches/2.2.x-fixes/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/JSONProvider.java Thu Aug 20 12:30:36 2009
@@ -24,7 +24,6 @@
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.OutputStream;
-import java.io.OutputStreamWriter;
 import java.io.SequenceInputStream;
 import java.lang.annotation.Annotation;
 import java.lang.reflect.Type;
@@ -57,11 +56,7 @@
 import org.apache.cxf.jaxrs.utils.InjectionUtils;
 import org.apache.cxf.jaxrs.utils.schemas.SchemaHandler;
 import org.apache.cxf.staxutils.DelegatingXMLStreamWriter;
-import org.codehaus.jettison.AbstractXMLStreamWriter;
-import org.codehaus.jettison.mapped.Configuration;
-import org.codehaus.jettison.mapped.MappedNamespaceConvention;
 import org.codehaus.jettison.mapped.MappedXMLInputFactory;
-import org.codehaus.jettison.mapped.MappedXMLStreamWriter;
 
 @Produces("application/json")
 @Consumes("application/json")
@@ -314,22 +309,9 @@
     protected XMLStreamWriter createWriter(Object actualObject, Class<?> actualClass, 
         Type genericType, String enc, OutputStream os, boolean isCollection) throws Exception {
         QName qname = getQName(actualClass, genericType, actualObject, true);
-        Configuration c = new Configuration(namespaceMap);
-        MappedNamespaceConvention convention = new MappedNamespaceConvention(c);
-        AbstractXMLStreamWriter xsw = new MappedXMLStreamWriter(
-                                            convention, 
-                                            new OutputStreamWriter(os, enc));
-        if (serializeAsArray) {
-            if (arrayKeys != null) {
-                for (String key : arrayKeys) {
-                    xsw.seriliazeAsArray(key);
-                }
-            } else {
-                String key = getKey(convention, qname);
-                xsw.seriliazeAsArray(key);
-            }
-        }
-
+        XMLStreamWriter xsw = JSONUtils.createStreamWriter(os, qname, false, 
+                                                           namespaceMap, serializeAsArray, arrayKeys);
+        
         return isCollection || dropRootElement ? new JSONCollectionWriter(xsw, qname) : xsw; 
     }
     
@@ -345,14 +327,6 @@
         marshal(ms, actualObject, actualClass, genericType, enc, os, false);
     }
     
-    private String getKey(MappedNamespaceConvention convention, QName qname) throws Exception {
-        return convention.createKey(qname.getPrefix(), 
-                                    qname.getNamespaceURI(),
-                                    qname.getLocalPart());
-            
-        
-    }
-    
     private QName getQName(Class<?> cls, Type type, Object object, boolean allocatePrefix) 
         throws Exception {
         QName qname = getJaxbQName(cls, type, object, false);

Modified: cxf/branches/2.2.x-fixes/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/provider/AegisJSONProviderTest.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.2.x-fixes/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/provider/AegisJSONProviderTest.java?rev=806142&r1=806141&r2=806142&view=diff
==============================================================================
--- cxf/branches/2.2.x-fixes/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/provider/AegisJSONProviderTest.java (original)
+++ cxf/branches/2.2.x-fixes/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/provider/AegisJSONProviderTest.java Thu Aug 20 12:30:36 2009
@@ -48,7 +48,7 @@
     @Test
     public void testIsReadable() {
         MessageBodyReader<Object> p = new AegisJSONProvider();
-        assertFalse(p.isReadable(AegisTestBean.class, null, null, null));
+        assertTrue(p.isReadable(AegisTestBean.class, null, null, null));
     }
     
     
@@ -69,10 +69,10 @@
         if (setNsMap) {
             Map<String, String> namespaceMap = new HashMap<String, String>();
             namespaceMap.put("http://fortest.jaxrs.cxf.apache.org", "ns1");
-            namespaceMap.put("http://www.w3.org/2001/XMLSchema-instance", "xsins");
+            namespaceMap.put("http://www.w3.org/2001/XMLSchema-instance", "xsi");
             p.setNamespaceMap(namespaceMap);
         }
-        String data = "{\"ns1.AegisTestBean\":{\"@xsins.type\":\"ns1:AegisTestBean\","
+        String data = "{\"ns1.AegisTestBean\":{\"@xsi.type\":\"ns1:AegisTestBean\","
             + "\"ns1.boolValue\":true,\"ns1.strValue\":\"hovercraft\"}}";
         
         byte[] simpleBytes = data.getBytes("utf-8");
@@ -85,14 +85,14 @@
     
     @Test
     public void testWriteToWithXsiType() throws Exception {
-        String data = "{\"ns1.AegisTestBean\":{\"@ns2.type\":\"ns1:AegisTestBean\","
+        String data = "{\"ns1.AegisTestBean\":{\"@xsi.type\":\"ns1:AegisTestBean\","
             + "\"ns1.boolValue\":true,\"ns1.strValue\":\"hovercraft\"}}";
         doTestWriteTo(data, true, true);
     }
     
     @Test
     public void testWriteToWithXsiTypeNoNamespaces() throws Exception {
-        String data = "{\"ns1.AegisTestBean\":{\"@xsins.type\":\"ns1:AegisTestBean\","
+        String data = "{\"ns1.AegisTestBean\":{\"@xsi.type\":\"ns1:AegisTestBean\","
             + "\"ns1.boolValue\":true,\"ns1.strValue\":\"hovercraft\"}}";
         doTestWriteTo(data, true, false);
     }
@@ -112,7 +112,7 @@
         if (setNsMap) {
             Map<String, String> namespaceMap = new HashMap<String, String>();
             namespaceMap.put("http://fortest.jaxrs.cxf.apache.org", "ns1");
-            namespaceMap.put("http://www.w3.org/2001/XMLSchema-instance", "ns2");
+            namespaceMap.put("http://www.w3.org/2001/XMLSchema-instance", "xsi");
             p.setNamespaceMap(namespaceMap);
         }    
         ByteArrayOutputStream os = new ByteArrayOutputStream();

Copied: cxf/branches/2.2.x-fixes/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/provider/DataBindingJSONProviderTest.java (from r803056, cxf/trunk/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/provider/DataBindingJSONProviderTest.java)
URL: http://svn.apache.org/viewvc/cxf/branches/2.2.x-fixes/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/provider/DataBindingJSONProviderTest.java?p2=cxf/branches/2.2.x-fixes/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/provider/DataBindingJSONProviderTest.java&p1=cxf/trunk/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/provider/DataBindingJSONProviderTest.java&r1=803056&r2=806142&rev=806142&view=diff
==============================================================================
--- cxf/trunk/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/provider/DataBindingJSONProviderTest.java (original)
+++ cxf/branches/2.2.x-fixes/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/provider/DataBindingJSONProviderTest.java Thu Aug 20 12:30:36 2009
@@ -25,7 +25,6 @@
 import java.lang.annotation.Annotation;
 import java.util.Collections;
 
-import javax.ws.rs.GET;
 import javax.ws.rs.POST;
 import javax.ws.rs.Path;
 import javax.ws.rs.PathParam;
@@ -38,10 +37,7 @@
 import org.apache.cxf.jaxrs.impl.MetadataMap;
 import org.apache.cxf.jaxrs.model.ClassResourceInfo;
 import org.apache.cxf.jaxrs.resources.Book;
-import org.apache.cxf.jaxrs.resources.sdo.Structure;
-import org.apache.cxf.jaxrs.resources.sdo.impl.StructureImpl;
 import org.apache.cxf.jaxrs.utils.ResourceUtils;
-import org.apache.cxf.sdo.SDODataBinding;
 import org.apache.cxf.service.Service;
 
 import org.junit.Assert;
@@ -52,55 +48,12 @@
 public class DataBindingJSONProviderTest extends Assert {
 
     private ClassResourceInfo c;
-    private ClassResourceInfo c2;
     
     @Before
     public void setUp() {
         c = ResourceUtils.createClassResourceInfo(TheBooks.class, TheBooks.class, true, true);
-        c2 = ResourceUtils.createClassResourceInfo(TheSDOBooks.class, TheSDOBooks.class, true, true);
     }
     
-    @SuppressWarnings("unchecked")
-    @Test
-    public void testSDOWrite() throws Exception {
-        Service s = new JAXRSServiceImpl(Collections.singletonList(c2));
-        DataBinding binding = new SDODataBinding();
-        binding.initialize(s);
-        DataBindingJSONProvider p = new DataBindingJSONProvider();
-        p.setDataBinding(binding);
-        p.setNamespaceMap(Collections.singletonMap("http://apache.org/structure/types", "p0"));
-        Structure struct = new StructureImpl();
-        struct.getTexts().add("text1");
-        struct.setText("sdo");
-        struct.setInt(3);
-        struct.setDbl(123.5);
-        ByteArrayOutputStream bos = new ByteArrayOutputStream();
-        p.writeTo(struct, Structure.class, Structure.class,
-            new Annotation[0], MediaType.APPLICATION_JSON_TYPE, new MetadataMap<String, Object>(), bos);
-        String data = "{\"p0.Structure\":{\"@xsi.type\":\"p0:Structure\",\"p0.text\":\"sdo\",\"p0.int\":3"
-            + ",\"p0.dbl\":123.5,\"p0.texts\":\"text1\"}}";
-        assertEquals(bos.toString(), data);
-    }
-    
-    @SuppressWarnings("unchecked")
-    @Test
-    public void testSDORead() throws Exception {
-        String data = "{\"p0.Structure\":{\"@xsi.type\":\"p0:Structure\",\"p0.text\":\"sdo\",\"p0.int\":3"
-            + ",\"p0.dbl\":123.5,\"p0.texts\":\"text1\"}}";
-        Service s = new JAXRSServiceImpl(Collections.singletonList(c2));
-        DataBinding binding = new SDODataBinding();
-        binding.initialize(s);
-        DataBindingJSONProvider p = new DataBindingJSONProvider();
-        p.setDataBinding(binding);
-        p.setNamespaceMap(Collections.singletonMap("http://apache.org/structure/types", "p0"));
-        ByteArrayInputStream is = new ByteArrayInputStream(data.getBytes());
-        Structure struct = (Structure)p.readFrom((Class)Structure.class, Structure.class,
-                                      new Annotation[0], MediaType.APPLICATION_JSON_TYPE, 
-                                      new MetadataMap<String, String>(), is);
-        assertEquals("sdo", struct.getText());
-        assertEquals(123.5, struct.getDbl(), 0.01);
-        assertEquals(3, struct.getInt());
-    }
     
     @Test
     public void testJAXBWrite() throws Exception {
@@ -196,15 +149,4 @@
         }
     }
     
-    @Path("/")
-    @Ignore
-    public static class TheSDOBooks {
-
-        @GET
-        @Path("/books/{bookId}/{new}")
-        public Structure getStructure() {
-            return null;
-        }
-        
-    }
 }