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


Reply via email to