|
Author: doogie
Date: Mon Dec 21 06:04:47 2009 New Revision: 892705 URL: http://svn.apache.org/viewvc?rev=892705&view=rev Log: Support MathValue for field definitions. Modified: ofbiz/trunk/framework/entity/src/org/ofbiz/entity/sql/EntityPlanner.java ofbiz/trunk/framework/sql/src/org/ofbiz/sql/FieldDefValue.java ofbiz/trunk/framework/sql/src/org/ofbiz/sql/Parser.jj Modified: ofbiz/trunk/framework/entity/src/org/ofbiz/entity/sql/EntityPlanner.java URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/entity/src/org/ofbiz/entity/sql/EntityPlanner.java?rev=892705&r1=892704&r2=892705&view=diff ============================================================================== --- ofbiz/trunk/framework/entity/src/org/ofbiz/entity/sql/EntityPlanner.java (original) +++ ofbiz/trunk/framework/entity/src/org/ofbiz/entity/sql/EntityPlanner.java Mon Dec 21 06:04:47 2009 @@ -134,7 +134,7 @@ dve.addAlias(null, alias, null, null, null, groupBy.contains(alias), null, member); } - private static void addFieldDef(DynamicViewEntity dve, List<String> groupBy, String alias, StaticValue value) { + private static void addFieldDef(DynamicViewEntity dve, List<String> groupBy, String alias, ConstantValue value) { ComplexAliasMember complexMember; if (value instanceof FieldValue) { addFieldDef(dve, groupBy, alias, (FieldValue) value, null); Modified: ofbiz/trunk/framework/sql/src/org/ofbiz/sql/FieldDefValue.java URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/sql/src/org/ofbiz/sql/FieldDefValue.java?rev=892705&r1=892704&r2=892705&view=diff ============================================================================== --- ofbiz/trunk/framework/sql/src/org/ofbiz/sql/FieldDefValue.java (original) +++ ofbiz/trunk/framework/sql/src/org/ofbiz/sql/FieldDefValue.java Mon Dec 21 06:04:47 2009 @@ -19,14 +19,14 @@ package org.ofbiz.sql; public final class FieldDefValue extends FieldDef { - private final StaticValue value; + private final ConstantValue value; - public FieldDefValue(StaticValue value, String alias) { - super(alias == null ? value.getDefaultName() : alias); + public FieldDefValue(ConstantValue value, String alias) { + super(alias == null && value instanceof StaticValue ? ((StaticValue) value).getDefaultName() : alias); this.value = value; } - public StaticValue getValue() { + public ConstantValue getValue() { return value; } 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=892705&r1=892704&r2=892705&view=diff ============================================================================== --- ofbiz/trunk/framework/sql/src/org/ofbiz/sql/Parser.jj (original) +++ ofbiz/trunk/framework/sql/src/org/ofbiz/sql/Parser.jj Mon Dec 21 06:04:47 2009 @@ -418,16 +418,24 @@ } { ( - n=NamePart() <EQUALS> v=Value() { setFields.add(new SetField(n, v)); } + n=NamePart() <EQUALS> ( + v=Value() { setFields.add(new SetField(n, v)); } + | v=MathValue() { setFields.add(new SetField(n, v)); } + ) | <OPEN_PAREN> n=NamePart() { columnList.add(n); } ( <COMMA> n=NamePart() { columnList.add(n); } )* <CLOSE_PAREN> <EQUALS> <OPEN_PAREN> - v=Value() { valueList.add(v); } - ( <COMMA> v=Value() { valueList.add(v); } )* - <CLOSE_PAREN> + (v=Value()|v=MathValue()) { valueList.add(v); } + ( <COMMA> (v=Value()|v=MathValue()) { valueList.add(v); } )* + <CLOSE_PAREN> { + if (columnList.size() != valueList.size()) throw new ParseException(); + for (int i = 0; i < columnList.size(); i++) { + setFields.add(new SetField(columnList.get(i), valueList.get(i))); + } + } ) { return setFields; } } |
| Free forum by Nabble | Edit this page |
