Author: doogie
Date: Sun May 30 22:06:31 2010 New Revision: 949603 URL: http://svn.apache.org/viewvc?rev=949603&view=rev Log: Remove FieldDefFieldValue, and merge FieldDefValue into FieldDef. Removed: ofbiz/trunk/framework/sql/src/org/ofbiz/sql/FieldDefFieldValue.java ofbiz/trunk/framework/sql/src/org/ofbiz/sql/FieldDefValue.java Modified: ofbiz/trunk/framework/entity/src/org/ofbiz/entity/sql/EntityPlanner.java ofbiz/trunk/framework/sql/src/org/ofbiz/sql/FieldDef.java ofbiz/trunk/framework/sql/src/org/ofbiz/sql/Parser.jj ofbiz/trunk/framework/sql/src/org/ofbiz/sql/test/SQLTest.java 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=949603&r1=949602&r2=949603&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 Sun May 30 22:06:31 2010 @@ -41,8 +41,6 @@ import org.ofbiz.sql.ConditionList; import org.ofbiz.sql.ConstantValue; import org.ofbiz.sql.FieldAll; import org.ofbiz.sql.FieldDef; -import org.ofbiz.sql.FieldDefFieldValue; -import org.ofbiz.sql.FieldDefValue; import org.ofbiz.sql.FieldValue; import org.ofbiz.sql.FunctionCall; import org.ofbiz.sql.Joined; @@ -117,10 +115,11 @@ public class EntityPlanner extends Plann } private static void addFieldDef(DynamicViewEntity dve, List<String> groupBy, String alias, FieldDef fieldDef) { - if (fieldDef instanceof FieldDefFieldValue) { - addFieldDef(dve, groupBy, fieldDef.getAlias(), ((FieldDefFieldValue) fieldDef).getFieldValue(), null); - } else if (fieldDef instanceof FieldDefValue) { - addFieldDef(dve, groupBy, fieldDef.getAlias(), ((FieldDefValue) fieldDef).getValue()); + StaticValue value = fieldDef.getValue(); + if (value instanceof FieldValue) { + addFieldDef(dve, groupBy, fieldDef.getAlias(), (FieldValue) value, null); + } else if (value instanceof ConstantValue) { + addFieldDef(dve, groupBy, fieldDef.getAlias(), (ConstantValue) value); } else { throw new UnsupportedOperationException(alias + "[" + fieldDef + "]:" + fieldDef.getClass()); } Modified: ofbiz/trunk/framework/sql/src/org/ofbiz/sql/FieldDef.java URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/sql/src/org/ofbiz/sql/FieldDef.java?rev=949603&r1=949602&r2=949603&view=diff ============================================================================== --- ofbiz/trunk/framework/sql/src/org/ofbiz/sql/FieldDef.java (original) +++ ofbiz/trunk/framework/sql/src/org/ofbiz/sql/FieldDef.java Sun May 30 22:06:31 2010 @@ -18,14 +18,26 @@ */ package org.ofbiz.sql; -public abstract class FieldDef extends Atom { - protected final String alias; +public final class FieldDef extends Atom { + private final String alias; + private final StaticValue value; - protected FieldDef(String alias) { - this.alias = alias; + public FieldDef(StaticValue value, String alias) { + this.alias = alias == null ? value.getDefaultName() : alias; + this.value = value; } public final String getAlias() { return alias; } + + public StaticValue getValue() { + return value; + } + + public StringBuilder appendTo(StringBuilder sb) { + value.appendTo(sb); + sb.append(" AS ").append(alias); + 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=949603&r1=949602&r2=949603&view=diff ============================================================================== --- ofbiz/trunk/framework/sql/src/org/ofbiz/sql/Parser.jj (original) +++ ofbiz/trunk/framework/sql/src/org/ofbiz/sql/Parser.jj Sun May 30 22:06:31 2010 @@ -554,13 +554,13 @@ private void FieldDef(Map<String, FieldD <CLOSE_PAREN> )? { fieldAlls.add(new FieldAll(n, excludeList)); return; } - | fieldName=NamePart() ( <AS> fieldAlias=NamePart() )? { def = new FieldDefFieldValue(new FieldValue(n, fieldName), fieldAlias); } + | fieldName=NamePart() ( <AS> fieldAlias=NamePart() )? { def = new FieldDef(new FieldValue(n, fieldName), fieldAlias); } ) - | v=FunctionCallRest(n) ( <AS> fieldAlias=NamePart() )? { def = new FieldDefValue(v, fieldAlias); } - | ( <AS> fieldAlias=NamePart() )? { def = new FieldDefFieldValue(new FieldValue(null, n), fieldAlias); } + | v=FunctionCallRest(n) ( <AS> fieldAlias=NamePart() )? { def = new FieldDef(v, fieldAlias); } + | ( <AS> fieldAlias=NamePart() )? { def = new FieldDef(new FieldValue(null, n), fieldAlias); } ) - | v=MathValue() ( <AS> fieldAlias=NamePart() )? { def = new FieldDefValue(v, fieldAlias); } - | v=Count() ( <AS> fieldAlias=NamePart() )? { def = new FieldDefValue(v, fieldAlias); } + | v=MathValue() ( <AS> fieldAlias=NamePart() )? { def = new FieldDef(v, fieldAlias); } + | v=Count() ( <AS> fieldAlias=NamePart() )? { def = new FieldDef(v, fieldAlias); } ) { if (fieldDefs.containsKey(def.getAlias())) throw new ParseException("duplicate alias(" + def.getAlias() + ")"); fieldDefs.put(def.getAlias(), def); Modified: ofbiz/trunk/framework/sql/src/org/ofbiz/sql/test/SQLTest.java URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/sql/src/org/ofbiz/sql/test/SQLTest.java?rev=949603&r1=949602&r2=949603&view=diff ============================================================================== --- ofbiz/trunk/framework/sql/src/org/ofbiz/sql/test/SQLTest.java (original) +++ ofbiz/trunk/framework/sql/src/org/ofbiz/sql/test/SQLTest.java Sun May 30 22:06:31 2010 @@ -32,8 +32,6 @@ import junit.framework.TestCase; import org.ofbiz.sql.Condition; import org.ofbiz.sql.FieldAll; import org.ofbiz.sql.FieldDef; -import org.ofbiz.sql.FieldDefFieldValue; -import org.ofbiz.sql.FieldDefValue; import org.ofbiz.sql.FieldValue; import org.ofbiz.sql.FunctionCall; import org.ofbiz.sql.MathValue; @@ -84,28 +82,32 @@ public class SQLTest extends GenericTest assertTrue("has first field def", fieldDefIt.hasNext()); FieldDef fieldDef = fieldDefIt.next(); assertEquals("first fieldDef.alias", "roleTypeId", fieldDef.getAlias()); - assertTrue("first is FieldDefFieldValue", fieldDef instanceof FieldDefFieldValue); - FieldDefFieldValue fdfv = (FieldDefFieldValue) fieldDef; - assertEquals("first fieldDef.tableName", "d", fdfv.getFieldValue().getTableName()); - assertEquals("first fieldDef.fieldName", "roleTypeId", fdfv.getFieldValue().getFieldName()); - assertEquals("first fieldDef.defaultName", "roleTypeId", fdfv.getFieldValue().getDefaultName()); + assertTrue("first is FieldDef", fieldDef instanceof FieldDef); + FieldDef fdfv = (FieldDef) fieldDef; + assertTrue("first has FieldValue", fdfv.getValue() instanceof FieldValue); + FieldValue fv = (FieldValue) fdfv.getValue(); + assertEquals("first fieldDef.tableName", "d", fv.getTableName()); + assertEquals("first fieldDef.fieldName", "roleTypeId", fv.getFieldName()); + assertEquals("first fieldDef.defaultName", "roleTypeId", fv.getDefaultName()); assertTrue("has second field def", fieldDefIt.hasNext()); fieldDef = fieldDefIt.next(); assertEquals("second fieldDef.alias", "roleDescription", fieldDef.getAlias()); - assertTrue("second is FieldDefFieldValue", fieldDef instanceof FieldDefFieldValue); - fdfv = (FieldDefFieldValue) fieldDef; - assertEquals("second fieldDef.tableName", "d", fdfv.getFieldValue().getTableName()); - assertEquals("second fieldDef.fieldName", "description", fdfv.getFieldValue().getFieldName()); - assertEquals("second fieldDef.defaultName", "description", fdfv.getFieldValue().getDefaultName()); + assertTrue("second is FieldDef", fieldDef instanceof FieldDef); + fdfv = (FieldDef) fieldDef; + assertTrue("second has FieldValue", fdfv.getValue() instanceof FieldValue); + fv = (FieldValue) fdfv.getValue(); + assertEquals("second fieldDef.tableName", "d", fv.getTableName()); + assertEquals("second fieldDef.fieldName", "description", fv.getFieldName()); + assertEquals("second fieldDef.defaultName", "description", fv.getDefaultName()); assertTrue("has third field def", fieldDefIt.hasNext()); fieldDef = fieldDefIt.next(); assertEquals("third fieldDef.alias", "SUM", fieldDef.getAlias()); - assertTrue("third is FieldDefValue", fieldDef instanceof FieldDefValue); - FieldDefValue fdv = (FieldDefValue) fieldDef; - assertTrue("third fieldDefValue.staticValue is FunctionCall", fdv.getValue() instanceof FunctionCall); - FunctionCall fc = (FunctionCall) fdv.getValue(); + assertTrue("third is FieldDef", fieldDef instanceof FieldDef); + FieldDef fd = (FieldDef) fieldDef; + assertTrue("third fieldDefValue.staticValue is FunctionCall", fd.getValue() instanceof FunctionCall); + FunctionCall fc = (FunctionCall) fd.getValue(); assertEquals("third arg count", 1, fc.getArgCount()); Iterator<Value> valueIt = fc.iterator(); assertTrue("third args hasNext", valueIt.hasNext()); @@ -119,32 +121,32 @@ public class SQLTest extends GenericTest assertTrue("has fourth field def", fieldDefIt.hasNext()); fieldDef = fieldDefIt.next(); assertEquals("fourth fieldDef.alias", "baz", fieldDef.getAlias()); - assertTrue("fourth is FieldDefValue", fieldDef instanceof FieldDefValue); - fdv = (FieldDefValue) fieldDef; + assertTrue("fourth is FieldDef", fieldDef instanceof FieldDef); + fd = (FieldDef) fieldDef; assertTrue("has fifth field def", fieldDefIt.hasNext()); fieldDef = fieldDefIt.next(); assertEquals("fifth fieldDef.alias", "one", fieldDef.getAlias()); - assertTrue("fifth is FieldDefValue", fieldDef instanceof FieldDefValue); - fdv = (FieldDefValue) fieldDef; + assertTrue("fifth is FieldDef", fieldDef instanceof FieldDef); + fd = (FieldDef) fieldDef; assertTrue("has sixth field def", fieldDefIt.hasNext()); fieldDef = fieldDefIt.next(); assertEquals("sixth fieldDef.alias", "cnt1", fieldDef.getAlias()); - assertTrue("sixth is FieldDefValue", fieldDef instanceof FieldDefValue); - fdv = (FieldDefValue) fieldDef; + assertTrue("sixth is FieldDef", fieldDef instanceof FieldDef); + fd = (FieldDef) fieldDef; assertTrue("has seventh field def", fieldDefIt.hasNext()); fieldDef = fieldDefIt.next(); assertEquals("seventh fieldDef.alias", "cnt2", fieldDef.getAlias()); - assertTrue("seventh is FieldDefValue", fieldDef instanceof FieldDefValue); - fdv = (FieldDefValue) fieldDef; + assertTrue("seventh is FieldDef", fieldDef instanceof FieldDef); + fd = (FieldDef) fieldDef; assertTrue("has eighth field def", fieldDefIt.hasNext()); fieldDef = fieldDefIt.next(); assertEquals("eighth fieldDef.alias", "cnt3", fieldDef.getAlias()); - assertTrue("eighth is FieldDefValue", fieldDef instanceof FieldDefValue); - fdv = (FieldDefValue) fieldDef; + assertTrue("eighth is FieldDef", fieldDef instanceof FieldDef); + fd = (FieldDef) fieldDef; assertFalse("has no more field def", fieldDefIt.hasNext()); |
Free forum by Nabble | Edit this page |