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.gitThe 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 <
[hidden email]>
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));