From ac27342830d303ba1043db68f295875fe3a1ef4d Mon Sep 17 00:00:00 2001 From: adam Date: Tue, 3 Aug 2004 07:26:42 +0000 Subject: [PATCH] basically a total restructuring darcs-hash:20040803072642-5007d-6f6631bb227cc73addfe64a36289624ff8823bb0.gz --- src/org/ibex/jinetd/Host.java | 2 +- src/org/ibex/jinetd/Loader.java | 191 ++++++++++++++++++++++---------------- src/org/ibex/jinetd/Port.java | 92 +++++++++--------- src/org/ibex/jinetd/Root.java | 10 +- src/org/ibex/jinetd/Watcher.java | 3 +- 5 files changed, 171 insertions(+), 127 deletions(-) diff --git a/src/org/ibex/jinetd/Host.java b/src/org/ibex/jinetd/Host.java index ade17d3..c5ae337 100644 --- a/src/org/ibex/jinetd/Host.java +++ b/src/org/ibex/jinetd/Host.java @@ -11,7 +11,7 @@ public class Host extends Loader { public void changed(Watched w) { super.changed(w); - Log.error(this, "changed(" + w + ")"); + Log.debug(this, "changed(" + w + ")"); try { ClassLoader cl = getClassLoader(); if (cl == null) return; diff --git a/src/org/ibex/jinetd/Loader.java b/src/org/ibex/jinetd/Loader.java index 0d6ca14..b166df6 100644 --- a/src/org/ibex/jinetd/Loader.java +++ b/src/org/ibex/jinetd/Loader.java @@ -2,24 +2,40 @@ 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(); 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 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