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]