dblevins    2005/07/05 22:04:04

  Modified:    modules/itests/src/java/org/openejb/test
                        PostgreSqlTestDatabase.java TestManager.java
  Log:

  Moved the getContextClassLoader method to the OpenEJB class so ClasspathUtils 
only contains the classpath modifying methods used by the Loaders and other 
code.
  
  Going to kill the ClasspathUtils and make everyone as the loaders directly to 
modify the classpath, rather than sometimes using the loader and then asking 
ClasspathUtils to guess what loader to use.
  
  Part of the fix for OPENEJB-40, OPENEJB-41 and OPENEJB-42.
  
  Revision  Changes    Path
  1.2       +2 -1      
openejb1/modules/itests/src/java/org/openejb/test/PostgreSqlTestDatabase.java
  
  Index: PostgreSqlTestDatabase.java
  ===================================================================
  RCS file: 
/home/projects/openejb/scm/openejb1/modules/itests/src/java/org/openejb/test/PostgreSqlTestDatabase.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- PostgreSqlTestDatabase.java       26 Mar 2004 21:43:12 -0000      1.1
  +++ PostgreSqlTestDatabase.java       6 Jul 2005 02:04:04 -0000       1.2
  @@ -13,6 +13,7 @@
   
   import org.openejb.test.beans.Database;
   import org.openejb.test.beans.DatabaseHome;
  +import org.openejb.OpenEJB;
   /**
    * 
    * @author <a href="mailto:[EMAIL PROTECTED]">David Blevins</a>
  @@ -140,7 +141,7 @@
       public static void main(String[] args){
           System.out.println("Checking if driver is registered with 
DriverManager.");
           try{
  -            ClassLoader cl = 
org.openejb.util.ClasspathUtils.getContextClassLoader();
  +            ClassLoader cl = OpenEJB.getContextClassLoader();
               Class.forName("org.postgresql.Driver", true, cl);
           } catch (ClassNotFoundException e){
               System.out.println("Couldn't find the driver!");
  
  
  
  1.2       +11 -3     
openejb1/modules/itests/src/java/org/openejb/test/TestManager.java
  
  Index: TestManager.java
  ===================================================================
  RCS file: 
/home/projects/openejb/scm/openejb1/modules/itests/src/java/org/openejb/test/TestManager.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- TestManager.java  26 Mar 2004 21:43:13 -0000      1.1
  +++ TestManager.java  6 Jul 2005 02:04:04 -0000       1.2
  @@ -81,13 +81,21 @@
           props.load(new FileInputStream(file));
           return props;
       }
  -    
  +
  +    private static ClassLoader getContextClassLoader() {
  +        return (ClassLoader) java.security.AccessController.doPrivileged(new 
java.security.PrivilegedAction() {
  +            public Object run() {
  +                return Thread.currentThread().getContextClassLoader();
  +            }
  +        });
  +    }
  +
       private static void initServer(Properties props){
           try{
   
               String className = 
(String)props.getProperty("openejb.test.server");
               if (className == null) throw new IllegalArgumentException("Must 
specify a test server by setting its class name using the system property 
\"openejb.test.server\"");
  -            ClassLoader cl = 
org.openejb.util.ClasspathUtils.getContextClassLoader();
  +            ClassLoader cl = getContextClassLoader();
               Class testServerClass = Class.forName( className, true, cl );
               server = (TestServer)testServerClass.newInstance();
               server.init( props );
  @@ -102,7 +110,7 @@
           try{
               String className = 
(String)props.getProperty("openejb.test.database");
               if (className == null) throw new IllegalArgumentException("Must 
specify a test database by setting its class name  using the system property 
\"openejb.test.database\"");
  -            ClassLoader cl = 
org.openejb.util.ClasspathUtils.getContextClassLoader();
  +            ClassLoader cl = getContextClassLoader();
               Class testDatabaseClass = Class.forName( className , true, cl);
               database = (TestDatabase)testDatabaseClass.newInstance();
               database.init( props );
  
  
  

Reply via email to