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