You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openjpa.apache.org by fa...@apache.org on 2010/09/10 00:35:19 UTC
svn commit: r995596 - in /openjpa/trunk:
openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/meta/strats/HandlerHandlerMapTableFieldStrategy.java
openjpa-kernel/src/main/java/org/apache/openjpa/util/ProxyMaps.java
Author: faywang
Date: Thu Sep 9 22:35:19 2010
New Revision: 995596
URL: http://svn.apache.org/viewvc?rev=995596&view=rev
Log:
OPENJPA-1784: clean up fix
Modified:
openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/meta/strats/HandlerHandlerMapTableFieldStrategy.java
openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/util/ProxyMaps.java
Modified: openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/meta/strats/HandlerHandlerMapTableFieldStrategy.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/meta/strats/HandlerHandlerMapTableFieldStrategy.java?rev=995596&r1=995595&r2=995596&view=diff
==============================================================================
--- openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/meta/strats/HandlerHandlerMapTableFieldStrategy.java (original)
+++ openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/meta/strats/HandlerHandlerMapTableFieldStrategy.java Thu Sep 9 22:35:19 2010
@@ -21,7 +21,6 @@ package org.apache.openjpa.jdbc.meta.str
import java.sql.*;
import java.util.*;
-import org.apache.openjpa.enhance.PersistenceCapable;
import org.apache.openjpa.jdbc.identifier.DBIdentifier;
import org.apache.openjpa.jdbc.kernel.*;
import org.apache.openjpa.jdbc.meta.*;
@@ -215,11 +214,8 @@ public class HandlerHandlerMapTableField
for (Iterator itr = change.iterator(); itr.hasNext();) {
mkey = itr.next();
- Object mval = map.get(mkey);
- if ((mval instanceof PersistenceCapable) && !((PersistenceCapable)mval).pcIsDirty())
- continue;
HandlerStrategies.where(key, mkey, store, changeRow, _kcols);
- HandlerStrategies.set(val, mval, store, changeRow,
+ HandlerStrategies.set(val, map.get(mkey), store, changeRow,
_vcols, _vio, true);
rm.flushSecondaryRow(changeRow);
}
Modified: openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/util/ProxyMaps.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/util/ProxyMaps.java?rev=995596&r1=995595&r2=995596&view=diff
==============================================================================
--- openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/util/ProxyMaps.java (original)
+++ openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/util/ProxyMaps.java Thu Sep 9 22:35:19 2010
@@ -26,8 +26,6 @@ import java.util.Map;
import java.util.Iterator;
import java.util.Set;
-import org.apache.openjpa.enhance.PersistenceCapable;
-
/**
* Utility methods used by map proxies.
*
@@ -85,6 +83,9 @@ public class ProxyMaps
/**
* Call after invoking {@link Map#get} on super.
+ * The potential change is tracked when the get method is called. This change
+ * will not translated to an update statement if the retrieved value
+ * is not dirty.
*
* @param ret the return value from the super's method
* @param before the return value from {@link #beforeGet}
@@ -93,10 +94,10 @@ public class ProxyMaps
public static Object afterGet(ProxyMap map, Object key,
Object ret, boolean before) {
if (before) {
- if (map.getChangeTracker() != null && (ret instanceof PersistenceCapable))
+ if (map.getChangeTracker() != null)
((MapChangeTracker) map.getChangeTracker()).changed(key, ret,
ret);
- }
+ }
return ret;
}