rebuilding head
[mir.git] / source / mir / storage / store / ObjectStore.java
index 72b3400..0c65b1c 100755 (executable)
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  *
  * In addition, as a special exception, The Mir-coders gives permission to link
- * the code of this program with  any library licensed under the Apache Software License, 
- * The Sun (tm) Java Advanced Imaging library (JAI), The Sun JIMI library 
- * (or with modified versions of the above that use the same license as the above), 
- * and distribute linked combinations including the two.  You must obey the 
- * GNU General Public License in all respects for all of the code used other than 
- * the above mentioned libraries.  If you modify this file, you may extend this 
- * exception to your version of the file, but you are not obligated to do so.  
+ * the code of this program with  any library licensed under the Apache Software License,
+ * The Sun (tm) Java Advanced Imaging library (JAI), The Sun JIMI library
+ * (or with modified versions of the above that use the same license as the above),
+ * and distribute linked combinations including the two.  You must obey the
+ * GNU General Public License in all respects for all of the code used other than
+ * the above mentioned libraries.  If you modify this file, you may extend this
+ * exception to your version of the file, but you are not obligated to do so.
  * If you do not wish to do so, delete this exception statement from your version.
  */
 package mir.storage.store;
@@ -62,9 +62,10 @@ package mir.storage.store;
 import java.util.HashMap;
 import java.util.Iterator;
 import java.util.Map;
-
+import java.util.MissingResourceException;
 import javax.servlet.http.HttpServletRequest;
 
+import mir.config.MirPropertiesConfiguration;
 import mir.log.LoggerWrapper;
 
 public class ObjectStore {
@@ -72,10 +73,12 @@ public class ObjectStore {
   private final static ObjectStore INSTANCE = new ObjectStore();
   private final static Map containerMap = new HashMap(); // StoreContainerType/StoreContainer
   private static long storeHit = 0, storeMiss = 0;
+  private MirPropertiesConfiguration configuration;
   private LoggerWrapper logger;
 
   private ObjectStore() {
-       logger = new LoggerWrapper("Database");
+    logger = new LoggerWrapper("Database.ObjectStore");
+    configuration = MirPropertiesConfiguration.instance();
   }
 
   public static ObjectStore getInstance() {
@@ -142,14 +145,11 @@ public class ObjectStore {
   }
 
   /**
-   *  Method:       invalidate(StoreContainerType)
-   *  Description:  serves to invalidate a whole StoreContainer
-   *
-   *  @return
+   * serves to invalidate a whole StoreContainer
    */
   public void invalidate(StoreContainerType stoc_type) {
     if (stoc_type != null) {
-      /** @todo invalidates too much:
+      /*  @todo invalidates too much:
        *  improvement: if instanceof StoreContainerEntity && EntityList
        *  then invalidate only StoreIdentifier matching the right table
        */
@@ -190,6 +190,18 @@ public class ObjectStore {
     return (stoc != null && stoc.has(sid)) ? true : false;
   }
 
+  public String getConfProperty(String name) {
+    if (name != null) {
+      try {
+        return configuration.getString(name);
+      }
+      catch (MissingResourceException e) {
+        logger.error("getConfProperty: " + e.toString());
+      }
+    }
+    return null;
+  }
+
   /**
    *  Method:       toString()
    *  Description:  Displays statistical information about the ObjectStore.