Author: rmannibucau
Date: Sun Jul  6 11:16:14 2014
New Revision: 1608182

URL: http://svn.apache.org/r1608182
Log:
get rid of jettison, fleece handles it

Modified:
    tomee/tomee/trunk/server/openejb-cxf-rs/pom.xml
    
tomee/tomee/trunk/server/openejb-cxf-rs/src/main/java/org/apache/openejb/server/cxf/rs/CxfRsHttpListener.java
    
tomee/tomee/trunk/server/openejb-cxf-rs/src/test/java/org/apache/openejb/server/cxf/rs/SimpleApplicationTest.java

Modified: tomee/tomee/trunk/server/openejb-cxf-rs/pom.xml
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/server/openejb-cxf-rs/pom.xml?rev=1608182&r1=1608181&r2=1608182&view=diff
==============================================================================
--- tomee/tomee/trunk/server/openejb-cxf-rs/pom.xml (original)
+++ tomee/tomee/trunk/server/openejb-cxf-rs/pom.xml Sun Jul  6 11:16:14 2014
@@ -108,17 +108,11 @@
       <artifactId>cxf-rt-rs-extension-providers</artifactId>
       <version>${cxf.version}</version>
     </dependency>
-    <dependency> <!-- FleeceProvider and JsrProvider -->
+    <dependency> <!-- FleeceProvider, WadlDocumentMessageBodyWriter and 
JsrProvider -->
       <groupId>org.apache.fleece</groupId>
       <artifactId>fleece-jaxrs</artifactId>
       <version>1.0-SNAPSHOT</version>
     </dependency>
-    <dependency>
-      <!-- TODO: https://issues.apache.org/jira/browse/CXF-5852 -->
-      <groupId>org.codehaus.jettison</groupId>
-      <artifactId>jettison</artifactId>
-      <version>1.3.4</version>
-    </dependency>
   </dependencies>
 
 </project>

Modified: 
tomee/tomee/trunk/server/openejb-cxf-rs/src/main/java/org/apache/openejb/server/cxf/rs/CxfRsHttpListener.java
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/server/openejb-cxf-rs/src/main/java/org/apache/openejb/server/cxf/rs/CxfRsHttpListener.java?rev=1608182&r1=1608181&r2=1608182&view=diff
==============================================================================
--- 
tomee/tomee/trunk/server/openejb-cxf-rs/src/main/java/org/apache/openejb/server/cxf/rs/CxfRsHttpListener.java
 (original)
+++ 
tomee/tomee/trunk/server/openejb-cxf-rs/src/main/java/org/apache/openejb/server/cxf/rs/CxfRsHttpListener.java
 Sun Jul  6 11:16:14 2014
@@ -39,6 +39,7 @@ import org.apache.cxf.transport.http.HTT
 import org.apache.cxf.transport.servlet.BaseUrlHelper;
 import org.apache.fleece.jaxrs.FleeceProvider;
 import org.apache.fleece.jaxrs.JsrProvider;
+import org.apache.fleece.jaxrs.WadlDocumentMessageBodyWriter;
 import org.apache.openejb.BeanContext;
 import org.apache.openejb.Injection;
 import org.apache.openejb.api.internal.Internal;
@@ -648,7 +649,7 @@ public class CxfRsHttpListener implement
         jaxbProperties.put(Marshaller.JAXB_FRAGMENT, true);
         jaxb.setMarshallerProperties(jaxbProperties);
 
-        return Arrays.asList((Object) jaxb, new OpenEJBJsonProvider(), new 
JsrProvider());
+        return Arrays.asList((Object) new WadlDocumentMessageBodyWriter(), new 
FleeceProvider<>(), new JsrProvider(), jaxb);
     }
 
     private static class ProviderFactory implements ServiceInfos.Factory {
@@ -691,52 +692,6 @@ public class CxfRsHttpListener implement
         }
     }
 
