Author: veithen
Date: Mon Jun 25 06:16:11 2012
New Revision: 1353395
URL: http://svn.apache.org/viewvc?rev=1353395&view=rev
Log:
Use a more consistent lifecycle for the Marshaller (i.e. always create it in
JaxbRIDataSource).
Modified:
axis/axis2/java/core/trunk/modules/jaxbri/src/main/java/org/apache/axis2/jaxbri/JaxbRIDataSource.java
axis/axis2/java/core/trunk/modules/jaxbri/src/main/resources/org/apache/axis2/jaxbri/template/JaxbRIDatabindingTemplate.xsl
Modified:
axis/axis2/java/core/trunk/modules/jaxbri/src/main/java/org/apache/axis2/jaxbri/JaxbRIDataSource.java
URL:
http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/jaxbri/src/main/java/org/apache/axis2/jaxbri/JaxbRIDataSource.java?rev=1353395&r1=1353394&r2=1353395&view=diff
==============================================================================
---
axis/axis2/java/core/trunk/modules/jaxbri/src/main/java/org/apache/axis2/jaxbri/JaxbRIDataSource.java
(original)
+++
axis/axis2/java/core/trunk/modules/jaxbri/src/main/java/org/apache/axis2/jaxbri/JaxbRIDataSource.java
Mon Jun 25 06:16:11 2012
@@ -45,11 +45,6 @@ public class JaxbRIDataSource implements
private final Class outClazz;
/**
- * Marshaller.
- */
- private final Marshaller marshaller;
-
- /**
* Namespace
*/
private String nsuri;
@@ -65,17 +60,18 @@ public class JaxbRIDataSource implements
* @param obj
* @param marshaller
*/
- public JaxbRIDataSource(JAXBContext context, Class clazz, Object obj,
Marshaller marshaller, String nsuri, String name) {
+ public JaxbRIDataSource(JAXBContext context, Class clazz, Object obj,
String nsuri, String name) {
this.context = context;
this.outClazz = clazz;
this.outObject = obj;
- this.marshaller = marshaller;
this.nsuri = nsuri;
this.name = name;
}
public void serialize(java.io.OutputStream output,
org.apache.axiom.om.OMOutputFormat format) throws XMLStreamException {
try {
+ Marshaller marshaller = context.createMarshaller();
+ marshaller.setProperty(Marshaller.JAXB_FRAGMENT, Boolean.TRUE);
marshaller.marshal(new JAXBElement(
new QName(nsuri, name), outObject.getClass(), outObject),
output);
} catch (JAXBException e) {
@@ -85,6 +81,8 @@ public class JaxbRIDataSource implements
public void serialize(Writer writer, OMOutputFormat format) throws
XMLStreamException {
try {
+ Marshaller marshaller = context.createMarshaller();
+ marshaller.setProperty(Marshaller.JAXB_FRAGMENT, Boolean.TRUE);
marshaller.marshal(new JAXBElement(
new QName(nsuri, name), outObject.getClass(), outObject),
writer);
} catch (JAXBException e) {
@@ -94,6 +92,8 @@ public class JaxbRIDataSource implements
public void serialize(XMLStreamWriter xmlWriter) throws XMLStreamException
{
try {
+ Marshaller marshaller = context.createMarshaller();
+ marshaller.setProperty(Marshaller.JAXB_FRAGMENT, Boolean.TRUE);
marshaller.marshal(new JAXBElement(
new QName(nsuri, name), outObject.getClass(), outObject),
xmlWriter);
} catch (JAXBException e) {
Modified:
axis/axis2/java/core/trunk/modules/jaxbri/src/main/resources/org/apache/axis2/jaxbri/template/JaxbRIDatabindingTemplate.xsl
URL:
http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/jaxbri/src/main/resources/org/apache/axis2/jaxbri/template/JaxbRIDatabindingTemplate.xsl?rev=1353395&r1=1353394&r2=1353395&view=diff
==============================================================================
---
axis/axis2/java/core/trunk/modules/jaxbri/src/main/resources/org/apache/axis2/jaxbri/template/JaxbRIDatabindingTemplate.xsl
(original)
+++
axis/axis2/java/core/trunk/modules/jaxbri/src/main/resources/org/apache/axis2/jaxbri/template/JaxbRIDatabindingTemplate.xsl
Mon Jun 25 06:16:11 2012
@@ -63,47 +63,29 @@
private org.apache.axiom.om.OMElement toOM(<xsl:value-of
select="@type"/> param, boolean optimizeContent, javax.xml.namespace.QName
methodQName)
throws org.apache.axis2.AxisFault {
- try {
- javax.xml.bind.JAXBContext context = wsContext;
- javax.xml.bind.Marshaller marshaller =
context.createMarshaller();
-
marshaller.setProperty(javax.xml.bind.Marshaller.JAXB_FRAGMENT, Boolean.TRUE);
+ org.apache.axiom.om.OMFactory factory =
org.apache.axiom.om.OMAbstractFactory.getOMFactory();
+ org.apache.axis2.jaxbri.JaxbRIDataSource source = new
org.apache.axis2.jaxbri.JaxbRIDataSource( wsContext,
+
<xsl:value-of select="@type"/>.class,
+ param,
+
methodQName.getNamespaceURI(),
+
methodQName.getLocalPart());
+ org.apache.axiom.om.OMNamespace namespace =
factory.createOMNamespace(methodQName.getNamespaceURI(),
+ null);
+ return factory.createOMElement(source,
methodQName.getLocalPart(), namespace);
+ }
+
+ private org.apache.axiom.om.OMElement toOM(<xsl:value-of
select="@type"/> param, boolean optimizeContent)
+ throws org.apache.axis2.AxisFault {
org.apache.axiom.om.OMFactory factory =
org.apache.axiom.om.OMAbstractFactory.getOMFactory();
org.apache.axis2.jaxbri.JaxbRIDataSource source = new
org.apache.axis2.jaxbri.JaxbRIDataSource( wsContext,
<xsl:value-of select="@type"/>.class,
param,
-
marshaller,
-
methodQName.getNamespaceURI(),
-
methodQName.getLocalPart());
- org.apache.axiom.om.OMNamespace namespace =
factory.createOMNamespace(methodQName.getNamespaceURI(),
-
null);
- return factory.createOMElement(source,
methodQName.getLocalPart(), namespace);
- } catch (javax.xml.bind.JAXBException bex){
- throw org.apache.axis2.AxisFault.makeFault(bex);
- }
- }
-
- private org.apache.axiom.om.OMElement toOM(<xsl:value-of
select="@type"/> param, boolean optimizeContent)
- throws org.apache.axis2.AxisFault {
- try {
- javax.xml.bind.JAXBContext context = wsContext;
- javax.xml.bind.Marshaller marshaller =
context.createMarshaller();
-
marshaller.setProperty(javax.xml.bind.Marshaller.JAXB_FRAGMENT, Boolean.TRUE);
-
- org.apache.axiom.om.OMFactory factory =
org.apache.axiom.om.OMAbstractFactory.getOMFactory();
-
- org.apache.axis2.jaxbri.JaxbRIDataSource source =
new org.apache.axis2.jaxbri.JaxbRIDataSource( wsContext,
-
<xsl:value-of select="@type"/>.class,
-
param,
-
marshaller,
-
"<xsl:value-of select="qname/@nsuri"/>",
-
"<xsl:value-of select="qname/@localname"/>");
- org.apache.axiom.om.OMNamespace namespace =
factory.createOMNamespace("<xsl:value-of select="qname/@nsuri"/>", null);
- return factory.createOMElement(source,
"<xsl:value-of select="qname/@localname"/>", namespace);
- } catch (javax.xml.bind.JAXBException bex){
- throw org.apache.axis2.AxisFault.makeFault(bex);
- }
+
"<xsl:value-of select="qname/@nsuri"/>",
+
"<xsl:value-of select="qname/@localname"/>");
+ org.apache.axiom.om.OMNamespace namespace =
factory.createOMNamespace("<xsl:value-of select="qname/@nsuri"/>", null);
+ return factory.createOMElement(source, "<xsl:value-of
select="qname/@localname"/>", namespace);
}
private org.apache.axiom.soap.SOAPEnvelope
toEnvelope(org.apache.axiom.soap.SOAPFactory factory, <xsl:value-of
select="@type"/> param, boolean optimizeContent, javax.xml.namespace.QName
methodQName)