X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=src%2Forg%2Fibex%2Fjinetd%2FLoader.java;h=8f9fef83372abbee6b68f06874d56296e7510745;hb=71778e79b8d806591e9701f1798f338bdaa5e8f9;hp=0d6ca14128a300977ed58708395e90482cabdb80;hpb=5a70dae9ae337182636a4c4d59951019a24e9f34;p=org.ibex.jinetd.git diff --git a/src/org/ibex/jinetd/Loader.java b/src/org/ibex/jinetd/Loader.java index 0d6ca14..8f9fef8 100644 --- a/src/org/ibex/jinetd/Loader.java +++ b/src/org/ibex/jinetd/Loader.java @@ -2,24 +2,43 @@ package org.ibex.jinetd; import org.ibex.util.*; import java.io.*; import java.util.*; +import java.text.*; +import java.net.*; import java.util.zip.*; /** represents a file or directory which is scanned for updates */ public class Loader extends Watcher { + ClassLoader parentClassLoader = null; + static final ClassLoader mycl = Loader.class.getClassLoader(); + + protected ThreadGroup tg = new ThreadGroup(getAbsolutePath()); + public Loader(String path) { super(path); } + //public Loader(String path, ClassLoader pcl) { super(path); this.parentClassLoader = pcl; } - private TreeClassLoader classloader = new TreeClassLoader(); - public ClassLoader getClassLoader() { + private TreeClassLoader classloader = null; + public synchronized void scan() throws IOException { super.scan(); } + public synchronized ClassLoader getClassLoader() { ClassLoader classloader = this.classloader; if (classloader == null) { - classloader = this.classloader = new TreeClassLoader(); - Log.warn(this, "getting classloader..."); + String s = getClassPath(); + StringTokenizer st = new StringTokenizer(s, File.pathSeparatorChar+""); + URL[] urls = new URL[st.countTokens()]; try { - compileSource(); - } catch (Exception e) { + for(int i=0; i