support for storing the ServletContext in MirConfig for later use. Have to do this...
authormh <mh>
Tue, 2 Apr 2002 22:56:05 +0000 (22:56 +0000)
committermh <mh>
Tue, 2 Apr 2002 22:56:05 +0000 (22:56 +0000)
source/Mir.java
source/OpenMir.java
source/mir/misc/MirConfig.java
source/mir/servlet/AbstractServlet.java

index 486e4ef..de34636 100755 (executable)
@@ -52,7 +52,8 @@ public class Mir extends AbstractServlet {
         long sessionConnectTime = 0;
         String http = "";
 
-        // get the configration
+        // get the configration - this could conflict if 2 mirs are in the
+        // VM maybe? to be checked. -mh
         if (getServletContext().getAttribute("mir.confed") == null) {
             getConfig(req);
         }
index 1b10a98..b855083 100755 (executable)
@@ -41,7 +41,8 @@ public class OpenMir extends AbstractServlet {
     long            startTime = (new java.util.Date()).getTime();
     long            sessionConnectTime=0;
 
-    // get the configration
+    // get the configration - this could conflict if 2 mirs are in the
+    // VM maybe? to be checked. -mh
     if(getServletContext().getAttribute("mir.confed") == null) {
       getConfig(req);
     }
index c22c2e0..a64f4cf 100755 (executable)
@@ -1,10 +1,13 @@
 package  mir.misc;
 
-import  javax.servlet.http.*;
 import  java.net.*;
 import  java.io.*;
 import  java.util.*;
 import  java.lang.*;
+
+import  javax.servlet.ServletContext;
+import  javax.servlet.http.*;
+
 import  mir.storage.StorageObjectException;
 import  mir.storage.DatabaseAdaptor;
 import com.codestudio.util.*;
@@ -40,11 +43,13 @@ public class MirConfig extends Configuration {
    * @param name, The name of the servlet (usually "Mir")
    * @param confName, the name of the config file to load.
    */
-  public static synchronized void initConfig(String home, String uri,
+  public static synchronized void initConfig(ServletContext ctx, String uri,
                                             String name, String confName) {
     initConfResource(confName);
     configHash = new HashMap();
-    configHash.put("Home", home);
+
+    configHash.put("Home", ctx.getRealPath("/"));
+    configHash.put("ServletContext", ctx);
     configHash.put("RootUri", uri);
 
     Enumeration resKeys = getResourceKeys();
@@ -82,6 +87,16 @@ public class MirConfig extends Configuration {
            (String)configHash.get(propName);
   }
 
+  /**
+   * Returns the property asked for iin raw Object form by 
+   * pulling it out a HashMap
+   * @param a String containing the property name (key)
+   * @return an Object containing the prop.value
+   */
+  public static Object getPropAsObject(String propName) {
+    return configHash.get(propName);
+  }
+
   public static void initDbPool () throws StorageObjectException {
     if (configHash == null) {
         throw new StorageObjectException("MirConfig -- Trying initialize "+
index 0bbeb45..82b6aa4 100755 (executable)
@@ -30,13 +30,15 @@ public abstract class AbstractServlet extends HttpServlet {
     protected boolean getConfig(HttpServletRequest req)
             throws UnavailableException {
 
-        String RealPath = super.getServletContext().getRealPath("/");
+        //String RealPath = super.getServletContext().getRealPath("/");
         String Uri = req.getRequestURI();
         String Name = super.getServletName();
         String RootUri = StringUtil.replace(Uri, "/servlet/" + Name, "");
 
         // init config
-        MirConfig.initConfig(RealPath, RootUri, Name, getInitParameter("Config"));
+        //MirConfig.initConfig(RealPath, RootUri, Name, getInitParameter("Config"));
+        MirConfig.initConfig(super.getServletContext(), RootUri, Name,
+                              getInitParameter("Config"));
 
         theLog = Logfile.getInstance(MirConfig.getPropWithHome(Name + ".Logfile"));
         theLog.printInfo(Name + " started.");