You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by da...@apache.org on 2006/10/26 04:33:56 UTC
svn commit: r467839 - in
/incubator/openejb/trunk/openejb2/modules/openejb-core/src/main/java/org/apache/openejb/entity/cmp:
TranqlEjbCmpEngine.java TranqlSchemaBuilder.java
Author: dain
Date: Wed Oct 25 19:33:55 2006
New Revision: 467839
URL: http://svn.apache.org/viewvc?view=rev&rev=467839
Log:
Fixed OPENEJB-296 EJBQL query with many-to-many join clause causes an AssertionError
Modified:
incubator/openejb/trunk/openejb2/modules/openejb-core/src/main/java/org/apache/openejb/entity/cmp/TranqlEjbCmpEngine.java
incubator/openejb/trunk/openejb2/modules/openejb-core/src/main/java/org/apache/openejb/entity/cmp/TranqlSchemaBuilder.java
Modified: incubator/openejb/trunk/openejb2/modules/openejb-core/src/main/java/org/apache/openejb/entity/cmp/TranqlEjbCmpEngine.java
URL: http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb2/modules/openejb-core/src/main/java/org/apache/openejb/entity/cmp/TranqlEjbCmpEngine.java?view=diff&rev=467839&r1=467838&r2=467839
==============================================================================
--- incubator/openejb/trunk/openejb2/modules/openejb-core/src/main/java/org/apache/openejb/entity/cmp/TranqlEjbCmpEngine.java (original)
+++ incubator/openejb/trunk/openejb2/modules/openejb-core/src/main/java/org/apache/openejb/entity/cmp/TranqlEjbCmpEngine.java Wed Oct 25 19:33:55 2006
@@ -29,6 +29,7 @@
import java.util.Set;
import java.util.SortedSet;
import java.util.TreeSet;
+import java.util.HashSet;
import javax.ejb.DuplicateKeyException;
import javax.ejb.EJBException;
@@ -214,8 +215,8 @@
return Collections.unmodifiableSet(selectQueries);
}
- private SortedSet createEjbSelectQueries(Map selects) throws IllegalArgumentException {
- SortedSet queries = new TreeSet();
+ private Set createEjbSelectQueries(Map selects) throws IllegalArgumentException {
+ Set queries = new HashSet();
for (Iterator iterator = selects.entrySet().iterator(); iterator.hasNext();) {
Map.Entry entry = (Map.Entry) iterator.next();
SelectEJBQLQuery query = (SelectEJBQLQuery) entry.getKey();
Modified: incubator/openejb/trunk/openejb2/modules/openejb-core/src/main/java/org/apache/openejb/entity/cmp/TranqlSchemaBuilder.java
URL: http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb2/modules/openejb-core/src/main/java/org/apache/openejb/entity/cmp/TranqlSchemaBuilder.java?view=diff&rev=467839&r1=467838&r2=467839
==============================================================================
--- incubator/openejb/trunk/openejb2/modules/openejb-core/src/main/java/org/apache/openejb/entity/cmp/TranqlSchemaBuilder.java (original)
+++ incubator/openejb/trunk/openejb2/modules/openejb-core/src/main/java/org/apache/openejb/entity/cmp/TranqlSchemaBuilder.java Wed Oct 25 19:33:55 2006
@@ -399,11 +399,11 @@
// create the ejb relation and sql join objects
Relationship relationship = new Relationship(middleEjb,
- new Association.JoinDefinition(leftEjb, rightEjb, leftToMiddleRelationMapping.getEjbFieldMappings()),
- new Association.JoinDefinition(rightEjb, leftEjb, rightToMiddleRelationMapping.getEjbFieldMappings()));
+ new Association.JoinDefinition(leftEjb, middleEjb, leftToMiddleRelationMapping.getEjbFieldMappings()),
+ new Association.JoinDefinition(rightEjb, middleEjb, rightToMiddleRelationMapping.getEjbFieldMappings()));
JoinTable joinTable = new JoinTable(middleTable,
- new Association.JoinDefinition(leftTable, rightTable, leftToMiddleRelationMapping.getColumnMappings()),
- new Association.JoinDefinition(rightTable, leftTable, rightToMiddleRelationMapping.getColumnMappings()));
+ new Association.JoinDefinition(leftTable, middleTable, leftToMiddleRelationMapping.getColumnMappings()),
+ new Association.JoinDefinition(rightTable, middleTable, rightToMiddleRelationMapping.getColumnMappings()));
// add the left cmr field and column
boolean isLeftRoleVirtual = null == leftRole.getCmrFieldName();