From 62f88c9e4fe04bc2ca37e9bdc832d472b188886d Mon Sep 17 00:00:00 2001 From: Robin Bygrave Date: Fri, 18 Mar 2016 16:19:41 +1300 Subject: [PATCH] #607 - bool conversion for and(), or() and not() --- .../ebeaninternal/server/expression/DocQueryContext.java | 4 ++-- .../ebeaninternal/server/expression/JunctionExpression.java | 2 +- .../ebeaninternal/server/expression/LogicExpression.java | 3 ++- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/avaje/ebeaninternal/server/expression/DocQueryContext.java b/src/main/java/com/avaje/ebeaninternal/server/expression/DocQueryContext.java index 517bdfa8f..d78272651 100644 --- a/src/main/java/com/avaje/ebeaninternal/server/expression/DocQueryContext.java +++ b/src/main/java/com/avaje/ebeaninternal/server/expression/DocQueryContext.java @@ -18,9 +18,9 @@ import java.util.Map; public interface DocQueryContext { /** - * Start a conjunction or disjunction. + * Start a junction. */ - void startBool(boolean conjunction) throws IOException; + void startBool(Junction.Type type) throws IOException; /** * Start a conjunction. diff --git a/src/main/java/com/avaje/ebeaninternal/server/expression/JunctionExpression.java b/src/main/java/com/avaje/ebeaninternal/server/expression/JunctionExpression.java index 3f907539a..a9ef68d06 100644 --- a/src/main/java/com/avaje/ebeaninternal/server/expression/JunctionExpression.java +++ b/src/main/java/com/avaje/ebeaninternal/server/expression/JunctionExpression.java @@ -63,7 +63,7 @@ class JunctionExpression implements SpiJunction, SpiExpression, Expression @Override public void writeDocQuery(DocQueryContext context) throws IOException { - context.startBool(type == Type.AND); + context.startBool(type); List list = exprList.internalList(); for (int i = 0; i < list.size(); i++) { list.get(i).writeDocQuery(context); diff --git a/src/main/java/com/avaje/ebeaninternal/server/expression/LogicExpression.java b/src/main/java/com/avaje/ebeaninternal/server/expression/LogicExpression.java index 73f7f9c3f..b94bfb1d3 100644 --- a/src/main/java/com/avaje/ebeaninternal/server/expression/LogicExpression.java +++ b/src/main/java/com/avaje/ebeaninternal/server/expression/LogicExpression.java @@ -1,6 +1,7 @@ package com.avaje.ebeaninternal.server.expression; import com.avaje.ebean.Expression; +import com.avaje.ebean.Junction; import com.avaje.ebean.event.BeanQueryRequest; import com.avaje.ebeaninternal.api.HashQueryPlanBuilder; import com.avaje.ebeaninternal.api.ManyWhereJoins; @@ -60,7 +61,7 @@ abstract class LogicExpression implements SpiExpression { public void writeDocQuery(DocQueryContext context) throws IOException { boolean conjunction = joinType.equals(AND); - context.startBool(conjunction); + context.startBool(conjunction ? Junction.Type.AND : Junction.Type.OR); expOne.writeDocQuery(context); expTwo.writeDocQuery(context); context.endBool();