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)


Reply via email to