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;
     }