You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cayenne.apache.org by dk...@apache.org on 2011/10/06 09:59:03 UTC
svn commit: r1179529 - in /cayenne/main/trunk:
docs/doc/src/main/resources/RELEASE-NOTES.txt
framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/util/ObjectContextQueryAction.java
Author: dkazimirchyk
Date: Thu Oct 6 07:59:02 2011
New Revision: 1179529
URL: http://svn.apache.org/viewvc?rev=1179529&view=rev
Log:
CAY-1628 ClassCastException when using java.util.Set or java.util.Map as collection type for to-many relationship
converting Set and Map to List when intercepting child's relationship query
Modified:
cayenne/main/trunk/docs/doc/src/main/resources/RELEASE-NOTES.txt
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/util/ObjectContextQueryAction.java
Modified: cayenne/main/trunk/docs/doc/src/main/resources/RELEASE-NOTES.txt
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/docs/doc/src/main/resources/RELEASE-NOTES.txt?rev=1179529&r1=1179528&r2=1179529&view=diff
==============================================================================
--- cayenne/main/trunk/docs/doc/src/main/resources/RELEASE-NOTES.txt (original)
+++ cayenne/main/trunk/docs/doc/src/main/resources/RELEASE-NOTES.txt Thu Oct 6 07:59:02 2011
@@ -19,6 +19,7 @@ CAY-1618 Create database adapters instan
Bug Fixes Since 3.1M3:
CAY-1627 CayenneModeler: collection types for to-many relationships are not saved
+CAY-1628 ClassCastException when using java.util.Set or java.util.Map as collection type for to-many relationship
----------------------------------
Release: 3.1 M3
Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/util/ObjectContextQueryAction.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/util/ObjectContextQueryAction.java?rev=1179529&r1=1179528&r2=1179529&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/util/ObjectContextQueryAction.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/util/ObjectContextQueryAction.java Thu Oct 6 07:59:02 2011
@@ -22,6 +22,8 @@ package org.apache.cayenne.util;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
+import java.util.Map;
+import java.util.Set;
import org.apache.cayenne.BaseContext;
import org.apache.cayenne.ObjectContext;
@@ -219,10 +221,18 @@ public abstract class ObjectContextQuery
if (related == null) {
result = new ArrayList(1);
}
- // to-many
+ // to-many List
else if (related instanceof List) {
result = (List) related;
}
+ // to-many Set
+ else if (related instanceof Set) {
+ result = new ArrayList((Set) related);
+ }
+ // to-many Map
+ else if (related instanceof Map) {
+ result = new ArrayList(((Map) related).values());
+ }
// non-null to-one
else {
result = new ArrayList(1);