dblevins    2005/07/06 19:42:08

  Modified:    modules/core/src/java/org/openejb/loader SystemLoader.java
                        TomcatWebappLoader.java
  Log:

  Small step in the ClasspathUtils/Loader refactor.
  
  Revision  Changes    Path
  1.3       +20 -5     
openejb1/modules/core/src/java/org/openejb/loader/SystemLoader.java
  
  Index: SystemLoader.java
  ===================================================================
  RCS file: 
/home/projects/openejb/scm/openejb1/modules/core/src/java/org/openejb/loader/SystemLoader.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- SystemLoader.java 16 Jun 2005 22:29:51 -0000      1.2
  +++ SystemLoader.java 6 Jul 2005 23:42:08 -0000       1.3
  @@ -45,6 +45,10 @@
   package org.openejb.loader;
   
   import java.util.Hashtable;
  +import java.io.File;
  +
  +import org.openejb.util.ClasspathUtils;
  +import org.openejb.util.FileUtils;
   
   
   /**
  @@ -58,6 +62,12 @@
   public class SystemLoader implements Loader {
       
       static boolean loaded = false;
  +    private final ClasspathUtils.Loader loader;
  +
  +    public SystemLoader() {
  +        this.loader = ClasspathUtils.sysLoader;
  +    }
  +
       /**
        * Checks to see if OpenEJB is available through the system 
        * classpath.  If it isn't, then the required libraries are
  @@ -81,8 +91,7 @@
               
               embedded = (Loader)loaderClass.newInstance();
               embedded.load( env );
  -            
  -            org.openejb.util.ClasspathUtils.rebuildJavaClassPathVariable();
  +
           } catch (Exception e){
               throw new Exception( "Cannot embed OpenEJB. Exception: "+
                                    e.getClass().getName()+" "+ e.getMessage());
  @@ -100,14 +109,20 @@
           
           try{
               // Loads all the libraries in the openejb.home/lib directory
  -            org.openejb.util.ClasspathUtils.addJarsToPath("lib", "system");
  +            addJarsToPath("lib");
   
               // Loads all the libraries in the openejb.home/dist directory
  -            org.openejb.util.ClasspathUtils.addJarsToPath("dist", "system");
  +            addJarsToPath("dist");
           } catch (Exception e){
               throw new Exception( "Could not load OpenEJB libraries. 
Exception: "+
                                    e.getClass().getName()+" "+ e.getMessage());
           }
  +    }
  +
  +    private void addJarsToPath(String dir) throws Exception {
  +        Hashtable env = System.getProperties();
  +        File dirAtHome = FileUtils.getHome(env).getDirectory(dir);
  +        loader.addJarsToPath(dirAtHome);
       }
   }
   
  
  
  
  1.4       +16 -4     
openejb1/modules/core/src/java/org/openejb/loader/TomcatWebappLoader.java
  
  Index: TomcatWebappLoader.java
  ===================================================================
  RCS file: 
/home/projects/openejb/scm/openejb1/modules/core/src/java/org/openejb/loader/TomcatWebappLoader.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- TomcatWebappLoader.java   6 Jul 2005 02:04:03 -0000       1.3
  +++ TomcatWebappLoader.java   6 Jul 2005 23:42:08 -0000       1.4
  @@ -48,6 +48,7 @@
   import java.util.Hashtable;
   
   import org.openejb.util.ClasspathUtils;
  +import org.openejb.util.FileUtils;
   
   /**
    * 
  @@ -56,7 +57,12 @@
   public class TomcatWebappLoader implements Loader {
       
       static boolean loaded = false;
  -    
  +    private final ClasspathUtils.Loader loader;
  +
  +    public TomcatWebappLoader() {
  +        this.loader = ClasspathUtils.webappLoader;
  +    }
  +
       /**
        * Checks to see if OpenEJB is available through classpath.  
        * If it isn't, then the required libraries are
  @@ -109,14 +115,20 @@
           
           try{
               // Loads all the libraries in the openejb.home/lib directory
  -            
org.openejb.util.ClasspathUtils.addJarsToPath("lib","tomcat-webapp");
  +            addJarsToPath("lib");
   
               // Loads all the libraries in the openejb.home/dist directory
  -            
org.openejb.util.ClasspathUtils.addJarsToPath("dist","tomcat-webapp");
  +            addJarsToPath("dist");
   
           } catch (Exception e){
               throw new Exception( "Could not load OpenEJB libraries. 
Exception: "+
                                    e.getClass().getName()+" "+ e.getMessage());
           }
  +    }
  +
  +    private void addJarsToPath(String dir) throws Exception {
  +        Hashtable env = System.getProperties();
  +        File dirAtHome = FileUtils.getHome(env).getDirectory(dir);
  +        loader.addJarsToPath(dirAtHome);
       }
   }
  
  
  

Reply via email to