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