You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ofbiz.apache.org by mb...@apache.org on 2020/02/25 20:16:28 UTC

[ofbiz-framework] branch release18.12 updated: Fixed: Fluent API Bug in getFieldList().

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 <mb...@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));