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);
}
}