Author: dkulp
Date: Wed Oct 22 10:08:57 2008
New Revision: 707139
URL: http://svn.apache.org/viewvc?rev=707139&view=rev
Log:
Merged revisions 706482,706631 via svnmerge from
https://svn.apache.org/repos/asf/cxf/trunk
........
r706482 | bimargulies | 2008-10-20 20:23:50 -0400 (Mon, 20 Oct 2008) | 2 lines
Push the JAX-RS thing for Aegis along.
........
r706631 | sergeyb | 2008-10-21 10:03:04 -0400 (Tue, 21 Oct 2008) | 1 line
JAX-RS : Enabling Aegis test
........
Added:
cxf/branches/2.1.x-fixes/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/fortest/
- copied from r706482,
cxf/trunk/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/fortest/
cxf/branches/2.1.x-fixes/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/fortest/AegisTestBean.java
- copied unchanged from r706482,
cxf/trunk/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/fortest/AegisTestBean.java
cxf/branches/2.1.x-fixes/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/provider/AegisProviderTest.java
- copied, changed from r706482,
cxf/trunk/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/provider/AegisProviderTest.java
Modified:
cxf/branches/2.1.x-fixes/ (props changed)
cxf/branches/2.1.x-fixes/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/AbstractAegisProvider.java
cxf/branches/2.1.x-fixes/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/AegisElementProvider.java
Propchange: cxf/branches/2.1.x-fixes/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Wed Oct 22 10:08:57 2008
@@ -1 +1 @@
-/cxf/trunk:686333-686363,686764,686820,687096,687194,687363,687387,687463,687543,687722,687798,687814,687817,687891,687910,687914,688086,688102,688133,688596,688735,688870,689572,689596,689855,689924,690067,690289,691246,691271,691295,691338,691355,691488,691602,691646,691706,691728,692116,692157,692310,692466,692499,693653,693819,694179,694263,694417,694716,694744,694747,694795,694869,694981,694987,694993,695041,695096,695396,695484,695537,695552,695561,695619,695684,695835,695840,695868,695935,695977,696016,696094,696433,696720,697085,697868,698128,699289,700261,700507,700602,700981,701316,701783,701830,701862,702187,702205-702248,702267,702547,702561,702580,702602,702609,702616,702653,702656,702957,703191,703239,703309,703501,703513,703548,704584,704937,704997,705150,705235,705274,705340,705446,705548,705614,705692,705708,706675,706900,706909,707034,707089,707100
+/cxf/trunk:686333-686363,686764,686820,687096,687194,687363,687387,687463,687543,687722,687798,687814,687817,687891,687910,687914,688086,688102,688133,688596,688735,688870,689572,689596,689855,689924,690067,690289,691246,691271,691295,691338,691355,691488,691602,691646,691706,691728,692116,692157,692310,692466,692499,693653,693819,694179,694263,694417,694716,694744,694747,694795,694869,694981,694987,694993,695041,695096,695396,695484,695537,695552,695561,695619,695684,695835,695840,695868,695935,695977,696016,696094,696433,696720,697085,697868,698128,699289,700261,700507,700602,700981,701316,701783,701830,701862,702187,702205-702248,702267,702547,702561,702580,702602,702609,702616,702653,702656,702957,703191,703239,703309,703501,703513,703548,704584,704937,704997,705150,705235,705274,705340,705446,705548,705614,705692,705708,706482,706631,706675,706900,706909,707034,707089,707100
Propchange: cxf/branches/2.1.x-fixes/
------------------------------------------------------------------------------
Binary property 'svnmerge-integrated' - no diff available.
Modified:
cxf/branches/2.1.x-fixes/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/AbstractAegisProvider.java
URL:
http://svn.apache.org/viewvc/cxf/branches/2.1.x-fixes/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/AbstractAegisProvider.java?rev=707139&r1=707138&r2=707139&view=diff
==============================================================================
---
cxf/branches/2.1.x-fixes/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/AbstractAegisProvider.java
(original)
+++
cxf/branches/2.1.x-fixes/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/AbstractAegisProvider.java
Wed Oct 22 10:08:57 2008
@@ -94,7 +94,10 @@
AegisContext context = classContexts.get(type);
if (context == null) {
context = new AegisContext();
+ context.setWriteXsiTypes(true); // needed, since we know no
element/type maps.
+ context.setReadXsiTypes(true);
Set<Class<?>> rootClasses = new HashSet<Class<?>>();
+ rootClasses.add(type);
context.setRootClasses(rootClasses);
context.initialize();
classContexts.put(type, context);
Modified:
cxf/branches/2.1.x-fixes/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/AegisElementProvider.java
URL:
http://svn.apache.org/viewvc/cxf/branches/2.1.x-fixes/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/AegisElementProvider.java?rev=707139&r1=707138&r2=707139&view=diff
==============================================================================
---
cxf/branches/2.1.x-fixes/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/AegisElementProvider.java
(original)
+++
cxf/branches/2.1.x-fixes/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/AegisElementProvider.java
Wed Oct 22 10:08:57 2008
@@ -36,6 +36,7 @@
import org.apache.cxf.aegis.AegisContext;
import org.apache.cxf.aegis.AegisReader;
import org.apache.cxf.aegis.AegisWriter;
+import org.apache.cxf.aegis.type.TypeUtil;
import org.apache.cxf.staxutils.StaxUtils;
@Provider
@@ -58,12 +59,17 @@
public void writeTo(Object obj, Class<?> type, Type genericType,
Annotation[] anns,
MediaType m, MultivaluedMap<String, Object> headers, OutputStream os)
throws IOException {
+ if (type == null) {
+ type = obj.getClass();
+ }
AegisContext context = getAegisContext(type, genericType);
+ org.apache.cxf.aegis.type.Type aegisType =
TypeUtil.getWriteTypeStandalone(context, obj, null);
AegisWriter<XMLStreamWriter> aegisWriter =
context.createXMLStreamWriter();
XMLStreamWriter xmlStreamWriter = StaxUtils.createXMLStreamWriter(os);
try {
- aegisWriter.write(obj, null, false, xmlStreamWriter, null);
-
+ // use type qname as element qname?
+ aegisWriter.write(obj, aegisType.getSchemaType(), false,
xmlStreamWriter, aegisType);
+ xmlStreamWriter.close();
} catch (Exception e) {
throw new WebApplicationException(e);
}
Copied:
cxf/branches/2.1.x-fixes/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/provider/AegisProviderTest.java
(from r706482,
cxf/trunk/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/provider/AegisProviderTest.java)
URL:
http://svn.apache.org/viewvc/cxf/branches/2.1.x-fixes/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/provider/AegisProviderTest.java?p2=cxf/branches/2.1.x-fixes/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/provider/AegisProviderTest.java&p1=cxf/trunk/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/provider/AegisProviderTest.java&r1=706482&r2=707139&rev=707139&view=diff
==============================================================================
---
cxf/trunk/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/provider/AegisProviderTest.java
(original)
+++
cxf/branches/2.1.x-fixes/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/provider/AegisProviderTest.java
Wed Oct 22 10:08:57 2008
@@ -49,12 +49,13 @@
assertTrue(p.isReadable(AegisTestBean.class, null, null));
}
- @org.junit.Ignore
+
+ @SuppressWarnings("unchecked")
@Test
public void testReadFrom() throws Exception {
MessageBodyReader<Object> p = new AegisElementProvider();
byte[] simpleBytes = SIMPLE_BEAN_XML.getBytes("utf-8");
- Object beanObject = p.readFrom(Object.class, null, null,
+ Object beanObject = p.readFrom((Class)AegisTestBean.class, null, null,
null, null, new
ByteArrayInputStream(simpleBytes));
AegisTestBean bean = (AegisTestBean) beanObject;
assertEquals("hovercraft", bean.getStrValue());