Author: antelder
Date: Tue Jul 12 08:19:31 2011
New Revision: 1145485

URL: http://svn.apache.org/viewvc?rev=1145485&view=rev
Log:
Add a doPrivileged around getContextClassLoader() so that it works with 
security enabled

Modified:
    
tuscany/sca-java-2.x/trunk/modules/sca-api/src/main/java/org/oasisopen/sca/client/impl/SCAClientFactoryFinderImpl.java

Modified: 
tuscany/sca-java-2.x/trunk/modules/sca-api/src/main/java/org/oasisopen/sca/client/impl/SCAClientFactoryFinderImpl.java
URL: 
http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/sca-api/src/main/java/org/oasisopen/sca/client/impl/SCAClientFactoryFinderImpl.java?rev=1145485&r1=1145484&r2=1145485&view=diff
==============================================================================
--- 
tuscany/sca-java-2.x/trunk/modules/sca-api/src/main/java/org/oasisopen/sca/client/impl/SCAClientFactoryFinderImpl.java
 (original)
+++ 
tuscany/sca-java-2.x/trunk/modules/sca-api/src/main/java/org/oasisopen/sca/client/impl/SCAClientFactoryFinderImpl.java
 Tue Jul 12 08:19:31 2011
@@ -4,8 +4,6 @@
  */
 package org.oasisopen.sca.client.impl;
 
-import org.oasisopen.sca.client.SCAClientFactoryFinder;
-
 import java.io.BufferedReader;
 import java.io.Closeable;
 import java.io.IOException;
@@ -14,11 +12,14 @@ import java.io.InputStreamReader;
 import java.lang.reflect.Constructor;
 import java.net.URI;
 import java.net.URL;
+import java.security.AccessController;
+import java.security.PrivilegedAction;
 import java.util.Properties;
 
 import org.oasisopen.sca.NoSuchDomainException;
 import org.oasisopen.sca.ServiceRuntimeException;
 import org.oasisopen.sca.client.SCAClientFactory;
+import org.oasisopen.sca.client.SCAClientFactoryFinder;
 
 /**
  * This is a default implementation of an SCAClientFactoryFinder which is 
@@ -88,9 +89,11 @@ public class SCAClientFactoryFinderImpl 
      * @return The Context ClassLoader for the current Thread.
      */
     private static ClassLoader getThreadContextClassLoader () {
-        final ClassLoader threadClassLoader = 
-               Thread.currentThread().getContextClassLoader();
-        return threadClassLoader;
+        return AccessController.doPrivileged(new 
PrivilegedAction<ClassLoader>() {
+            public ClassLoader run() {
+                return Thread.currentThread().getContextClassLoader();
+            }
+        });
     }
 
     /**


Reply via email to