Print

Print


Commit in lcsim/src/org/lcsim/job on MAIN
JobControlManager.java+19-31.24 -> 1.25
add support for running lcsim xml files in JAS3

lcsim/src/org/lcsim/job
JobControlManager.java 1.24 -> 1.25
diff -u -r1.24 -r1.25
--- JobControlManager.java	31 Aug 2009 17:56:18 -0000	1.24
+++ JobControlManager.java	15 Sep 2009 18:59:18 -0000	1.25
@@ -18,6 +18,7 @@
 import java.lang.reflect.Method;
 import java.net.MalformedURLException;
 import java.net.URL;
+import java.net.URLClassLoader;
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.HashMap;
@@ -27,6 +28,9 @@
 import java.util.StringTokenizer;
 import java.util.Map.Entry;
 
+import org.freehep.application.studio.Studio;
+import org.freehep.jas.services.DynamicClassLoader;
+import org.freehep.util.FreeHEPLookup;
 import org.jdom.Document;
 import org.jdom.Element;
 import org.jdom.Text;
@@ -63,7 +67,7 @@
 	int skipEvents = -1;
 	File cacheDirectory;
 	FileCache fileCache;
-	LCSimClassLoader loader;
+	ClassLoader loader;
 	boolean printDriverStatistics;
 	boolean printSystemProperties;
 	boolean printUserClassPath;
@@ -613,13 +617,25 @@
 			}
 		}
 		URL[] urls = urlList.toArray(new URL[]{});
-		loader = new LCSimClassLoader(urls);
+		
+		// Running in JAS.  Jars need to already be on classpath.
+		if (Studio.getApplication() != null)
+		{
+			FreeHEPLookup fhl = ((Studio) Studio.getApplication()).getLookup();
+			//DynamicClassLoader dcl = (DynamicClassLoader)fhl.lookup(DynamicClassLoader.class);			
+			loader = ((DynamicClassLoader)fhl.lookup(DynamicClassLoader.class)).getClassLoader();
+		}
+		// Running in batch.
+		else
+		{
+			loader = new LCSimClassLoader(urls);
+		}
 
 		// Print user classpath entries.
 		if (printUserClassPath)
 		{
 			logStream.println("-- Extra Classpath URLs --");
-			for (URL url : loader.getURLs())
+			for (URL url : ((URLClassLoader)loader).getURLs())
 			{
 				logStream.println(url);
 			}
CVSspam 0.2.8