You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by dk...@apache.org on 2009/06/12 18:25:29 UTC
svn commit: r784181 -
/cxf/trunk/api/src/main/java/org/apache/cxf/ws/policy/builder/jaxb/JaxbAssertion.java
Author: dkulp
Date: Fri Jun 12 16:25:29 2009
New Revision: 784181
URL: http://svn.apache.org/viewvc?rev=784181&view=rev
Log:
[CXF-2278] Implement serialize method on JaxbAssertions
Patch from Dominic Harries applied
>From University of Southampton IT Innovation Centre
Modified:
cxf/trunk/api/src/main/java/org/apache/cxf/ws/policy/builder/jaxb/JaxbAssertion.java
Modified: cxf/trunk/api/src/main/java/org/apache/cxf/ws/policy/builder/jaxb/JaxbAssertion.java
URL: http://svn.apache.org/viewvc/cxf/trunk/api/src/main/java/org/apache/cxf/ws/policy/builder/jaxb/JaxbAssertion.java?rev=784181&r1=784180&r2=784181&view=diff
==============================================================================
--- cxf/trunk/api/src/main/java/org/apache/cxf/ws/policy/builder/jaxb/JaxbAssertion.java (original)
+++ cxf/trunk/api/src/main/java/org/apache/cxf/ws/policy/builder/jaxb/JaxbAssertion.java Fri Jun 12 16:25:29 2009
@@ -19,8 +19,14 @@
package org.apache.cxf.ws.policy.builder.jaxb;
+import javax.xml.bind.JAXBContext;
+import javax.xml.bind.JAXBException;
+import javax.xml.bind.Marshaller;
import javax.xml.namespace.QName;
+import javax.xml.stream.XMLStreamException;
+import javax.xml.stream.XMLStreamWriter;
+import org.apache.cxf.common.util.PackageUtils;
import org.apache.cxf.ws.policy.PolicyAssertion;
import org.apache.cxf.ws.policy.builder.primitive.PrimitiveAssertion;
import org.apache.neethi.PolicyComponent;
@@ -74,4 +80,17 @@
return (JaxbAssertion<T>)a;
}
+ @Override
+ public void serialize(XMLStreamWriter writer) throws XMLStreamException {
+ try {
+ JAXBContext context = JAXBContext.newInstance(PackageUtils.getPackageName(data.getClass()),
+ data.getClass().getClassLoader());
+ Marshaller marshaller = context.createMarshaller();
+ marshaller.setProperty("jaxb.fragment", Boolean.TRUE);
+ marshaller.marshal(data, writer);
+ } catch (JAXBException ex) {
+ throw new RuntimeException(ex);
+ }
+ }
+
}