[seam-commits] Seam SVN: r15182 - in branches/community/Seam_2_3/jboss-seam/src: test/java/org/jboss/seam/test/unit and 1 other directory.

seam-commits at lists.jboss.org seam-commits at lists.jboss.org
Tue Oct 2 09:19:23 EDT 2012


Author: manaRH
Date: 2012-10-02 09:19:22 -0400 (Tue, 02 Oct 2012)
New Revision: 15182

Modified:
   branches/community/Seam_2_3/jboss-seam/src/main/java/org/jboss/seam/framework/Query.java
   branches/community/Seam_2_3/jboss-seam/src/test/java/org/jboss/seam/test/unit/QueryTest.java
Log:
JBSEAM-4529

Modified: branches/community/Seam_2_3/jboss-seam/src/main/java/org/jboss/seam/framework/Query.java
===================================================================
--- branches/community/Seam_2_3/jboss-seam/src/main/java/org/jboss/seam/framework/Query.java	2012-10-02 12:52:29 UTC (rev 15181)
+++ branches/community/Seam_2_3/jboss-seam/src/main/java/org/jboss/seam/framework/Query.java	2012-10-02 13:19:22 UTC (rev 15182)
@@ -33,6 +33,8 @@
    private static final Pattern WHERE_PATTERN = Pattern.compile("\\s(where)\\s",         Pattern.CASE_INSENSITIVE);
    private static final Pattern ORDER_PATTERN = Pattern.compile("\\s(order)(\\s)+by\\s", Pattern.CASE_INSENSITIVE);
    private static final Pattern GROUP_PATTERN = Pattern.compile("\\s(group)(\\s)+by\\s", Pattern.CASE_INSENSITIVE);
+   private static final Pattern JOIN_FETCH_PATTERN = Pattern.compile("join fetch",       Pattern.CASE_INSENSITIVE);
+   private static final String  JOIN_OPERATOR="join";
 
    private static final Pattern ORDER_COLUMN_PATTERN = Pattern.compile("^\\w+(\\.\\w+)*$");
 
@@ -319,9 +321,9 @@
              throw new IllegalStateException("invalid select clause for query");
           }
       }
-      
+      String fromToWherePart=JOIN_FETCH_PATTERN.matcher(ejbql.substring(fromLoc, whereLoc)).replaceAll(JOIN_OPERATOR);
       return new StringBuilder(ejbql.length() + 15).append("select count(").append(subject).append(") ").
-         append(ejbql.substring(fromLoc, whereLoc).replace("join fetch", "join")).
+         append(fromToWherePart).
          append(ejbql.substring(whereLoc, groupLoc)).toString().trim();
    }
    

Modified: branches/community/Seam_2_3/jboss-seam/src/test/java/org/jboss/seam/test/unit/QueryTest.java
===================================================================
--- branches/community/Seam_2_3/jboss-seam/src/test/java/org/jboss/seam/test/unit/QueryTest.java	2012-10-02 12:52:29 UTC (rev 15181)
+++ branches/community/Seam_2_3/jboss-seam/src/test/java/org/jboss/seam/test/unit/QueryTest.java	2012-10-02 13:19:22 UTC (rev 15182)
@@ -40,7 +40,7 @@
       assertEquals(query.getCountEjbql(), "select count(distinct p) from Person p");
       query.setUseWildcardAsCountQuerySubject(true);
      
-      query.setEjbql("select v from Vehicle v join fetch v.person");
+      query.setEjbql("select v from Vehicle v JOIN FETCH v.person");
       query.setOrderColumn("make");
       query.parseEjbql();
       // TODO this should eventually become count(v)



More information about the seam-commits mailing list