Repository: incubator-unomi
Updated Branches:
  refs/heads/master 32a7704f3 -> ebd7e9838


UNOMI-39 : restored fix for contextual conditions - pass current context  
across boolean sub conditions, evaluate condition even if context is empty (may 
return null condition)


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

Branch: refs/heads/master
Commit: ebd7e9838f82d82f2b7563d38238d6207b2ed361
Parents: 32a7704
Author: Thomas Draier <[email protected]>
Authored: Fri Jan 20 18:09:18 2017 +0100
Committer: Thomas Draier <[email protected]>
Committed: Fri Jan 20 18:09:26 2017 +0100

----------------------------------------------------------------------
 .../elasticsearch/conditions/ConditionContextHelper.java         | 2 +-
 .../baseplugin/conditions/BooleanConditionESQueryBuilder.java    | 4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-unomi/blob/ebd7e983/persistence-elasticsearch/core/src/main/java/org/apache/unomi/persistence/elasticsearch/conditions/ConditionContextHelper.java
----------------------------------------------------------------------
diff --git 
a/persistence-elasticsearch/core/src/main/java/org/apache/unomi/persistence/elasticsearch/conditions/ConditionContextHelper.java
 
b/persistence-elasticsearch/core/src/main/java/org/apache/unomi/persistence/elasticsearch/conditions/ConditionContextHelper.java
index 6f3f1b4..e9b3c70 100644
--- 
a/persistence-elasticsearch/core/src/main/java/org/apache/unomi/persistence/elasticsearch/conditions/ConditionContextHelper.java
+++ 
b/persistence-elasticsearch/core/src/main/java/org/apache/unomi/persistence/elasticsearch/conditions/ConditionContextHelper.java
@@ -54,7 +54,7 @@ public class ConditionContextHelper {
     }
 
     public static Condition getContextualCondition(Condition condition, 
Map<String, Object> context) {
-        if (context.isEmpty() || 
!hasContextualParameter(condition.getParameterValues())) {
+        if (!hasContextualParameter(condition.getParameterValues())) {
             return condition;
         }
         @SuppressWarnings("unchecked")

http://git-wip-us.apache.org/repos/asf/incubator-unomi/blob/ebd7e983/plugins/baseplugin/src/main/java/org/apache/unomi/plugins/baseplugin/conditions/BooleanConditionESQueryBuilder.java
----------------------------------------------------------------------
diff --git 
a/plugins/baseplugin/src/main/java/org/apache/unomi/plugins/baseplugin/conditions/BooleanConditionESQueryBuilder.java
 
b/plugins/baseplugin/src/main/java/org/apache/unomi/plugins/baseplugin/conditions/BooleanConditionESQueryBuilder.java
index 94e8519..7f85a1a 100644
--- 
a/plugins/baseplugin/src/main/java/org/apache/unomi/plugins/baseplugin/conditions/BooleanConditionESQueryBuilder.java
+++ 
b/plugins/baseplugin/src/main/java/org/apache/unomi/plugins/baseplugin/conditions/BooleanConditionESQueryBuilder.java
@@ -52,14 +52,14 @@ public class BooleanConditionESQueryBuilder implements 
ConditionESQueryBuilder {
         BoolQueryBuilder boolQueryBuilder = QueryBuilders.boolQuery();
         for (int i = 0; i < conditionCount; i++) {
             if (isAndOperator) {
-                QueryBuilder andFilter = 
dispatcher.buildFilter(conditions.get(i));
+                QueryBuilder andFilter = 
dispatcher.buildFilter(conditions.get(i), context);
                 if (andFilter != null) {
                     boolQueryBuilder.must(andFilter);
                 } else {
                     logger.warn("Null filter for boolean AND sub condition " + 
conditions.get(i));
                 }
             } else {
-                QueryBuilder orFilter = 
dispatcher.buildFilter(conditions.get(i));
+                QueryBuilder orFilter = 
dispatcher.buildFilter(conditions.get(i), context);
                 if (orFilter != null) {
                     boolQueryBuilder.should(orFilter);
                 } else {

Reply via email to