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.*;
* @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();
* @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;
}
/**
* @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 {
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);