object store preparations before being integrated in Database.java
[mir.git] / source / mir / storage / store / StoreIdentifier.java
index 92ae95c..6c8969b 100755 (executable)
@@ -14,6 +14,7 @@ package mir.storage.store;
  */
 import java.util.*;
 import mir.misc.Logfile;
+import mir.entity.*;
 
 public class StoreIdentifier {
 
@@ -34,10 +35,20 @@ public class StoreIdentifier {
        private StoreIdentifier() {}
 
        public StoreIdentifier(StorableObject reference, int storeType, String uniqueIdentifier) {
-    this(reference.getClass(), uniqueIdentifier);
+    Class theClass;
+    if (reference instanceof EntityList)
+      theClass=((EntityList)reference).getEntityClass();
+    else
+      theClass=reference.getClass();
+    this.uniqueIdentifier=uniqueIdentifier;
+               this.stocType = StoreContainerType.valueOf(theClass, storeType);
                this.reference=reference;
        }
 
+  public StoreIdentifier(StorableObject reference, String uniqueIdentifier) {
+    this(reference, StoreContainerType.STOC_TYPE_ENTITY, uniqueIdentifier);
+  }
+
   public StoreIdentifier(Class theClass, String uniqueIdentifier) {
     this(theClass, StoreContainerType.STOC_TYPE_ENTITY,uniqueIdentifier);
   }
@@ -109,8 +120,9 @@ public class StoreIdentifier {
        public boolean equals(Object sid) {
     if ( !(sid instanceof StoreIdentifier) ) return false;
     if ( ((StoreIdentifier)sid).getStoreContainerType()==stocType &&
-         ((StoreIdentifier)sid).getUniqueIdentifier().equals(uniqueIdentifier) )
-                               return true;
+         ((StoreIdentifier)sid).getUniqueIdentifier().equals(uniqueIdentifier) ) {
+      return true;
+    }
                return false;
        }