-    @Provider
-    @Produces("*/*")
-    @Consumes("*/*") // Use fleece but allows _wadl query (cxf returns a 
Document in this case :()
-    public static class OpenEJBJsonProvider implements 
MessageBodyReader<Object>, MessageBodyWriter<Object> {
-        private final FleeceProvider fleece = new FleeceProvider<>();
-        private final JSONProvider<Object> wadlProvider = new JSONProvider<>();
-
-        @Override
-        public boolean isReadable(final Class<?> rawType, final Type 
genericType,
-                                  final Annotation[] annotations, final 
MediaType mediaType) {
-            return fleece.isReadable(rawType, genericType, annotations, 
mediaType);
-        }
-
-        @Override
-        public Object readFrom(final Class<Object> rawType, final Type 
genericType,
-                               final Annotation[] annotations, final MediaType 
mediaType,
-                               final MultivaluedMap<String, String> 
httpHeaders,
-                               final InputStream entityStream) throws 
IOException {
-            return fleece.readFrom(rawType, genericType, annotations, 
mediaType, httpHeaders, entityStream);
-        }
-
-        @Override
-        public long getSize(final Object o, final Class<?> rawType,
-                            final Type genericType, final Annotation[] 
annotations, final MediaType mediaType) {
-            return fleece.getSize(o, rawType, genericType, annotations, 
mediaType);
-        }
-
-        @Override
-        public boolean isWriteable(final Class<?> rawType, final Type 
genericType,
-                                   final Annotation[] annotations, final 
MediaType mediaType) {
-            return fleece.isWriteable(rawType, genericType, annotations, 
mediaType)
-                    || Document.class.isAssignableFrom(rawType); // avoid 
wadlProvider.isWriteable(rawType, genericType, annotations, mediaType) which 
can be long
-        }
-
-        @Override
-        public void writeTo(final Object o, final Class<?> rawType, final Type 
genericType,
-                            final Annotation[] annotations, final MediaType 
mediaType,
-                            final MultivaluedMap<String, Object> httpHeaders, 
final OutputStream entityStream) throws IOException {
-            if (!Document.class.isAssignableFrom(rawType)) {
-                fleece.writeTo(o, rawType, genericType, annotations, 
mediaType, httpHeaders, entityStream);
-            } else {
-                wadlProvider.writeTo(o, rawType, genericType, annotations, 
mediaType, httpHeaders, entityStream);
-            }
-        }
-    }
-
     @SuppressWarnings("UnusedDeclaration")
     @MBean
     @Internal

Modified: 
tomee/tomee/trunk/server/openejb-cxf-rs/src/test/java/org/apache/openejb/server/cxf/rs/SimpleApplicationTest.java
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/server/openejb-cxf-rs/src/test/java/org/apache/openejb/server/cxf/rs/SimpleApplicationTest.java?rev=1608182&r1=1608181&r2=1608182&view=diff
==============================================================================
--- 
tomee/tomee/trunk/server/openejb-cxf-rs/src/test/java/org/apache/openejb/server/cxf/rs/SimpleApplicationTest.java
 (original)
+++ 
tomee/tomee/trunk/server/openejb-cxf-rs/src/test/java/org/apache/openejb/server/cxf/rs/SimpleApplicationTest.java
 Sun Jul  6 11:16:14 2014
@@ -71,6 +71,11 @@ public class SimpleApplicationTest {
             }
         }
 
+        /*
+        XML value:
+
+        <application xmlns="http://wadl.dev.java.net/2009/02"; 
xmlns:xs="http://www.w3.org/2001/XMLSchema";><grammars></grammars><resources 
base="http://localhost:4204/foo/my-app/";><resource 
path="/first"><doc>MyFirstRestClass service</doc><resource path="/hi"><method 
name="GET"><response><representation 
mediaType="application/octet-stream"><param name="result" style="plain" 
type="xs:string"/></representation></response></method></resource></resource></resources></application>
+         */
         final String wadl = sb.toString();
         assertTrue("Failed to get WADL", wadl.startsWith("<application 
xmlns"));
     }
@@ -98,7 +103,7 @@ public class SimpleApplicationTest {
         }
 
         final String wadl = sb.toString();
-        assertTrue("Failed to get WADL", wadl.startsWith("{\"application\":"));
+        assertTrue("Failed to get WADL: " + wadl, 
wadl.startsWith("{\"application\":"));
     }
 
     @Test


Reply via email to