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/04/21 16:18:46 UTC

svn commit: r767155 - in /cxf/branches/2.1.x-fixes: ./ rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/saaj/SAAJInInterceptor.java rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/saaj/SAAJOutInterceptor.java

Author: dkulp
Date: Tue Apr 21 14:18:46 2009
New Revision: 767155

URL: http://svn.apache.org/viewvc?rev=767155&view=rev
Log:
Merged revisions 766963 via svnmerge from 
https://svn.apache.org/repos/asf/cxf/trunk

........
  r766963 | dkulp | 2009-04-20 23:20:21 -0400 (Mon, 20 Apr 2009) | 2 lines
  
  Cache the message factories
........

Modified:
    cxf/branches/2.1.x-fixes/   (props changed)
    cxf/branches/2.1.x-fixes/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/saaj/SAAJInInterceptor.java
    cxf/branches/2.1.x-fixes/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/saaj/SAAJOutInterceptor.java

Propchange: cxf/branches/2.1.x-fixes/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Tue Apr 21 14:18:46 2009
@@ -1 +1 @@
-/cxf/trunk:743446,753380,753397,753421,754585,755365,757499,757859,757899,757935,757951,758195,758303,758308,758378,758690,758910,759890,759961,759963-759964,759966,760029,760073,760150,760171,760178,760198,760212,760456,760468,760582,760938,761094,761113,761120,761317,761759,761789,762393,762518,762567,763200,763272,763495,763854,763931,763942,763953,764033-764034,764581,764599-764606,764887,765357,766013,766058,766100-766101,766763,766770,766860,766962
+/cxf/trunk:743446,753380,753397,753421,754585,755365,757499,757859,757899,757935,757951,758195,758303,758308,758378,758690,758910,759890,759961,759963-759964,759966,760029,760073,760150,760171,760178,760198,760212,760456,760468,760582,760938,761094,761113,761120,761317,761759,761789,762393,762518,762567,763200,763272,763495,763854,763931,763942,763953,764033-764034,764581,764599-764606,764887,765357,766013,766058,766100-766101,766763,766770,766860,766962-766963

Propchange: cxf/branches/2.1.x-fixes/
------------------------------------------------------------------------------
Binary property 'svnmerge-integrated' - no diff available.

Modified: cxf/branches/2.1.x-fixes/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/saaj/SAAJInInterceptor.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.1.x-fixes/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/saaj/SAAJInInterceptor.java?rev=767155&r1=767154&r2=767155&view=diff
==============================================================================
--- cxf/branches/2.1.x-fixes/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/saaj/SAAJInInterceptor.java (original)
+++ cxf/branches/2.1.x-fixes/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/saaj/SAAJInInterceptor.java Tue Apr 21 14:18:46 2009
@@ -65,7 +65,11 @@
  */
 public class SAAJInInterceptor extends AbstractSoapInterceptor {
     private static final ResourceBundle BUNDLE = BundleUtils.getBundle(SAAJInInterceptor.class);
-
+    
+    private MessageFactory factory11;
+    private MessageFactory factory12;
+    
+    
     public SAAJInInterceptor() {
         super(Phase.PRE_PROTOCOL);
     }
@@ -73,15 +77,22 @@
         super(phase);
     }
     
+    private synchronized MessageFactory getFactory(SoapMessage message) throws SOAPException {
+        if (message.getVersion() instanceof Soap11) {
+            if (factory11 == null) { 
+                factory11 = MessageFactory.newInstance();
+            } 
+            return factory11;
+        }
+        if (factory12 == null) {
+            factory12 = MessageFactory.newInstance(SOAPConstants.SOAP_1_2_PROTOCOL);
+        }
+        return factory12;
+    }
+    
     public void handleMessage(SoapMessage message) throws Fault {
         try {
-            MessageFactory factory = null;
-            if (message.getVersion() instanceof Soap11) {
-                factory = MessageFactory.newInstance();
-            } else {
-                factory = MessageFactory.newInstance(SOAPConstants.SOAP_1_2_PROTOCOL);
-            }
-            
+            MessageFactory factory = getFactory(message);
             SOAPMessage soapMessage = factory.createMessage();
             message.setContent(SOAPMessage.class, soapMessage);
             

Modified: cxf/branches/2.1.x-fixes/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/saaj/SAAJOutInterceptor.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.1.x-fixes/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/saaj/SAAJOutInterceptor.java?rev=767155&r1=767154&r2=767155&view=diff
==============================================================================
--- cxf/branches/2.1.x-fixes/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/saaj/SAAJOutInterceptor.java (original)
+++ cxf/branches/2.1.x-fixes/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/saaj/SAAJOutInterceptor.java Tue Apr 21 14:18:46 2009
@@ -37,6 +37,7 @@
 
 
 import org.apache.cxf.attachment.AttachmentImpl;
+import org.apache.cxf.binding.soap.Soap11;
 import org.apache.cxf.binding.soap.SoapFault;
 import org.apache.cxf.binding.soap.SoapMessage;
 import org.apache.cxf.binding.soap.SoapVersion;
@@ -65,22 +66,30 @@
     private static final ResourceBundle BUNDLE = BundleUtils.getBundle(SAAJOutInterceptor.class);
     private static final String ORIGINAL_XML_WRITER 
         = SAAJOutInterceptor.class.getName() + ".original.xml.writer";
-
+    private MessageFactory factory11;
+    private MessageFactory factory12;
+    
     public SAAJOutInterceptor() {
         super(Phase.PRE_PROTOCOL);
     }
-    
+    private synchronized MessageFactory getFactory(SoapMessage message) throws SOAPException {
+        if (message.getVersion() instanceof Soap11) {
+            if (factory11 == null) { 
+                factory11 = MessageFactory.newInstance();
+            } 
+            return factory11;
+        }
+        if (factory12 == null) {
+            factory12 = MessageFactory.newInstance(SOAPConstants.SOAP_1_2_PROTOCOL);
+        }
+        return factory12;
+    }
     public void handleMessage(SoapMessage message) throws Fault {
         SOAPMessage saaj = message.getContent(SOAPMessage.class);
         if (saaj == null) {
             SoapVersion version = message.getVersion();
             try {
-                MessageFactory factory = null;
-                if (version.getVersion() == 1.1) {
-                    factory = MessageFactory.newInstance();
-                } else {
-                    factory = MessageFactory.newInstance(SOAPConstants.SOAP_1_2_PROTOCOL);
-                }
+                MessageFactory factory = getFactory(message);
                 SOAPMessage soapMessage = factory.createMessage();
 
                 SOAPPart soapPart = soapMessage.getSOAPPart();