merge of localization branch into HEAD. mh and zap
[mir.git] / source / mir / misc / MirConfig.java
index bfd51d7..a3e9199 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();
@@ -68,7 +73,14 @@ public class MirConfig extends Configuration {
    * @return a String containing the prop. value
    */
   public static String getProp(String propName) {
-    return (String)configHash.get(propName);
+    String result = (String)configHash.get(propName);
+
+    if (result==null)
+      throw new ConfigException("config property '"+propName+"' not available!");
+
+
+
+    return result;
   }
 
   /**
@@ -78,8 +90,17 @@ public class MirConfig extends Configuration {
    * @return a String containing the prop.value
    */
   public static String getPropWithHome(String propName) {
-    return (String)configHash.get("Home") +
-           (String)configHash.get(propName);
+    return getProp("Home") + getProp(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 {
@@ -139,6 +160,7 @@ public class MirConfig extends Configuration {
       meta.setJNDIName("mir");
       meta.setMaximumSize(Integer.parseInt(max));
       meta.setMinimumSize(Integer.parseInt(min));
+      meta.setPoolPreparedStatements(false);
       meta.setCacheEnabled(false);
       meta.setCacheSize(15);
       meta.setDebugging(false);