You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cayenne.apache.org by aa...@apache.org on 2006/05/24 06:51:00 UTC

svn commit: r409070 - /incubator/cayenne/main/trunk/cayenne/cayenne-java/src/cayenne/java/org/objectstyle/cayenne/access/DataContext.java

Author: aadamchik
Date: Tue May 23 21:51:00 2006
New Revision: 409070

URL: http://svn.apache.org/viewvc?rev=409070&view=rev
Log:
caching state in a local var - this method is called in the loop when the objects are fetched, thus its impact registers in the query profile

Modified:
    incubator/cayenne/main/trunk/cayenne/cayenne-java/src/cayenne/java/org/objectstyle/cayenne/access/DataContext.java

Modified: incubator/cayenne/main/trunk/cayenne/cayenne-java/src/cayenne/java/org/objectstyle/cayenne/access/DataContext.java
URL: http://svn.apache.org/viewvc/incubator/cayenne/main/trunk/cayenne/cayenne-java/src/cayenne/java/org/objectstyle/cayenne/access/DataContext.java?rev=409070&r1=409069&r2=409070&view=diff
==============================================================================
--- incubator/cayenne/main/trunk/cayenne/cayenne-java/src/cayenne/java/org/objectstyle/cayenne/access/DataContext.java (original)
+++ incubator/cayenne/main/trunk/cayenne/cayenne-java/src/cayenne/java/org/objectstyle/cayenne/access/DataContext.java Tue May 23 21:51:00 2006
@@ -1914,10 +1914,12 @@
         // merge into an existing object
         if (cachedObject != null) {
 
+            int state = cachedObject.getPersistenceState();
+
             // TODO: Andrus, 1/24/2006 implement smart merge for modified objects...
             if (cachedObject != prototype
-                    && cachedObject.getPersistenceState() != PersistenceState.MODIFIED
-                    && cachedObject.getPersistenceState() != PersistenceState.DELETED) {
+                    && state != PersistenceState.MODIFIED
+                    && state != PersistenceState.DELETED) {
 
                 descriptor.injectValueHolders(cachedObject);
 
@@ -1926,7 +1928,7 @@
 
                     descriptor.shallowMerge(prototype, cachedObject);
 
-                    if (cachedObject.getPersistenceState() == PersistenceState.HOLLOW) {
+                    if (state == PersistenceState.HOLLOW) {
                         cachedObject.setPersistenceState(PersistenceState.COMMITTED);
                     }
                 }