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/08/16 20:32:36 UTC
svn commit: r431978 - in
/incubator/cayenne/main/branches/STABLE-2.0/cayenne/cayenne-java/src:
cayenne/java/org/apache/cayenne/access/ToManyList.java
tests/java/org/apache/cayenne/access/ToManyListTst.java
Author: aadamchik
Date: Wed Aug 16 11:32:36 2006
New Revision: 431978
URL: http://svn.apache.org/viewvc?rev=431978&view=rev
Log:
CAY-614 v. 2.0
Modified:
incubator/cayenne/main/branches/STABLE-2.0/cayenne/cayenne-java/src/cayenne/java/org/apache/cayenne/access/ToManyList.java
incubator/cayenne/main/branches/STABLE-2.0/cayenne/cayenne-java/src/tests/java/org/apache/cayenne/access/ToManyListTst.java
Modified: incubator/cayenne/main/branches/STABLE-2.0/cayenne/cayenne-java/src/cayenne/java/org/apache/cayenne/access/ToManyList.java
URL: http://svn.apache.org/viewvc/incubator/cayenne/main/branches/STABLE-2.0/cayenne/cayenne-java/src/cayenne/java/org/apache/cayenne/access/ToManyList.java?rev=431978&r1=431977&r2=431978&view=diff
==============================================================================
--- incubator/cayenne/main/branches/STABLE-2.0/cayenne/cayenne-java/src/cayenne/java/org/apache/cayenne/access/ToManyList.java (original)
+++ incubator/cayenne/main/branches/STABLE-2.0/cayenne/cayenne-java/src/cayenne/java/org/apache/cayenne/access/ToManyList.java Wed Aug 16 11:32:36 2006
@@ -387,10 +387,26 @@
removedFromUnresolved = new LinkedList();
}
- removedFromUnresolved.addLast(object);
+ // No point in adding a new or transient object -- these will never be fetched from the database.
+ boolean shouldAddToRemovedFromUnresolvedList = true;
+ if (object instanceof DataObject) {
+ DataObject dataObject = (DataObject) object;
+ if ( (dataObject.getPersistenceState() == PersistenceState.TRANSIENT)
+ || (dataObject.getPersistenceState() == PersistenceState.NEW) ) {
+ shouldAddToRemovedFromUnresolvedList = false;
+ }
+ }
+
+ if (shouldAddToRemovedFromUnresolvedList) {
+ removedFromUnresolved.addLast(object);
+ }
// this is really meaningless, since we don't know
// if an object was present in the list
return true;
+ }
+
+ public String toString() {
+ return getClass().getName() + "@" + System.identityHashCode(this);
}
}
Modified: incubator/cayenne/main/branches/STABLE-2.0/cayenne/cayenne-java/src/tests/java/org/apache/cayenne/access/ToManyListTst.java
URL: http://svn.apache.org/viewvc/incubator/cayenne/main/branches/STABLE-2.0/cayenne/cayenne-java/src/tests/java/org/apache/cayenne/access/ToManyListTst.java?rev=431978&r1=431977&r2=431978&view=diff
==============================================================================
--- incubator/cayenne/main/branches/STABLE-2.0/cayenne/cayenne-java/src/tests/java/org/apache/cayenne/access/ToManyListTst.java (original)
+++ incubator/cayenne/main/branches/STABLE-2.0/cayenne/cayenne-java/src/tests/java/org/apache/cayenne/access/ToManyListTst.java Wed Aug 16 11:32:36 2006
@@ -90,7 +90,6 @@
assertTrue("List must be unresolved when removing an object...", list
.isFault());
assertFalse(list.addedToUnresolved.contains(p1));
- assertTrue(list.removedFromUnresolved.contains(p1));
// now resolve
int size = list.size();