You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-commits@axis.apache.org by ve...@apache.org on 2010/12/05 21:52:39 UTC
svn commit: r1042442 -
/axis/axis2/java/core/trunk/modules/kernel/src/org/apache/axis2/dataretrieval/DataLocatorFactory.java
Author: veithen
Date: Sun Dec 5 20:52:39 2010
New Revision: 1042442
URL: http://svn.apache.org/viewvc?rev=1042442&view=rev
Log:
AXIS2-4819: Removed the static fields from DataLocatorFactory and create a new AxisDataLocator instance each time. Reason: AxisDataLocator implementations are stateful and therefore not thread safe.
Modified:
axis/axis2/java/core/trunk/modules/kernel/src/org/apache/axis2/dataretrieval/DataLocatorFactory.java
Modified: axis/axis2/java/core/trunk/modules/kernel/src/org/apache/axis2/dataretrieval/DataLocatorFactory.java
URL: http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/kernel/src/org/apache/axis2/dataretrieval/DataLocatorFactory.java?rev=1042442&r1=1042441&r2=1042442&view=diff
==============================================================================
--- axis/axis2/java/core/trunk/modules/kernel/src/org/apache/axis2/dataretrieval/DataLocatorFactory.java (original)
+++ axis/axis2/java/core/trunk/modules/kernel/src/org/apache/axis2/dataretrieval/DataLocatorFactory.java Sun Dec 5 20:52:39 2010
@@ -25,10 +25,6 @@ package org.apache.axis2.dataretrieval;
*/
public class DataLocatorFactory {
- private static org.apache.axis2.dataretrieval.WSDLDataLocator wsdlDataLocator = null;
- private static org.apache.axis2.dataretrieval.PolicyDataLocator policyDataLocator = null;
- private static org.apache.axis2.dataretrieval.SchemaDataLocator schemaDataLocator = null;
-
/*
* Return instance of default Data Locator for the dialect.
*/
@@ -38,37 +34,14 @@ public class DataLocatorFactory {
public static AxisDataLocator createDataLocator(String dialect,
ServiceData[] serviceDataArray) {
- AxisDataLocator dataLocator;
-
if (dialect.equals(DRConstants.SPEC.DIALECT_TYPE_WSDL)) {
- dataLocator = getWsdlDataLocator(serviceDataArray);
+ return new WSDLDataLocator(serviceDataArray);
} else if (dialect.trim().equals(DRConstants.SPEC.DIALECT_TYPE_POLICY)) {
- if (policyDataLocator == null) {
- dataLocator = new PolicyDataLocator(serviceDataArray);
- } else {
- dataLocator = policyDataLocator;
- }
+ return new PolicyDataLocator(serviceDataArray);
} else if (dialect.equals(DRConstants.SPEC.DIALECT_TYPE_SCHEMA)) {
- if (schemaDataLocator == null) {
- dataLocator = new SchemaDataLocator(serviceDataArray);
- } else {
- dataLocator = schemaDataLocator;
- }
+ return new SchemaDataLocator(serviceDataArray);
} else {
- dataLocator = null;
+ return null;
}
- return dataLocator;
}
-
- protected static AxisDataLocator getWsdlDataLocator(ServiceData[] serviceDataArray) {
-
- if (wsdlDataLocator == null) {
- wsdlDataLocator = new org.apache.axis2.dataretrieval.WSDLDataLocator(serviceDataArray);
- } else {
- wsdlDataLocator.setServiceData(serviceDataArray);
- }
- return wsdlDataLocator;
- }
-
-
}