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() {