You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cayenne.apache.org by an...@apache.org on 2009/11/25 07:49:48 UTC
svn commit: r883993 -
/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/CayenneContextGraphManager.java
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() {