1.1 --- a/mdr/src/org/netbeans/mdr/storagemodel/MdrStorage.java Mon Mar 24 10:29:05 2003 +0000
1.2 +++ b/mdr/src/org/netbeans/mdr/storagemodel/MdrStorage.java Mon Mar 24 13:35:37 2003 +0000
1.3 @@ -646,11 +646,13 @@
1.4 SinglevaluedIndex objectsIndex = this.getObjectsIndexByMofId((org.netbeans.mdr.persistence.MOFID)key);
1.5 if (objectsIndex == null)
1.6 throw new DebugException("Invalid key");
1.7 - if (index instanceof MultivaluedOrderedIndex) {
1.8 - return ((MultivaluedOrderedIndex) index).getObjectsOrdered(key, objectsIndex);
1.9 - }
1.10 - else {
1.11 - return index.getObjects(key, objectsIndex);
1.12 + synchronized (getStorageById(((org.netbeans.mdr.persistence.MOFID) key).getStorageID())) {
1.13 + if (index instanceof MultivaluedOrderedIndex) {
1.14 + return ((MultivaluedOrderedIndex) index).getObjectsOrdered(key, objectsIndex);
1.15 + }
1.16 + else {
1.17 + return index.getObjects(key, objectsIndex);
1.18 + }
1.19 }
1.20 }
1.21
1.22 @@ -1568,7 +1570,9 @@
1.23 SinglevaluedIndex objectsIndex = (SinglevaluedIndex) this.objects.get(storageID);
1.24 if (objectsIndex == null)
1.25 return null;
1.26 - return objectsIndex.get(key);
1.27 + synchronized (getStorageById(storageID)) {
1.28 + return objectsIndex.get(key);
1.29 + }
1.30 }
1.31
1.32 public synchronized Storage getTransientStorage () throws StorageException {