You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openjpa.apache.org by pp...@apache.org on 2013/03/14 18:59:17 UTC
svn commit: r1456576 -
/openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/criteria/CriteriaQueryImpl.java
Author: ppoddar
Date: Thu Mar 14 17:59:17 2013
New Revision: 1456576
URL: http://svn.apache.org/r1456576
Log:
Simple change to stringify a collection of values with proper spaces
Modified:
openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/criteria/CriteriaQueryImpl.java
Modified: openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/criteria/CriteriaQueryImpl.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/criteria/CriteriaQueryImpl.java?rev=1456576&r1=1456575&r2=1456576&view=diff
==============================================================================
--- openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/criteria/CriteriaQueryImpl.java (original)
+++ openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/criteria/CriteriaQueryImpl.java Thu Mar 14 17:59:17 2013
@@ -23,6 +23,7 @@ import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
import java.util.HashMap;
+import java.util.Iterator;
import java.util.LinkedHashSet;
import java.util.List;
import java.util.Map;
@@ -669,24 +670,25 @@ class CriteriaQueryImpl<T> implements Op
if (_where != null) {
buffer.append(" WHERE ").append(_where.asValue(this));
}
- if (_orders != null) {
- buffer.append(" ORDER BY ");
- for (Order orderBy : getOrderList()) {
- buffer.append(((CriteriaExpression)orderBy).asValue(this));
- }
- }
- if (_groups != null) {
- buffer.append(" GROUP BY ");
- for (Expression<?> groupBy : getGroupList()) {
- buffer.append(((CriteriaExpression)groupBy).asValue(this));
- }
- }
+ renderList(buffer, " ORDER BY ", getOrderList());
+ renderList(buffer, " GROUP BY ", getGroupList());
if (_having != null) {
buffer.append(" HAVING ");
buffer.append(_having.asValue(this));
}
}
+ private void renderList(StringBuilder buffer, String clause, Collection<?> coll) {
+ if (coll == null || coll.isEmpty())
+ return;
+
+ buffer.append(clause);
+ for (Iterator<?> i = coll.iterator(); i.hasNext(); ) {
+ buffer.append(((CriteriaExpression)i.next()).asValue(this));
+ if (i.hasNext()) buffer.append(", ");
+ }
+ }
+
private void renderJoins(StringBuilder buffer, Collection<Join<?,?>> joins) {
if (joins == null) return;
for (Join j : joins) {