dblevins    2005/08/26 17:57:27

  Modified:    modules/core/src/java/org/openejb/loader
                        TomcatClassPath.java WebAppClassPath.java
  Log:

  The Tomcat classpath support was buggy for webapp support
  
  Revision  Changes    Path
  1.4       +21 -16    
openejb1/modules/core/src/java/org/openejb/loader/TomcatClassPath.java
  
  Index: TomcatClassPath.java
  ===================================================================
  RCS file: 
/home/projects/openejb/scm/openejb1/modules/core/src/java/org/openejb/loader/TomcatClassPath.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- TomcatClassPath.java      24 Jul 2005 10:48:53 -0000      1.3
  +++ TomcatClassPath.java      26 Aug 2005 21:57:27 -0000      1.4
  @@ -63,7 +63,7 @@
       /**
        * The Tomcat Common ClassLoader
        */
  -    private final ClassLoader tomcatLoader;
  +    private final ClassLoader classLoader;
   
       /**
        * The addRepository(String jar) method of the Tomcat Common ClassLoader
  @@ -71,8 +71,13 @@
       private Method addRepositoryMethod;
       private Method addURLMethod;
   
  +
       public TomcatClassPath() {
  -        tomcatLoader = getCommonLoader(getContextClassLoader()).getParent();
  +        this(getCommonLoader(getContextClassLoader()).getParent());
  +    }
  +
  +    public TomcatClassPath(ClassLoader classLoader){
  +        this.classLoader = classLoader;
           try {
               addRepositoryMethod = getAddRepositoryMethod();
           } catch (Exception tomcat4Exception) {
  @@ -85,6 +90,18 @@
           }
       }
   
  +    private static ClassLoader getCommonLoader(ClassLoader loader) {
  +        if 
(loader.getClass().getName().equals("org.apache.catalina.loader.StandardClassLoader"))
 {
  +            return loader;
  +        } else {
  +            return getCommonLoader(loader.getParent());
  +        }
  +    }
  +    
  +    public ClassLoader getClassLoader() {
  +        return classLoader;
  +    }
  +
       public void addJarsToPath(File dir) throws Exception {
           String[] jarNames = dir.list(new java.io.FilenameFilter() {
               public boolean accept(File dir, String name) {
  @@ -102,10 +119,6 @@
           rebuild();
       }
   
  -    public ClassLoader getClassLoader() {
  -        return tomcatLoader;
  -    }
  -
       public void addJarToPath(URL jar) throws Exception {
           this._addJarToPath(jar);
           rebuild();
  @@ -151,14 +164,6 @@
           } catch (Exception e) {
           }
   
  -    }
  -
  -    private ClassLoader getCommonLoader(ClassLoader loader) {
  -        if 
(loader.getClass().getName().equals("org.apache.catalina.loader.StandardClassLoader"))
 {
  -            return loader;
  -        } else {
  -            return this.getCommonLoader(loader.getParent());
  -        }
       }
   
       /**
  
  
  
  1.4       +5 -6      
openejb1/modules/core/src/java/org/openejb/loader/WebAppClassPath.java
  
  Index: WebAppClassPath.java
  ===================================================================
  RCS file: 
/home/projects/openejb/scm/openejb1/modules/core/src/java/org/openejb/loader/WebAppClassPath.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- WebAppClassPath.java      24 Jul 2005 10:48:53 -0000      1.3
  +++ WebAppClassPath.java      26 Aug 2005 21:57:27 -0000      1.4
  @@ -49,14 +49,13 @@
    * @version $Revision$ $Date$
    */
   public class WebAppClassPath extends TomcatClassPath {
  -    private final ClassLoader webappLoader;
   
       public WebAppClassPath() {
  -        this.webappLoader = getContextClassLoader();
  +        this(getContextClassLoader());
       }
   
  -    public ClassLoader getClassLoader() {
  -        return webappLoader;
  +    public WebAppClassPath(ClassLoader classLoader){
  +        super(classLoader);
       }
   
       protected void rebuild() {
  
  
  

Reply via email to