You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@unomi.apache.org by sh...@apache.org on 2017/01/09 16:22:19 UTC

[45/50] [abbrv] incubator-unomi git commit: DMF-1133 Error when displaying an empty list in MF - Fixed by not generating sorts or aggregations if there is no data for a field.

DMF-1133 Error when displaying an empty list in MF
- Fixed by not generating sorts or aggregations if there is no data for a field.

Signed-off-by: Serge Huber <sh...@apache.org>


Project: http://git-wip-us.apache.org/repos/asf/incubator-unomi/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-unomi/commit/b8123499
Tree: http://git-wip-us.apache.org/repos/asf/incubator-unomi/tree/b8123499
Diff: http://git-wip-us.apache.org/repos/asf/incubator-unomi/diff/b8123499

Branch: refs/heads/master
Commit: b81234998fb227b2727d51d77b42f13f674b29bc
Parents: f941850
Author: Serge Huber <sh...@apache.org>
Authored: Thu Jan 5 10:12:43 2017 +0100
Committer: Serge Huber <sh...@apache.org>
Committed: Thu Jan 5 10:12:43 2017 +0100

----------------------------------------------------------------------
 .../ElasticSearchPersistenceServiceImpl.java       | 17 +++++++++++++----
 1 file changed, 13 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-unomi/blob/b8123499/persistence-elasticsearch/core/src/main/java/org/apache/unomi/persistence/elasticsearch/ElasticSearchPersistenceServiceImpl.java
----------------------------------------------------------------------
diff --git a/persistence-elasticsearch/core/src/main/java/org/apache/unomi/persistence/elasticsearch/ElasticSearchPersistenceServiceImpl.java b/persistence-elasticsearch/core/src/main/java/org/apache/unomi/persistence/elasticsearch/ElasticSearchPersistenceServiceImpl.java
index 0958bcd..f98854b 100644
--- a/persistence-elasticsearch/core/src/main/java/org/apache/unomi/persistence/elasticsearch/ElasticSearchPersistenceServiceImpl.java
+++ b/persistence-elasticsearch/core/src/main/java/org/apache/unomi/persistence/elasticsearch/ElasticSearchPersistenceServiceImpl.java
@@ -1300,11 +1300,16 @@ public class ElasticSearchPersistenceServiceImpl implements PersistenceService,
                                 }
                             } else {
                                 String name = getPropertyNameWithData(StringUtils.substringBeforeLast(sortByElement,":"), itemType);
-                                if (sortByElement.endsWith(":desc")) {
-                                    requestBuilder = requestBuilder.addSort(name, SortOrder.DESC);
+                                if (name != null) {
+                                    if (sortByElement.endsWith(":desc")) {
+                                        requestBuilder = requestBuilder.addSort(name, SortOrder.DESC);
+                                    } else {
+                                        requestBuilder = requestBuilder.addSort(name, SortOrder.ASC);
+                                    }
                                 } else {
-                                    requestBuilder = requestBuilder.addSort(name, SortOrder.ASC);
+                                    // in the case of no data existing for the property, we will not add the sorting to the request.
                                 }
+
                             }
                         }
                     }
@@ -1456,7 +1461,11 @@ public class ElasticSearchPersistenceServiceImpl implements PersistenceService,
                     } else {
                         fieldName = getPropertyNameWithData(fieldName, itemType);
                         //default
-                        bucketsAggregation = AggregationBuilders.terms("buckets").field(fieldName).size(5000);
+                        if (fieldName != null) {
+                            bucketsAggregation = AggregationBuilders.terms("buckets").field(fieldName).size(5000);
+                        } else {
+                            // field name could be null if no existing data exists
+                        }
                     }
                     if (bucketsAggregation != null) {
                         final MissingAggregationBuilder missingBucketsAggregation = AggregationBuilders.missing("missing").field(fieldName);