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 {
