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;
-    }
-
-
 }


Reply via email to