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