Author: dims
Date: Fri Nov 24 10:57:06 2006
New Revision: 478941

URL: http://svn.apache.org/viewvc?view=rev&rev=478941
Log:
- Don't create QName's repeatedly
- Create the default/soap11/soap12 default Factories only once.
- make log final


Modified:
    
webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/om/OMAbstractFactory.java
    
webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/soap/impl/builder/StAXSOAPModelBuilder.java
    
webservices/commons/trunk/modules/axiom/modules/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/SOAPEnvelopeImpl.java

Modified: 
webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/om/OMAbstractFactory.java
URL: 
http://svn.apache.org/viewvc/webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/om/OMAbstractFactory.java?view=diff&rev=478941&r1=478940&r2=478941
==============================================================================
--- 
webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/om/OMAbstractFactory.java
 (original)
+++ 
webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/om/OMAbstractFactory.java
 Fri Nov 24 10:57:06 2006
@@ -27,9 +27,14 @@
     private static final String DEFAULT_SOAP11_FACTORY_CLASS_NAME = 
"org.apache.axiom.soap.impl.llom.soap11.SOAP11Factory";
     private static final String DEFAULT_SOAP12_FACTORY_CLASS_NAME = 
"org.apache.axiom.soap.impl.llom.soap12.SOAP12Factory";
 
+    private static OMFactory defaultOMFactory = null;
+    private static SOAPFactory defaultSOAP11OMFactory = null;
+    private static SOAPFactory defaultSOAP12OMFactory = null;
 
     public static OMFactory getOMFactory() {
-
+        if(defaultOMFactory != null) {
+            return defaultOMFactory;
+        }
         String omFactory;
         try {
             omFactory = System.getProperty(OM_FACTORY_NAME_PROPERTY);
@@ -37,13 +42,11 @@
                 omFactory = DEFAULT_OM_FACTORY_CLASS_NAME;
             }
         } catch (SecurityException e) {
-            // security exception can be thrown when trying to access system 
variables within a sand box like an applet.
-            // please refer : http://issues.apache.org/jira/browse/WSCOMMONS-57
             omFactory = DEFAULT_OM_FACTORY_CLASS_NAME;
         }
 
         try {
-           return (OMFactory) Class.forName(omFactory).newInstance();
+           defaultOMFactory = (OMFactory) 
Class.forName(omFactory).newInstance();
         } catch (InstantiationException e) {
             throw new OMException(e);
         } catch (IllegalAccessException e) {
@@ -51,6 +54,7 @@
         } catch (ClassNotFoundException e) {
             throw new OMException(e);
         }
+        return defaultOMFactory;
     }
 
 
@@ -60,12 +64,15 @@
      * @return Returns SOAPFactory.
      */
     public static SOAPFactory getSOAP11Factory() {
+        if(defaultSOAP11OMFactory != null) {
+            return defaultSOAP11OMFactory;
+        }
         try {
             String omFactory = 
System.getProperty(SOAP11_FACTORY_NAME_PROPERTY);
             if (omFactory == null || "".equals(omFactory)) {
                 omFactory = DEFAULT_SOAP11_FACTORY_CLASS_NAME;
             }
-            return (SOAPFactory) Class.forName(omFactory).newInstance();
+            defaultSOAP11OMFactory = (SOAPFactory) 
Class.forName(omFactory).newInstance();
         } catch (InstantiationException e) {
             throw new OMException(e);
         } catch (IllegalAccessException e) {
@@ -73,6 +80,7 @@
         } catch (ClassNotFoundException e) {
             throw new OMException(e);
         }
+        return defaultSOAP11OMFactory;
     }
 
 
@@ -82,12 +90,15 @@
      * @return Returns SOAPFactory.
      */
     public static SOAPFactory getSOAP12Factory() {
+        if(defaultSOAP12OMFactory != null) {
+            return defaultSOAP12OMFactory;
+        }
         try {
             String omFactory = 
System.getProperty(SOAP12_FACTORY_NAME_PROPERTY);
             if (omFactory == null || "".equals(omFactory)) {
                 omFactory = DEFAULT_SOAP12_FACTORY_CLASS_NAME;
             }
-            return (SOAPFactory) Class.forName(omFactory).newInstance();
+            defaultSOAP12OMFactory = (SOAPFactory) 
Class.forName(omFactory).newInstance();
         } catch (InstantiationException e) {
             throw new OMException(e);
         } catch (IllegalAccessException e) {
@@ -95,7 +106,6 @@
         } catch (ClassNotFoundException e) {
             throw new OMException(e);
         }
+        return defaultSOAP12OMFactory;
     }
-
-
 }

Modified: 
webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/soap/impl/builder/StAXSOAPModelBuilder.java
URL: 
http://svn.apache.org/viewvc/webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/soap/impl/builder/StAXSOAPModelBuilder.java?view=diff&rev=478941&r1=478940&r2=478941
==============================================================================
--- 
webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/soap/impl/builder/StAXSOAPModelBuilder.java
 (original)
+++ 
webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/soap/impl/builder/StAXSOAPModelBuilder.java
 Fri Nov 24 10:57:06 2006
@@ -66,7 +66,7 @@
     /**
      * Field log
      */
-    private Log log = LogFactory.getLog(getClass());
+    private static final Log log = 
LogFactory.getLog(StAXSOAPModelBuilder.class);
 
     /**
      * element level 1 = envelope level element level 2 = Header or Body level

Modified: 
webservices/commons/trunk/modules/axiom/modules/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/SOAPEnvelopeImpl.java
URL: 
http://svn.apache.org/viewvc/webservices/commons/trunk/modules/axiom/modules/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/SOAPEnvelopeImpl.java?view=diff&rev=478941&r1=478940&r2=478941
==============================================================================
--- 
webservices/commons/trunk/modules/axiom/modules/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/SOAPEnvelopeImpl.java
 (original)
+++ 
webservices/commons/trunk/modules/axiom/modules/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/SOAPEnvelopeImpl.java
 Fri Nov 24 10:57:06 2006
@@ -43,6 +43,8 @@
 public class SOAPEnvelopeImpl extends SOAPElement
         implements SOAPEnvelope, OMConstants {
 
+    private static final QName HEADER_QNAME = new 
QName(SOAPConstants.HEADER_LOCAL_NAME);
+
     /**
      * @param builder
      */
@@ -75,7 +77,7 @@
     public SOAPHeader getHeader() throws OMException {
         SOAPHeader header =
                 (SOAPHeader) getFirstChildWithName(
-                        new QName(SOAPConstants.HEADER_LOCAL_NAME));
+                        HEADER_QNAME);
         if (builder == null && header == null) {
             inferFactory();
             header = ((SOAPFactory) factory).createSOAPHeader(this);



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to