X-Git-Url: http://git.dolda2000.com/gitweb/?a=blobdiff_plain;f=src%2Fdolda%2Fjsvc%2Futil%2FSimpleContext.java;fp=src%2Fdolda%2Fjsvc%2Futil%2FSimpleContext.java;h=0849101a93e430e66313c9bf71a6f58ef4363758;hb=22779185ec3cd3ab6fafdbcbe675161ceae9ce7d;hp=0000000000000000000000000000000000000000;hpb=a13bfa2c65aa523f9981531f3db1f125fbcfc19e;p=jsvc.git diff --git a/src/dolda/jsvc/util/SimpleContext.java b/src/dolda/jsvc/util/SimpleContext.java new file mode 100644 index 0000000..0849101 --- /dev/null +++ b/src/dolda/jsvc/util/SimpleContext.java @@ -0,0 +1,57 @@ +package dolda.jsvc.util; + +import java.io.*; +import java.util.*; +import dolda.jsvc.*; + +public class SimpleContext implements ServerContext { + private final long ctime; + private final String name; + public final ClassLoader loader; + protected final Properties sysconfig, libconfig; + + private void loadconfig() { + try { + InputStream pi = loader.getResourceAsStream("jsvc.properties"); + if(pi != null) { + try { + libconfig.load(pi); + } finally { + pi.close(); + } + } + } catch(IOException e) { + throw(new Error(e)); + } + } + + public SimpleContext(ClassLoader cl, String name) { + this.ctime = System.currentTimeMillis(); + this.name = name; + this.loader = cl; + sysconfig = new Properties(); + libconfig = new Properties(); + + loadconfig(); + } + + public long starttime() { + return(ctime); + } + + public String name() { + return(name); + } + + public String sysconfig(String key, String def) { + return(sysconfig.getProperty(key, def)); + } + + public String libconfig(String key, String def) { + return(libconfig.getProperty(key, def)); + } + + public RequestThread worker(Responder root, Request req, ThreadGroup tg, String name) { + return(new RequestThread(root, req, tg, name)); + } +}