diff --git a/querydsl-core/src/main/java/com/mysema/query/support/Group.java b/querydsl-core/src/main/java/com/mysema/query/support/Group.java index 7388cb095..ee55a7476 100644 --- a/querydsl-core/src/main/java/com/mysema/query/support/Group.java +++ b/querydsl-core/src/main/java/com/mysema/query/support/Group.java @@ -71,6 +71,10 @@ public interface Group { */ Tuple getRow(int i); + /** + * + * @return + */ int size(); } diff --git a/querydsl-core/src/main/java/com/mysema/query/support/GroupBy.java b/querydsl-core/src/main/java/com/mysema/query/support/GroupBy.java index f77244080..efeeb0d75 100644 --- a/querydsl-core/src/main/java/com/mysema/query/support/GroupBy.java +++ b/querydsl-core/src/main/java/com/mysema/query/support/GroupBy.java @@ -35,9 +35,7 @@ public class GroupBy implements ResultTransformer> { public GroupBy(Expression groupBy, Expression... args) { expressions = new Expression[args.length + 1]; expressions[0] = groupBy; - for (int i=0; i < args.length; i++) { - expressions[i+1] = args[i]; - } + System.arraycopy(args, 0, expressions, 1, args.length); } @Override @@ -50,9 +48,9 @@ public class GroupBy implements ResultTransformer> { Object[] row = iter.next(); Object groupBy = row[0]; // groups.values() should return Collection instead of Collection - GTupleImpl group = (GTupleImpl) groups.get(groupBy); + GroupImpl group = (GroupImpl) groups.get(groupBy); if (group == null) { - group = new GTupleImpl(); + group = new GroupImpl(); groups.put(groupBy, group); } group.add(row); @@ -73,7 +71,7 @@ public class GroupBy implements ResultTransformer> { } @SuppressWarnings("unchecked") - private class GTupleImpl implements Group { + private class GroupImpl implements Group { private final List values = new ArrayList(); diff --git a/querydsl-core/src/test/java/com/mysema/query/support/GroupByTest.java b/querydsl-core/src/test/java/com/mysema/query/support/GroupByTest.java index bda747239..42bf32c45 100644 --- a/querydsl-core/src/test/java/com/mysema/query/support/GroupByTest.java +++ b/querydsl-core/src/test/java/com/mysema/query/support/GroupByTest.java @@ -27,11 +27,11 @@ import com.mysema.query.types.path.StringPath; public class GroupByTest { - private final NumberExpression postId = new NumberPath(Integer.class, null, "postId"); + private final NumberExpression postId = new NumberPath(Integer.class, "postId"); - private final StringExpression postName = new StringPath(null, "postName"); + private final StringExpression postName = new StringPath("postName"); - private final NumberExpression commentId = new NumberPath(Integer.class, null, "commentId"); + private final NumberExpression commentId = new NumberPath(Integer.class, "commentId"); static class PostWithComments { public Integer id; @@ -191,7 +191,9 @@ public class GroupByTest { return row; } - private static CloseableIterator iterator(Object[]... rows) { - return new IteratorAdapter(Arrays.asList(rows).iterator()); + + @SuppressWarnings("unchecked") + private static CloseableIterator iterator(Object[]... rows) { + return new IteratorAdapter(Arrays.asList(rows).iterator()); } }