From d13a92a164a840a957940877f985e0280864159f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timo=20Westk=C3=A4mper?= Date: Tue, 30 Oct 2012 17:23:11 +0200 Subject: [PATCH] #259 skipped null values in GLists and GSets --- .../java/com/mysema/query/collections/GroupBy2Test.java | 2 +- .../src/main/java/com/mysema/query/group/GAvg.java | 7 +++++-- .../src/main/java/com/mysema/query/group/GList.java | 4 +++- .../src/main/java/com/mysema/query/group/GSet.java | 4 +++- .../src/main/java/com/mysema/query/group/GSum.java | 4 +++- 5 files changed, 15 insertions(+), 6 deletions(-) diff --git a/querydsl-collections/src/test/java/com/mysema/query/collections/GroupBy2Test.java b/querydsl-collections/src/test/java/com/mysema/query/collections/GroupBy2Test.java index f295a11b8..81b948c98 100644 --- a/querydsl-collections/src/test/java/com/mysema/query/collections/GroupBy2Test.java +++ b/querydsl-collections/src/test/java/com/mysema/query/collections/GroupBy2Test.java @@ -123,7 +123,7 @@ public class GroupBy2Test { UserDto dto2 = userDtos.get(32l); assertEquals(3, dto2.roleIds.size()); - assertEquals(3, dto2.roleNames.size()); + assertEquals(1, dto2.roleNames.size()); assertEquals(3, dto2.secIds.size()); } diff --git a/querydsl-core/src/main/java/com/mysema/query/group/GAvg.java b/querydsl-core/src/main/java/com/mysema/query/group/GAvg.java index 32d366faa..f37b4cc3a 100644 --- a/querydsl-core/src/main/java/com/mysema/query/group/GAvg.java +++ b/querydsl-core/src/main/java/com/mysema/query/group/GAvg.java @@ -39,9 +39,12 @@ public class GAvg> extends AbstractGroupExpress private BigDecimal sum = BigDecimal.ZERO; @Override - public void add(T t) { + public void add(T t) { count++; - sum = sum.add(new BigDecimal(t.toString())); + if (t != null) { + sum = sum.add(new BigDecimal(t.toString())); + } + } @Override diff --git a/querydsl-core/src/main/java/com/mysema/query/group/GList.java b/querydsl-core/src/main/java/com/mysema/query/group/GList.java index 84a50c01d..bada96952 100644 --- a/querydsl-core/src/main/java/com/mysema/query/group/GList.java +++ b/querydsl-core/src/main/java/com/mysema/query/group/GList.java @@ -39,7 +39,9 @@ class GList extends AbstractGroupExpression> { @Override public void add(T o) { - list.add(o); + if (o != null) { + list.add(o); + } } @Override diff --git a/querydsl-core/src/main/java/com/mysema/query/group/GSet.java b/querydsl-core/src/main/java/com/mysema/query/group/GSet.java index 9ed2dc3d3..49dd27df0 100644 --- a/querydsl-core/src/main/java/com/mysema/query/group/GSet.java +++ b/querydsl-core/src/main/java/com/mysema/query/group/GSet.java @@ -39,7 +39,9 @@ class GSet extends AbstractGroupExpression> { @Override public void add(T o) { - set.add(o); + if (o != null) { + set.add(o); + } } @Override diff --git a/querydsl-core/src/main/java/com/mysema/query/group/GSum.java b/querydsl-core/src/main/java/com/mysema/query/group/GSum.java index 37f790960..336a33533 100644 --- a/querydsl-core/src/main/java/com/mysema/query/group/GSum.java +++ b/querydsl-core/src/main/java/com/mysema/query/group/GSum.java @@ -39,7 +39,9 @@ public class GSum> extends AbstractGroupExpress @Override public void add(T t) { - sum = sum.add(new BigDecimal(t.toString())); + if (t != null) { + sum = sum.add(new BigDecimal(t.toString())); + } } @Override