You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@santuario.apache.org by co...@apache.org on 2011/04/20 11:36:27 UTC

svn commit: r1095339 - /santuario/xml-security-java/branches/1.4.x-fixes/src/org/apache/xml/security/utils/resolver/ResourceResolver.java

Author: coheigea
Date: Wed Apr 20 09:36:27 2011
New Revision: 1095339

URL: http://svn.apache.org/viewvc?rev=1095339&view=rev
Log:
[SANTUARIO-253] - Fix for thread-safety issue in ResourceResolver.

Modified:
    santuario/xml-security-java/branches/1.4.x-fixes/src/org/apache/xml/security/utils/resolver/ResourceResolver.java

Modified: santuario/xml-security-java/branches/1.4.x-fixes/src/org/apache/xml/security/utils/resolver/ResourceResolver.java
URL: http://svn.apache.org/viewvc/santuario/xml-security-java/branches/1.4.x-fixes/src/org/apache/xml/security/utils/resolver/ResourceResolver.java?rev=1095339&r1=1095338&r2=1095339&view=diff
==============================================================================
--- santuario/xml-security-java/branches/1.4.x-fixes/src/org/apache/xml/security/utils/resolver/ResourceResolver.java (original)
+++ santuario/xml-security-java/branches/1.4.x-fixes/src/org/apache/xml/security/utils/resolver/ResourceResolver.java Wed Apr 20 09:36:27 2011
@@ -48,13 +48,10 @@ public class ResourceResolver {
     static org.apache.commons.logging.Log log = 
         org.apache.commons.logging.LogFactory.getLog(ResourceResolver.class.getName());
 
-   /** Field _alreadyInitialized */
-   static boolean _alreadyInitialized = false;
-
    /** these are the system-wide resolvers */
-   static List _resolverVector = null;
+   private static List _resolverVector = new ArrayList(10);
    
-   static boolean allThreadSafeInList=true;
+   private static boolean allThreadSafeInList=true;
 
    /** Field transformSpi */
    protected ResourceResolverSpi _resolverSpi = null;
@@ -113,17 +110,6 @@ public class ResourceResolver {
          	log.debug("check resolvability by class " + resolver._resolverSpi.getClass().getName());
 
          if ((resolver != null) && resolverTmp.canResolve(uri, BaseURI)) {
-        	 if (i!=0) {
-            	 //update resolver.
-        		 //System.out.println("Swaping");
-        		 List resolverVector=(List)((ArrayList)_resolverVector).clone();
-        		 resolverVector.remove(i);
-        		 resolverVector.add(0,resolver);        		 
-        		 _resolverVector=resolverVector;        		 
-        	 } else {
-        		 //System.out.println("hitting");
-        	 }
-        	 
             return resolverTmp;
          }
       }
@@ -180,11 +166,6 @@ public class ResourceResolver {
     * The init() function is called by org.apache.xml.security.Init.init()
     */
    public static void init() {
-
-      if (!ResourceResolver._alreadyInitialized) {
-         ResourceResolver._resolverVector = new ArrayList(10);
-         _alreadyInitialized = true;
-      }
    }
 
     /**