svn commit: r892705 - in /ofbiz/trunk/framework: entity/src/org/ofbiz/entity/sql/EntityPlanner.java sql/src/org/ofbiz/sql/FieldDefValue.java sql/src/org/ofbiz/sql/Parser.jj

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

svn commit: r892705 - in /ofbiz/trunk/framework: entity/src/org/ofbiz/entity/sql/EntityPlanner.java sql/src/org/ofbiz/sql/FieldDefValue.java sql/src/org/ofbiz/sql/Parser.jj

doogie-3
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; }
 }