Author: andrey
Date: Wed Nov 25 06:49:45 2009
New Revision: 883993
URL: http://svn.apache.org/viewvc?rev=883993&view=rev
Log:
trying to fix error on java5
Modified:
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/CayenneContextGraphManager.java
Modified:
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/CayenneContextGraphManager.java
URL:
http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/CayenneContextGraphManager.java?rev=883993&r1=883992&r2=883993&view=diff
==============================================================================
---
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/CayenneContextGraphManager.java
(original)
+++
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/CayenneContextGraphManager.java
Wed Nov 25 06:49:45 2009
@@ -41,6 +41,7 @@
import org.apache.cayenne.reflect.ClassDescriptor;
import org.apache.cayenne.reflect.PropertyException;
import org.apache.cayenne.reflect.ToManyMapProperty;
+import org.apache.cayenne.util.PersistentObjectMap;
/**
* A GraphMap extension that works together with ObjectContext to track
persistent object
@@ -205,12 +206,16 @@
while (it.hasNext()) {
Map.Entry<?, ?> e = (Map.Entry<?, ?>) it.next();
if (e.getValue() == target) {
+ //this remove does not trigger event in PersistentObjectMap
it.remove();
break;
}
}
- map.put(newKey, target);
+ //TODO: (andrey, 25/11/09 - this is a hack to prevent event triggering
+ // (and concurrent exceptions)
+ //should find a way to get rid of type casting
+ ((PersistentObjectMap) map).putDirectly(newKey, target);
}
void graphFlushed() {