This is an automated email from the ASF dual-hosted git repository. mbrohl pushed a commit to branch release18.12 in repository https://gitbox.apache.org/repos/asf/ofbiz-framework.git
The following commit(s) were added to refs/heads/release18.12 by this push: new f4d96de Fixed: Fluent API Bug in getFieldList(). f4d96de is described below commit f4d96deeca183f321bb285a4c4eb11ad052e7120 Author: Michael Brohl <mbr...@apache.org> AuthorDate: Tue Feb 25 21:15:49 2020 +0100 Fixed: Fluent API Bug in getFieldList(). (OFBIZ-10298) Thanks Benjamin Jugl for reporting and providing the patch. --- .../java/org/apache/ofbiz/entity/util/EntityQuery.java | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/framework/entity/src/main/java/org/apache/ofbiz/entity/util/EntityQuery.java b/framework/entity/src/main/java/org/apache/ofbiz/entity/util/EntityQuery.java index 7c6a486..8edeec4 100644 --- a/framework/entity/src/main/java/org/apache/ofbiz/entity/util/EntityQuery.java +++ b/framework/entity/src/main/java/org/apache/ofbiz/entity/util/EntityQuery.java @@ -22,7 +22,7 @@ import java.sql.Timestamp; import java.util.ArrayList; import java.util.Arrays; import java.util.Date; -import java.util.HashSet; +import java.util.LinkedHashSet; import java.util.LinkedList; import java.util.List; import java.util.Map; @@ -63,7 +63,7 @@ public class EntityQuery { private Integer resultSetType = EntityFindOptions.TYPE_FORWARD_ONLY; private Integer fetchSize = null; private Integer maxRows = null; - private Boolean distinct = null; + private boolean distinct = false; private EntityCondition havingEntityCondition = null; private boolean filterByDate = false; private Timestamp filterByDateMoment; @@ -471,9 +471,7 @@ public class EntityQuery { if (maxRows != null) { findOptions.setMaxRows(maxRows); } - if (distinct != null) { - findOptions.setDistinct(distinct); - } + findOptions.setDistinct(distinct); return findOptions; } @@ -520,10 +518,12 @@ public class EntityQuery { return EntityCondition.makeCondition(conditions); } - public <T> List<T> getFieldList(final String fieldName) throws GenericEntityException {select(fieldName); + public <T> List<T> getFieldList(final String fieldName) throws GenericEntityException { + select(fieldName); + cache(false); try (EntityListIterator genericValueEli = queryIterator()) { - if (Boolean.TRUE.equals(this.distinct)) { - Set<T> distinctSet = new HashSet<T>(); + if (this.distinct) { + Set<T> distinctSet = new LinkedHashSet<T>(); GenericValue value = null; while ((value = genericValueEli.next()) != null) { T fieldValue = UtilGenerics.<T>cast(value.get(fieldName));