|
Author: doogie
Date: Fri Dec 18 05:40:52 2009 New Revision: 892147 URL: http://svn.apache.org/viewvc?rev=892147&view=rev Log: Remove ListValue, in preference of a more accurate object model representation. Added: ofbiz/trunk/framework/sql/src/org/ofbiz/sql/BetweenCondition.java - copied, changed from r892146, ofbiz/trunk/framework/sql/src/org/ofbiz/sql/ListValue.java ofbiz/trunk/framework/sql/src/org/ofbiz/sql/ListCondition.java - copied, changed from r892146, ofbiz/trunk/framework/sql/src/org/ofbiz/sql/ListValue.java Removed: ofbiz/trunk/framework/sql/src/org/ofbiz/sql/ListValue.java Modified: ofbiz/trunk/framework/sql/src/org/ofbiz/sql/Parser.jj Copied: ofbiz/trunk/framework/sql/src/org/ofbiz/sql/BetweenCondition.java (from r892146, ofbiz/trunk/framework/sql/src/org/ofbiz/sql/ListValue.java) URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/sql/src/org/ofbiz/sql/BetweenCondition.java?p2=ofbiz/trunk/framework/sql/src/org/ofbiz/sql/BetweenCondition.java&p1=ofbiz/trunk/framework/sql/src/org/ofbiz/sql/ListValue.java&r1=892146&r2=892147&rev=892147&view=diff ============================================================================== --- ofbiz/trunk/framework/sql/src/org/ofbiz/sql/ListValue.java (original) +++ ofbiz/trunk/framework/sql/src/org/ofbiz/sql/BetweenCondition.java Fri Dec 18 05:40:52 2009 @@ -18,26 +18,35 @@ */ package org.ofbiz.sql; -import java.util.Iterator; -import java.util.List; - -import org.ofbiz.base.util.StringUtil; +public final class BetweenCondition extends Condition { + private final Value left; + private final Value r1; + private final Value r2; + + public BetweenCondition(Value left, Value r1, Value r2) { + this.left = left; + this.r1 = r1; + this.r2 = r2; + } -public final class ListValue extends Value implements Iterable<Value> { - private final List<Value> values; + public Value getLeft() { + return left; + } - public ListValue(List<Value> values) { - this.values = values; + public Value getR1() { + return r1; } - public Iterator<Value> iterator() { - return values.iterator(); + public Value getR2() { + return r2; } public StringBuilder appendTo(StringBuilder sb) { - sb.append('('); - StringUtil.appendTo(sb, values, null, null, ", "); - sb.append(')'); + left.appendTo(sb); + sb.append(" BETWEEN "); + r1.appendTo(sb); + sb.append(" AND "); + r2.appendTo(sb); return sb; } } Copied: ofbiz/trunk/framework/sql/src/org/ofbiz/sql/ListCondition.java (from r892146, ofbiz/trunk/framework/sql/src/org/ofbiz/sql/ListValue.java) URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/sql/src/org/ofbiz/sql/ListCondition.java?p2=ofbiz/trunk/framework/sql/src/org/ofbiz/sql/ListCondition.java&p1=ofbiz/trunk/framework/sql/src/org/ofbiz/sql/ListValue.java&r1=892146&r2=892147&rev=892147&view=diff ============================================================================== --- ofbiz/trunk/framework/sql/src/org/ofbiz/sql/ListValue.java (original) +++ ofbiz/trunk/framework/sql/src/org/ofbiz/sql/ListCondition.java Fri Dec 18 05:40:52 2009 @@ -18,26 +18,37 @@ */ package org.ofbiz.sql; -import java.util.Iterator; import java.util.List; import org.ofbiz.base.util.StringUtil; -public final class ListValue extends Value implements Iterable<Value> { +public final class ListCondition extends Condition { + private final Value left; + private final String op; private final List<Value> values; - public ListValue(List<Value> values) { + public ListCondition(Value left, String op, List<Value> values) { + this.left = left; + this.op = op; this.values = values; } - public Iterator<Value> iterator() { - return values.iterator(); + public Value getLeft() { + return left; + } + + public String getOp() { + return op; + } + + public List<Value> getValues() { + return values; } public StringBuilder appendTo(StringBuilder sb) { - sb.append('('); + left.appendTo(sb); + sb.append(' ').append(op).append(' '); StringUtil.appendTo(sb, values, null, null, ", "); - sb.append(')'); return sb; } } Modified: ofbiz/trunk/framework/sql/src/org/ofbiz/sql/Parser.jj URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/sql/src/org/ofbiz/sql/Parser.jj?rev=892147&r1=892146&r2=892147&view=diff ============================================================================== --- ofbiz/trunk/framework/sql/src/org/ofbiz/sql/Parser.jj (original) +++ ofbiz/trunk/framework/sql/src/org/ofbiz/sql/Parser.jj Fri Dec 18 05:40:52 2009 @@ -757,7 +757,7 @@ private Condition BooleanExpression(): { - Value v1, v2, v; + Value v1, v2, v, r1, r2; String op; Condition c; List<Value> list = FastList.newInstance(); @@ -765,10 +765,10 @@ { v1=Value() ( <BETWEEN> - v=RightValue() { list.add(v); } + r1=RightValue() <AND> - v=RightValue() { list.add(v); } - { v2 = new ListValue(list); op = "between"; } + r2=RightValue() + { return new BetweenCondition(v1, r1, r2); } | <IS> ( <NULL> { op = "="; v2 = Value.NULL; } | <NOT> <NULL> { op = "!="; v2 = Value.NULL; } @@ -779,7 +779,7 @@ v=RightValue() { list.add(v); } ( <COMMA> v=RightValue() { list.add(v); } )* <CLOSE_PAREN> - { v2 = new ListValue(list); } + { return new ListCondition(v1, op, list); } ) ) { return new BooleanCondition(v1, op, v2); } |
| Free forum by Nabble | Edit this page |
