From: <svn...@os...> - 2012-06-24 09:31:11
|
Author: aaime Date: 2012-06-24 02:31:02 -0700 (Sun, 24 Jun 2012) New Revision: 38829 Modified: trunk/modules/library/main/src/main/java/org/geotools/filter/function/ClassificationFunction.java trunk/modules/library/main/src/main/java/org/geotools/filter/function/Collection_AverageFunction.java trunk/modules/library/main/src/main/java/org/geotools/filter/function/Collection_CountFunction.java trunk/modules/library/main/src/main/java/org/geotools/filter/function/Collection_MaxFunction.java trunk/modules/library/main/src/main/java/org/geotools/filter/function/Collection_MedianFunction.java trunk/modules/library/main/src/main/java/org/geotools/filter/function/Collection_MinFunction.java trunk/modules/library/main/src/main/java/org/geotools/filter/function/Collection_SumFunction.java trunk/modules/library/main/src/main/java/org/geotools/filter/function/Collection_UniqueFunction.java trunk/modules/library/main/src/main/java/org/geotools/filter/function/EqualIntervalFunction.java trunk/modules/library/main/src/main/java/org/geotools/filter/function/FilterFunction_pointN.java trunk/modules/library/main/src/main/java/org/geotools/filter/function/FilterFunction_relate.java trunk/modules/library/main/src/main/java/org/geotools/filter/function/FilterFunction_relatePattern.java trunk/modules/library/main/src/main/java/org/geotools/filter/function/FilterFunction_roundDouble.java trunk/modules/library/main/src/main/java/org/geotools/filter/function/FilterFunction_setCRS.java trunk/modules/library/main/src/main/java/org/geotools/filter/function/FilterFunction_startAngle.java trunk/modules/library/main/src/main/java/org/geotools/filter/function/FilterFunction_startPoint.java trunk/modules/library/main/src/main/java/org/geotools/filter/function/FilterFunction_strCapitalize.java trunk/modules/library/main/src/main/java/org/geotools/filter/function/FilterFunction_strConcat.java trunk/modules/library/main/src/main/java/org/geotools/filter/function/FilterFunction_strEndsWith.java trunk/modules/library/main/src/main/java/org/geotools/filter/function/FilterFunction_strEqualsIgnoreCase.java trunk/modules/library/main/src/main/java/org/geotools/filter/function/FilterFunction_strIndexOf.java trunk/modules/library/main/src/main/java/org/geotools/filter/function/FilterFunction_strLastIndexOf.java trunk/modules/library/main/src/main/java/org/geotools/filter/function/FilterFunction_strLength.java trunk/modules/library/main/src/main/java/org/geotools/filter/function/FilterFunction_strMatches.java trunk/modules/library/main/src/main/java/org/geotools/filter/function/FilterFunction_strPosition.java trunk/modules/library/main/src/main/java/org/geotools/filter/function/FilterFunction_strReplace.java trunk/modules/library/main/src/main/java/org/geotools/filter/function/FilterFunction_strStartsWith.java trunk/modules/library/main/src/main/java/org/geotools/filter/function/FilterFunction_strToUpperCase.java trunk/modules/library/main/src/main/java/org/geotools/filter/function/FilterFunction_strTrim.java trunk/modules/library/main/src/main/java/org/geotools/filter/function/FilterFunction_strTrim2.java trunk/modules/library/main/src/main/java/org/geotools/filter/function/FilterFunction_symDifference.java trunk/modules/library/main/src/main/java/org/geotools/filter/function/FilterFunction_toWKT.java trunk/modules/library/main/src/main/java/org/geotools/filter/function/FilterFunction_touches.java trunk/modules/library/main/src/main/java/org/geotools/filter/function/FilterFunction_union.java trunk/modules/library/main/src/main/java/org/geotools/filter/function/FilterFunction_vertices.java trunk/modules/library/main/src/main/java/org/geotools/filter/function/FilterFunction_within.java trunk/modules/library/main/src/main/java/org/geotools/filter/function/IDFunction.java trunk/modules/library/main/src/main/java/org/geotools/filter/function/InterpolateFunction.java trunk/modules/library/main/src/main/java/org/geotools/filter/function/JenksNaturalBreaksFunction.java trunk/modules/library/main/src/main/java/org/geotools/filter/function/QuantileFunction.java trunk/modules/library/main/src/main/java/org/geotools/filter/function/StandardDeviationFunction.java trunk/modules/library/main/src/main/java/org/geotools/filter/function/UniqueIntervalFunction.java Log: Second part of the function name QA Modified: trunk/modules/library/main/src/main/java/org/geotools/filter/function/ClassificationFunction.java =================================================================== --- trunk/modules/library/main/src/main/java/org/geotools/filter/function/ClassificationFunction.java 2012-06-24 07:54:52 UTC (rev 38828) +++ trunk/modules/library/main/src/main/java/org/geotools/filter/function/ClassificationFunction.java 2012-06-24 09:31:02 UTC (rev 38829) @@ -49,8 +49,7 @@ protected static final java.util.logging.Logger LOGGER = org.geotools.util.logging.Logging.getLogger("org.geotools.filter.function"); - /** function name **/ - String name; + FunctionName name; /** function params **/ List params = new ArrayList(2); @@ -59,15 +58,14 @@ ProgressListener progress; - /** Creates a new instance of ClassificationFunction. Subclasses should call setName */ - public ClassificationFunction() { - setName("ClassificationFunction"); - params.add(0, null); - params.add(1, null); + public ClassificationFunction(FunctionName name) { + this.name = name; this.expressionType = ExpressionType.FUNCTION; } - public abstract int getArgCount(); + public int getArgCount() { + return name.getArgumentNames().size(); + } /** * @see org.opengis.filter.expression.Expression#accept(ExpressionVisitor, Object) @@ -116,17 +114,12 @@ * */ public String getName() { - return name; + return name.getName(); } + public FunctionName getFunctionName() { - return new FunctionNameImpl( getName(), getArgCount() ); + return name; } - /** - * Sets the name of the function. - */ - public void setName(String name) { - this.name = name; - } /** * Returns the function parameters (the contents are Expressions, usually attribute expression and literal expression). Modified: trunk/modules/library/main/src/main/java/org/geotools/filter/function/Collection_AverageFunction.java =================================================================== --- trunk/modules/library/main/src/main/java/org/geotools/filter/function/Collection_AverageFunction.java 2012-06-24 07:54:52 UTC (rev 38828) +++ trunk/modules/library/main/src/main/java/org/geotools/filter/function/Collection_AverageFunction.java 2012-06-24 09:31:02 UTC (rev 38829) @@ -56,10 +56,9 @@ Object average = null; Expression expr; - //public static FunctionName NAME = new FunctionNameImpl("Collection_Average","expression"); public static FunctionName NAME = new FunctionNameImpl("Collection_Average", - parameter("average",Object.class), - parameter("expression",Object.class)); + parameter("average", Number.class), + parameter("expression", Number.class)); /** * Creates a new instance of Collection_AverageFunction Modified: trunk/modules/library/main/src/main/java/org/geotools/filter/function/Collection_CountFunction.java =================================================================== --- trunk/modules/library/main/src/main/java/org/geotools/filter/function/Collection_CountFunction.java 2012-06-24 07:54:52 UTC (rev 38828) +++ trunk/modules/library/main/src/main/java/org/geotools/filter/function/Collection_CountFunction.java 2012-06-24 09:31:02 UTC (rev 38829) @@ -18,10 +18,9 @@ */ package org.geotools.filter.function; -import static org.geotools.filter.capability.FunctionNameImpl.parameter; +import static org.geotools.filter.capability.FunctionNameImpl.*; import java.io.IOException; -import java.util.List; import java.util.logging.Level; import java.util.logging.Logger; @@ -51,10 +50,8 @@ Object count = null; - // public static FunctionName NAME = new FunctionNameImpl("Collection_Count","expression"); public static FunctionName NAME = new FunctionNameImpl("Collection_Count", - parameter( "count", Object.class), - parameter("expression", Object.class)); + parameter("count", Object.class)); /** * Creates a new instance of Collection_CountFunction @@ -63,10 +60,6 @@ super(NAME); } - public int getArgCount() { - return 1; - } - /** * Calculate count (using FeatureCalc) - only one parameter is used. * @@ -85,33 +78,6 @@ return countVisitor.getResult(); } - /** - * The provided arguments are evaulated with respect to the - * FeatureCollection. - * - * <p> - * For an aggregate function (like count) please use the WFS mandated XPath - * syntax to refer to featureMember content. - * </p> - * - * <p> - * To refer to all 'X': <code>featureMember/asterisk/X</code> - * </p> - * - * @param args - * DOCUMENT ME! - * - * @throws IllegalArgumentException - * DOCUMENT ME! - */ - public void setParameters(List args) { - // if we see "featureMembers/*/ATTRIBUTE" change to "ATTRIBUTE" - org.opengis.filter.expression.Expression expr = (org.opengis.filter.expression.Expression) args.get(0); - expr = (org.opengis.filter.expression.Expression) expr.accept(new CollectionFeatureMemberFilterVisitor(),null); - args.set(0, expr ); - super.setParameters(args); - } - public Object evaluate(Object feature) { if (feature == null) { return new Integer(0); // no features were visited in the making of this answer Modified: trunk/modules/library/main/src/main/java/org/geotools/filter/function/Collection_MaxFunction.java =================================================================== --- trunk/modules/library/main/src/main/java/org/geotools/filter/function/Collection_MaxFunction.java 2012-06-24 07:54:52 UTC (rev 38828) +++ trunk/modules/library/main/src/main/java/org/geotools/filter/function/Collection_MaxFunction.java 2012-06-24 09:31:02 UTC (rev 38829) @@ -56,8 +56,8 @@ //public static FunctionName NAME = new FunctionNameImpl("Collection_Max","value"); public static FunctionName NAME = new FunctionNameImpl("Collection_Max", - parameter("max", Object.class), - parameter("expression", Object.class)); + parameter("max", Comparable.class), + parameter("expression", Comparable.class)); /** * Creates a new instance of Collection_MaxFunction Modified: trunk/modules/library/main/src/main/java/org/geotools/filter/function/Collection_MedianFunction.java =================================================================== --- trunk/modules/library/main/src/main/java/org/geotools/filter/function/Collection_MedianFunction.java 2012-06-24 07:54:52 UTC (rev 38828) +++ trunk/modules/library/main/src/main/java/org/geotools/filter/function/Collection_MedianFunction.java 2012-06-24 09:31:02 UTC (rev 38829) @@ -58,8 +58,8 @@ //public static FunctionName NAME = new FunctionNameImpl("Collection_Median","value"); public static FunctionName NAME = new FunctionNameImpl("Collection_Median", - parameter("median", Object.class), - parameter("expression", Object.class)); + parameter("median", Comparable.class), + parameter("expression", Comparable.class)); /** * Creates a new instance of Collection_MedianFunction */ @@ -67,10 +67,6 @@ super(NAME); } - public int getArgCount() { - return 1; - } - /** * Calculate median (using FeatureCalc) - only one parameter is used. * Modified: trunk/modules/library/main/src/main/java/org/geotools/filter/function/Collection_MinFunction.java =================================================================== --- trunk/modules/library/main/src/main/java/org/geotools/filter/function/Collection_MinFunction.java 2012-06-24 07:54:52 UTC (rev 38828) +++ trunk/modules/library/main/src/main/java/org/geotools/filter/function/Collection_MinFunction.java 2012-06-24 09:31:02 UTC (rev 38829) @@ -54,8 +54,8 @@ //public static FunctionName NAME = new FunctionNameImpl("Collection_Min","expression"); public static FunctionName NAME = new FunctionNameImpl("Collection_Min", - parameter("min", Object.class), - parameter("expression", Object.class)); + parameter("min", Comparable.class), + parameter("expression", Comparable.class)); /** * Creates a new instance of Collection_MinFunction Modified: trunk/modules/library/main/src/main/java/org/geotools/filter/function/Collection_SumFunction.java =================================================================== --- trunk/modules/library/main/src/main/java/org/geotools/filter/function/Collection_SumFunction.java 2012-06-24 07:54:52 UTC (rev 38828) +++ trunk/modules/library/main/src/main/java/org/geotools/filter/function/Collection_SumFunction.java 2012-06-24 09:31:02 UTC (rev 38829) @@ -55,8 +55,8 @@ //public static FunctionName NAME = new FunctionNameImpl("Collection_Sum","expression"); public static FunctionName NAME = new FunctionNameImpl("Collection_Sum", - parameter("sum", Object.class), - parameter("expression", Object.class)); + parameter("sum", Number.class), + parameter("expression", Number.class)); /** * Creates a new instance of Collection_SumFunction Modified: trunk/modules/library/main/src/main/java/org/geotools/filter/function/Collection_UniqueFunction.java =================================================================== --- trunk/modules/library/main/src/main/java/org/geotools/filter/function/Collection_UniqueFunction.java 2012-06-24 07:54:52 UTC (rev 38828) +++ trunk/modules/library/main/src/main/java/org/geotools/filter/function/Collection_UniqueFunction.java 2012-06-24 09:31:02 UTC (rev 38829) @@ -53,9 +53,8 @@ SimpleFeatureCollection previousFeatureCollection = null; Object unique = null; - //public static FunctionName NAME = new FunctionNameImpl("Collection_Unique","expression"); public static FunctionName NAME = new FunctionNameImpl("Collection_Unique", - parameter("unqiue", Object.class), + parameter("unique", Object.class), parameter("expression", Object.class)); /** Modified: trunk/modules/library/main/src/main/java/org/geotools/filter/function/EqualIntervalFunction.java =================================================================== --- trunk/modules/library/main/src/main/java/org/geotools/filter/function/EqualIntervalFunction.java 2012-06-24 07:54:52 UTC (rev 38828) +++ trunk/modules/library/main/src/main/java/org/geotools/filter/function/EqualIntervalFunction.java 2012-06-24 09:31:02 UTC (rev 38829) @@ -17,6 +17,8 @@ */ package org.geotools.filter.function; +import static org.geotools.filter.capability.FunctionNameImpl.*; + import java.io.IOException; import java.util.Collections; import java.util.List; @@ -28,7 +30,9 @@ import org.geotools.feature.visitor.MinVisitor; import org.geotools.feature.visitor.UniqueVisitor; import org.geotools.filter.IllegalFilterException; +import org.geotools.filter.capability.FunctionNameImpl; import org.geotools.util.NullProgressListener; +import org.opengis.filter.capability.FunctionName; /** @@ -42,9 +46,14 @@ * @source $URL$ */ public class EqualIntervalFunction extends ClassificationFunction { + + public static FunctionName NAME = new FunctionNameImpl("EqualInterval", + RangedClassifier.class, + parameter("value", Double.class), + parameter("classes", Integer.class)); public EqualIntervalFunction() { - setName("EqualInterval"); + super(NAME); } private RangedClassifier calculate(SimpleFeatureCollection featureCollection) { Modified: trunk/modules/library/main/src/main/java/org/geotools/filter/function/FilterFunction_pointN.java =================================================================== --- trunk/modules/library/main/src/main/java/org/geotools/filter/function/FilterFunction_pointN.java 2012-06-24 07:54:52 UTC (rev 38828) +++ trunk/modules/library/main/src/main/java/org/geotools/filter/function/FilterFunction_pointN.java 2012-06-24 09:31:02 UTC (rev 38829) @@ -18,6 +18,8 @@ */ //this code is autogenerated - you shouldnt be modifying it! +import static org.geotools.filter.capability.FunctionNameImpl.*; + import org.geotools.filter.FunctionExpressionImpl; import org.geotools.filter.capability.FunctionNameImpl; import org.opengis.filter.capability.FunctionName; @@ -31,17 +33,14 @@ */ public class FilterFunction_pointN extends FunctionExpressionImpl { - public static FunctionName NAME = new FunctionNameImpl("pointN", "geometry","index"); + public static FunctionName NAME = new FunctionNameImpl("pointN", Geometry.class, + parameter("geometry", Geometry.class), + parameter("index", Integer.class)); public FilterFunction_pointN() { - super("pointN"); - functionName = NAME; + super(NAME); } - public int getArgCount() { - return 2; - } - public Object evaluate(Object feature) { Geometry arg0; int arg1; Modified: trunk/modules/library/main/src/main/java/org/geotools/filter/function/FilterFunction_relate.java =================================================================== --- trunk/modules/library/main/src/main/java/org/geotools/filter/function/FilterFunction_relate.java 2012-06-24 07:54:52 UTC (rev 38828) +++ trunk/modules/library/main/src/main/java/org/geotools/filter/function/FilterFunction_relate.java 2012-06-24 09:31:02 UTC (rev 38829) @@ -18,6 +18,8 @@ */ //this code is autogenerated - you shouldnt be modifying it! +import static org.geotools.filter.capability.FunctionNameImpl.*; + import org.geotools.filter.FunctionExpressionImpl; import org.geotools.filter.capability.FunctionNameImpl; import org.opengis.filter.capability.FunctionName; @@ -31,17 +33,14 @@ */ public class FilterFunction_relate extends FunctionExpressionImpl { - public static FunctionName NAME = new FunctionNameImpl("relate", "geometry","geometry"); + public static FunctionName NAME = new FunctionNameImpl("relate", String.class, + parameter("geometry1", Geometry.class), + parameter("geometry2", Geometry.class)); public FilterFunction_relate() { - super("relate"); - functionName = NAME; + super(NAME); } - public int getArgCount() { - return 2; - } - public Object evaluate(Object feature) { Geometry arg0; Geometry arg1; Modified: trunk/modules/library/main/src/main/java/org/geotools/filter/function/FilterFunction_relatePattern.java =================================================================== --- trunk/modules/library/main/src/main/java/org/geotools/filter/function/FilterFunction_relatePattern.java 2012-06-24 07:54:52 UTC (rev 38828) +++ trunk/modules/library/main/src/main/java/org/geotools/filter/function/FilterFunction_relatePattern.java 2012-06-24 09:31:02 UTC (rev 38829) @@ -32,7 +32,6 @@ * @source $URL$ */ public class FilterFunction_relatePattern extends FunctionExpressionImpl { - //public static FunctionName NAME = new FunctionNameImpl("relatePattern", "geometry","geometry","pattern"); public static FunctionName NAME = new FunctionNameImpl("relatePattern", parameter("related", Boolean.class), parameter("geometry", Geometry.class), Modified: trunk/modules/library/main/src/main/java/org/geotools/filter/function/FilterFunction_roundDouble.java =================================================================== --- trunk/modules/library/main/src/main/java/org/geotools/filter/function/FilterFunction_roundDouble.java 2012-06-24 07:54:52 UTC (rev 38828) +++ trunk/modules/library/main/src/main/java/org/geotools/filter/function/FilterFunction_roundDouble.java 2012-06-24 09:31:02 UTC (rev 38829) @@ -31,7 +31,6 @@ */ public class FilterFunction_roundDouble extends FunctionExpressionImpl { - //public static FunctionName NAME = new FunctionNameImpl("roundDouble", "number"); public static FunctionName NAME = new FunctionNameImpl("roundDouble", parameter("rounded", Double.class), parameter("number", Number.class)); Modified: trunk/modules/library/main/src/main/java/org/geotools/filter/function/FilterFunction_setCRS.java =================================================================== --- trunk/modules/library/main/src/main/java/org/geotools/filter/function/FilterFunction_setCRS.java 2012-06-24 07:54:52 UTC (rev 38828) +++ trunk/modules/library/main/src/main/java/org/geotools/filter/function/FilterFunction_setCRS.java 2012-06-24 09:31:02 UTC (rev 38829) @@ -33,14 +33,9 @@ parameter("geometry", Geometry.class), parameter("CRS", String.class)); public FilterFunction_setCRS() { - super("setSRS"); - functionName = NAME; + super(NAME); } - public int getArgCount() { - return 2; - } - public Object evaluate(Object feature) { Geometry geom; CoordinateReferenceSystem crs; Modified: trunk/modules/library/main/src/main/java/org/geotools/filter/function/FilterFunction_startAngle.java =================================================================== --- trunk/modules/library/main/src/main/java/org/geotools/filter/function/FilterFunction_startAngle.java 2012-06-24 07:54:52 UTC (rev 38828) +++ trunk/modules/library/main/src/main/java/org/geotools/filter/function/FilterFunction_startAngle.java 2012-06-24 09:31:02 UTC (rev 38829) @@ -33,7 +33,6 @@ * @source $URL$ */ public class FilterFunction_startAngle extends FunctionExpressionImpl { - //public static FunctionName NAME = new FunctionNameImpl("startAngle", "geometry"); public static FunctionName NAME = new FunctionNameImpl("startAngle", parameter("degrees", Double.class), parameter("linestring", LineString.class)); Modified: trunk/modules/library/main/src/main/java/org/geotools/filter/function/FilterFunction_startPoint.java =================================================================== --- trunk/modules/library/main/src/main/java/org/geotools/filter/function/FilterFunction_startPoint.java 2012-06-24 07:54:52 UTC (rev 38828) +++ trunk/modules/library/main/src/main/java/org/geotools/filter/function/FilterFunction_startPoint.java 2012-06-24 09:31:02 UTC (rev 38829) @@ -35,7 +35,6 @@ * @source $URL$ */ public class FilterFunction_startPoint extends FunctionExpressionImpl { - //public static FunctionName NAME = new FunctionNameImpl("startPoint","geometry"); public static FunctionName NAME = new FunctionNameImpl("startPoint", parameter("point", Point.class), parameter("linestring", LineString.class)); Modified: trunk/modules/library/main/src/main/java/org/geotools/filter/function/FilterFunction_strCapitalize.java =================================================================== --- trunk/modules/library/main/src/main/java/org/geotools/filter/function/FilterFunction_strCapitalize.java 2012-06-24 07:54:52 UTC (rev 38828) +++ trunk/modules/library/main/src/main/java/org/geotools/filter/function/FilterFunction_strCapitalize.java 2012-06-24 09:31:02 UTC (rev 38829) @@ -31,7 +31,6 @@ */ public class FilterFunction_strCapitalize extends FunctionExpressionImpl { - //public static FunctionName NAME = new FunctionNameImpl("strCapitalize","string"); public static FunctionName NAME = new FunctionNameImpl("strCapitalize", parameter("string", String.class), parameter("string", String.class)); Modified: trunk/modules/library/main/src/main/java/org/geotools/filter/function/FilterFunction_strConcat.java =================================================================== --- trunk/modules/library/main/src/main/java/org/geotools/filter/function/FilterFunction_strConcat.java 2012-06-24 07:54:52 UTC (rev 38828) +++ trunk/modules/library/main/src/main/java/org/geotools/filter/function/FilterFunction_strConcat.java 2012-06-24 09:31:02 UTC (rev 38829) @@ -31,11 +31,10 @@ */ public class FilterFunction_strConcat extends FunctionExpressionImpl { - //public static FunctionName NAME = new FunctionNameImpl("strConcat","string","string"); public static FunctionName NAME = new FunctionNameImpl("strConcat", - parameter("string", String.class), - parameter("string", String.class), - parameter("string", String.class)); + parameter("strConcat", String.class), + parameter("string1", String.class), + parameter("string2", String.class)); public FilterFunction_strConcat() { super(NAME); Modified: trunk/modules/library/main/src/main/java/org/geotools/filter/function/FilterFunction_strEndsWith.java =================================================================== --- trunk/modules/library/main/src/main/java/org/geotools/filter/function/FilterFunction_strEndsWith.java 2012-06-24 07:54:52 UTC (rev 38828) +++ trunk/modules/library/main/src/main/java/org/geotools/filter/function/FilterFunction_strEndsWith.java 2012-06-24 09:31:02 UTC (rev 38829) @@ -31,7 +31,6 @@ */ public class FilterFunction_strEndsWith extends FunctionExpressionImpl { - //public static FunctionName NAME = new FunctionNameImpl("strEndsWith","string","postfix"); public static FunctionName NAME = new FunctionNameImpl("strEndsWith", parameter("endsWith", Boolean.class), parameter("String", String.class), Modified: trunk/modules/library/main/src/main/java/org/geotools/filter/function/FilterFunction_strEqualsIgnoreCase.java =================================================================== --- trunk/modules/library/main/src/main/java/org/geotools/filter/function/FilterFunction_strEqualsIgnoreCase.java 2012-06-24 07:54:52 UTC (rev 38828) +++ trunk/modules/library/main/src/main/java/org/geotools/filter/function/FilterFunction_strEqualsIgnoreCase.java 2012-06-24 09:31:02 UTC (rev 38829) @@ -31,10 +31,9 @@ */ public class FilterFunction_strEqualsIgnoreCase extends FunctionExpressionImpl { - //public static FunctionName NAME = new FunctionNameImpl("strEqualsIgnoreCase","string","string"); public static FunctionName NAME = new FunctionNameImpl("strEqualsIgnoreCase", parameter("equals", Boolean.class), - parameter("String", String.class), + parameter("string", String.class), parameter("lookup", String.class)); public FilterFunction_strEqualsIgnoreCase() { Modified: trunk/modules/library/main/src/main/java/org/geotools/filter/function/FilterFunction_strIndexOf.java =================================================================== --- trunk/modules/library/main/src/main/java/org/geotools/filter/function/FilterFunction_strIndexOf.java 2012-06-24 07:54:52 UTC (rev 38828) +++ trunk/modules/library/main/src/main/java/org/geotools/filter/function/FilterFunction_strIndexOf.java 2012-06-24 09:31:02 UTC (rev 38829) @@ -31,7 +31,6 @@ */ public class FilterFunction_strIndexOf extends FunctionExpressionImpl { - //public static FunctionName NAME = new FunctionNameImpl("strIndexOf","string","string"); public static FunctionName NAME = new FunctionNameImpl("strIndexOf", parameter("index", Integer.class), parameter("String", String.class), Modified: trunk/modules/library/main/src/main/java/org/geotools/filter/function/FilterFunction_strLastIndexOf.java =================================================================== --- trunk/modules/library/main/src/main/java/org/geotools/filter/function/FilterFunction_strLastIndexOf.java 2012-06-24 07:54:52 UTC (rev 38828) +++ trunk/modules/library/main/src/main/java/org/geotools/filter/function/FilterFunction_strLastIndexOf.java 2012-06-24 09:31:02 UTC (rev 38829) @@ -30,7 +30,6 @@ * @source $URL$ */ public class FilterFunction_strLastIndexOf extends FunctionExpressionImpl{ - //public static FunctionName NAME = new FunctionNameImpl("strLastIndexOf","string","string"); public static FunctionName NAME = new FunctionNameImpl("strLastIndexOf", parameter("index", Integer.class), parameter("String", String.class), Modified: trunk/modules/library/main/src/main/java/org/geotools/filter/function/FilterFunction_strLength.java =================================================================== --- trunk/modules/library/main/src/main/java/org/geotools/filter/function/FilterFunction_strLength.java 2012-06-24 07:54:52 UTC (rev 38828) +++ trunk/modules/library/main/src/main/java/org/geotools/filter/function/FilterFunction_strLength.java 2012-06-24 09:31:02 UTC (rev 38829) @@ -30,7 +30,7 @@ * @source $URL$ */ public class FilterFunction_strLength extends FunctionExpressionImpl { - //public static FunctionName NAME = new FunctionNameImpl("strLength","string"); + public static FunctionName NAME = new FunctionNameImpl("strLength", parameter("length", Integer.class), parameter("string", String.class)); Modified: trunk/modules/library/main/src/main/java/org/geotools/filter/function/FilterFunction_strMatches.java =================================================================== --- trunk/modules/library/main/src/main/java/org/geotools/filter/function/FilterFunction_strMatches.java 2012-06-24 07:54:52 UTC (rev 38828) +++ trunk/modules/library/main/src/main/java/org/geotools/filter/function/FilterFunction_strMatches.java 2012-06-24 09:31:02 UTC (rev 38829) @@ -31,7 +31,6 @@ */ public class FilterFunction_strMatches extends FunctionExpressionImpl { - //public static FunctionName NAME = new FunctionNameImpl("strMatches","string","regex"); public static FunctionName NAME = new FunctionNameImpl("strMatches", parameter("match", Boolean.class), parameter("string", String.class), Modified: trunk/modules/library/main/src/main/java/org/geotools/filter/function/FilterFunction_strPosition.java =================================================================== --- trunk/modules/library/main/src/main/java/org/geotools/filter/function/FilterFunction_strPosition.java 2012-06-24 07:54:52 UTC (rev 38828) +++ trunk/modules/library/main/src/main/java/org/geotools/filter/function/FilterFunction_strPosition.java 2012-06-24 09:31:02 UTC (rev 38829) @@ -45,7 +45,6 @@ */ public class FilterFunction_strPosition extends FunctionExpressionImpl { - //public static FunctionName NAME = new FunctionNameImpl("strPosition","string","lookup","forward/backToFront"); public static FunctionName NAME; static { Parameter<String> method = new Parameter<String>( Modified: trunk/modules/library/main/src/main/java/org/geotools/filter/function/FilterFunction_strReplace.java =================================================================== --- trunk/modules/library/main/src/main/java/org/geotools/filter/function/FilterFunction_strReplace.java 2012-06-24 07:54:52 UTC (rev 38828) +++ trunk/modules/library/main/src/main/java/org/geotools/filter/function/FilterFunction_strReplace.java 2012-06-24 09:31:02 UTC (rev 38829) @@ -31,7 +31,6 @@ */ public class FilterFunction_strReplace extends FunctionExpressionImpl { - //public static FunctionName NAME = new FunctionNameImpl("strReplace","string","search","replace","all"); public static FunctionName NAME = new FunctionNameImpl("strReplace", parameter("string", String.class), parameter("string", String.class), Modified: trunk/modules/library/main/src/main/java/org/geotools/filter/function/FilterFunction_strStartsWith.java =================================================================== --- trunk/modules/library/main/src/main/java/org/geotools/filter/function/FilterFunction_strStartsWith.java 2012-06-24 07:54:52 UTC (rev 38828) +++ trunk/modules/library/main/src/main/java/org/geotools/filter/function/FilterFunction_strStartsWith.java 2012-06-24 09:31:02 UTC (rev 38829) @@ -31,7 +31,6 @@ */ public class FilterFunction_strStartsWith extends FunctionExpressionImpl { - //public static FunctionName NAME = new FunctionNameImpl("strStartsWith","string","prefix"); public static FunctionName NAME = new FunctionNameImpl("strStartsWith", parameter("starts with", Boolean.class), parameter("string", String.class), Modified: trunk/modules/library/main/src/main/java/org/geotools/filter/function/FilterFunction_strToUpperCase.java =================================================================== --- trunk/modules/library/main/src/main/java/org/geotools/filter/function/FilterFunction_strToUpperCase.java 2012-06-24 07:54:52 UTC (rev 38828) +++ trunk/modules/library/main/src/main/java/org/geotools/filter/function/FilterFunction_strToUpperCase.java 2012-06-24 09:31:02 UTC (rev 38829) @@ -31,7 +31,6 @@ */ public class FilterFunction_strToUpperCase extends FunctionExpressionImpl { - //public static FunctionName NAME = new FunctionNameImpl("strToUpperCase","string"); public static FunctionName NAME = new FunctionNameImpl("strToUpperCase", parameter("uppercase", String.class), parameter("string", String.class)); Modified: trunk/modules/library/main/src/main/java/org/geotools/filter/function/FilterFunction_strTrim.java =================================================================== --- trunk/modules/library/main/src/main/java/org/geotools/filter/function/FilterFunction_strTrim.java 2012-06-24 07:54:52 UTC (rev 38828) +++ trunk/modules/library/main/src/main/java/org/geotools/filter/function/FilterFunction_strTrim.java 2012-06-24 09:31:02 UTC (rev 38829) @@ -31,7 +31,6 @@ */ public class FilterFunction_strTrim extends FunctionExpressionImpl { - //public static FunctionName NAME = new FunctionNameImpl("strTrim","string"); public static FunctionName NAME = new FunctionNameImpl("strTrim", parameter("trim", String.class), parameter("string", String.class)); Modified: trunk/modules/library/main/src/main/java/org/geotools/filter/function/FilterFunction_strTrim2.java =================================================================== --- trunk/modules/library/main/src/main/java/org/geotools/filter/function/FilterFunction_strTrim2.java 2012-06-24 07:54:52 UTC (rev 38828) +++ trunk/modules/library/main/src/main/java/org/geotools/filter/function/FilterFunction_strTrim2.java 2012-06-24 09:31:02 UTC (rev 38829) @@ -45,7 +45,6 @@ */ public class FilterFunction_strTrim2 extends FunctionExpressionImpl { - //public static FunctionName NAME = new FunctionNameImpl("strTrim2","string","leading/trailing/both","character"); public static FunctionName NAME; static { Parameter<String> method = new Parameter<String>( Modified: trunk/modules/library/main/src/main/java/org/geotools/filter/function/FilterFunction_symDifference.java =================================================================== --- trunk/modules/library/main/src/main/java/org/geotools/filter/function/FilterFunction_symDifference.java 2012-06-24 07:54:52 UTC (rev 38828) +++ trunk/modules/library/main/src/main/java/org/geotools/filter/function/FilterFunction_symDifference.java 2012-06-24 09:31:02 UTC (rev 38829) @@ -33,7 +33,6 @@ */ public class FilterFunction_symDifference extends FunctionExpressionImpl { - //public static FunctionName NAME = new FunctionNameImpl("symDifference","geometry","geometry"); public static FunctionName NAME = new FunctionNameImpl("symDifference", parameter("symetric difference", Geometry.class), parameter("geometry", Geometry.class), Modified: trunk/modules/library/main/src/main/java/org/geotools/filter/function/FilterFunction_toWKT.java =================================================================== --- trunk/modules/library/main/src/main/java/org/geotools/filter/function/FilterFunction_toWKT.java 2012-06-24 07:54:52 UTC (rev 38828) +++ trunk/modules/library/main/src/main/java/org/geotools/filter/function/FilterFunction_toWKT.java 2012-06-24 09:31:02 UTC (rev 38829) @@ -33,7 +33,6 @@ */ public class FilterFunction_toWKT extends FunctionExpressionImpl { - //public static FunctionName NAME = new FunctionNameImpl("toWKT","geometry"); public static FunctionName NAME = new FunctionNameImpl("toWKT", parameter("wkt", String.class), parameter("geometry", Geometry.class)); Modified: trunk/modules/library/main/src/main/java/org/geotools/filter/function/FilterFunction_touches.java =================================================================== --- trunk/modules/library/main/src/main/java/org/geotools/filter/function/FilterFunction_touches.java 2012-06-24 07:54:52 UTC (rev 38828) +++ trunk/modules/library/main/src/main/java/org/geotools/filter/function/FilterFunction_touches.java 2012-06-24 09:31:02 UTC (rev 38829) @@ -33,7 +33,6 @@ */ public class FilterFunction_touches extends FunctionExpressionImpl { - //public static FunctionName NAME = new FunctionNameImpl("touches","geometry","geometry"); public static FunctionName NAME = new FunctionNameImpl("touches", parameter("touches", Boolean.class), parameter("geometry", Geometry.class), Modified: trunk/modules/library/main/src/main/java/org/geotools/filter/function/FilterFunction_union.java =================================================================== --- trunk/modules/library/main/src/main/java/org/geotools/filter/function/FilterFunction_union.java 2012-06-24 07:54:52 UTC (rev 38828) +++ trunk/modules/library/main/src/main/java/org/geotools/filter/function/FilterFunction_union.java 2012-06-24 09:31:02 UTC (rev 38829) @@ -35,7 +35,6 @@ public class FilterFunction_union extends FunctionExpressionImpl implements FunctionExpression { - //public static FunctionName NAME = new FunctionNameImpl("union","geometry","geometry"); public static FunctionName NAME = new FunctionNameImpl("union", parameter("union", Geometry.class), parameter("geometry", Geometry.class), Modified: trunk/modules/library/main/src/main/java/org/geotools/filter/function/FilterFunction_vertices.java =================================================================== --- trunk/modules/library/main/src/main/java/org/geotools/filter/function/FilterFunction_vertices.java 2012-06-24 07:54:52 UTC (rev 38828) +++ trunk/modules/library/main/src/main/java/org/geotools/filter/function/FilterFunction_vertices.java 2012-06-24 09:31:02 UTC (rev 38829) @@ -22,7 +22,6 @@ */ public class FilterFunction_vertices extends FunctionExpressionImpl { - //public static FunctionName NAME = new FunctionNameImpl("vertices","geometry"); public static FunctionName NAME = new FunctionNameImpl("vertices", parameter("vertices", MultiPoint.class), parameter("geometry", Geometry.class)); Modified: trunk/modules/library/main/src/main/java/org/geotools/filter/function/FilterFunction_within.java =================================================================== --- trunk/modules/library/main/src/main/java/org/geotools/filter/function/FilterFunction_within.java 2012-06-24 07:54:52 UTC (rev 38828) +++ trunk/modules/library/main/src/main/java/org/geotools/filter/function/FilterFunction_within.java 2012-06-24 09:31:02 UTC (rev 38829) @@ -33,7 +33,6 @@ */ public class FilterFunction_within extends FunctionExpressionImpl { - //public static FunctionName NAME = new FunctionNameImpl("within","geometry","geometry"); public static FunctionName NAME = new FunctionNameImpl("within", parameter("within",Boolean.class), parameter("geometry", Geometry.class), Modified: trunk/modules/library/main/src/main/java/org/geotools/filter/function/IDFunction.java =================================================================== --- trunk/modules/library/main/src/main/java/org/geotools/filter/function/IDFunction.java 2012-06-24 07:54:52 UTC (rev 38828) +++ trunk/modules/library/main/src/main/java/org/geotools/filter/function/IDFunction.java 2012-06-24 09:31:02 UTC (rev 38829) @@ -17,9 +17,13 @@ */ package org.geotools.filter.function; +import static org.geotools.filter.capability.FunctionNameImpl.*; + import org.geotools.filter.FunctionExpressionImpl; +import org.geotools.filter.capability.FunctionNameImpl; import org.opengis.feature.Attribute; import org.opengis.feature.simple.SimpleFeature; +import org.opengis.filter.capability.FunctionName; /** * Allow access to the value of Feature.getID() as an expression @@ -33,6 +37,9 @@ */ public class IDFunction extends FunctionExpressionImpl { + public static FunctionName NAME = new FunctionNameImpl("id", + String.class); + public IDFunction() { super("id"); } Modified: trunk/modules/library/main/src/main/java/org/geotools/filter/function/InterpolateFunction.java =================================================================== --- trunk/modules/library/main/src/main/java/org/geotools/filter/function/InterpolateFunction.java 2012-06-24 07:54:52 UTC (rev 38828) +++ trunk/modules/library/main/src/main/java/org/geotools/filter/function/InterpolateFunction.java 2012-06-24 09:31:02 UTC (rev 38829) @@ -166,9 +166,6 @@ * Make the instance of FunctionName available in * a consistent spot. */ -// public static final FunctionName NAME = new FunctionNameImpl("Interpolate", "LookupValue", -// "Data 1", "Value 1", "Data 2", "Value 2", "linear, cosine or cubic", "numeric or color"); - public static final FunctionName NAME; static { Parameter<Object> lookup = new Parameter<Object>("lookup",Object.class,1,1); Modified: trunk/modules/library/main/src/main/java/org/geotools/filter/function/JenksNaturalBreaksFunction.java =================================================================== --- trunk/modules/library/main/src/main/java/org/geotools/filter/function/JenksNaturalBreaksFunction.java 2012-06-24 07:54:52 UTC (rev 38828) +++ trunk/modules/library/main/src/main/java/org/geotools/filter/function/JenksNaturalBreaksFunction.java 2012-06-24 09:31:02 UTC (rev 38829) @@ -17,6 +17,8 @@ package org.geotools.filter.function; +import static org.geotools.filter.capability.FunctionNameImpl.*; + import java.util.ArrayList; import java.util.Collections; import java.util.logging.Level; @@ -25,9 +27,14 @@ import org.geotools.data.simple.SimpleFeatureCollection; import org.geotools.data.simple.SimpleFeatureIterator; import org.geotools.feature.FeatureCollection; +import org.geotools.filter.capability.FunctionNameImpl; import org.geotools.util.logging.Logging; import org.opengis.feature.simple.SimpleFeature; +import org.opengis.filter.capability.FunctionName; +import org.opengis.filter.expression.Expression; +import com.vividsolutions.jts.geom.Geometry; + /** * Calculate the Jenks' Natural Breaks classification for a featurecollection * @@ -40,27 +47,19 @@ org.opengis.util.ProgressListener progress; private static final Logger logger = Logging.getLogger("org.geotools.filter.function"); + + public static FunctionName NAME = new FunctionNameImpl("Jenks", + RangedClassifier.class, + parameter("value", Double.class), + parameter("classes", Integer.class)); - /** - * - */ public JenksNaturalBreaksFunction() { - setName("Jenks"); + super(NAME); } /* * (non-Javadoc) * - * @see org.geotools.filter.function.ClassificationFunction#getArgCount() - */ - public int getArgCount() { - // TODO Auto-generated method stub - return 2; - } - - /* - * (non-Javadoc) - * * @see org.geotools.filter.function.ClassificationFunction#evaluate(java.lang.Object) */ public Object evaluate(Object feature) { Modified: trunk/modules/library/main/src/main/java/org/geotools/filter/function/QuantileFunction.java =================================================================== --- trunk/modules/library/main/src/main/java/org/geotools/filter/function/QuantileFunction.java 2012-06-24 07:54:52 UTC (rev 38828) +++ trunk/modules/library/main/src/main/java/org/geotools/filter/function/QuantileFunction.java 2012-06-24 09:31:02 UTC (rev 38829) @@ -16,6 +16,8 @@ */ package org.geotools.filter.function; +import static org.geotools.filter.capability.FunctionNameImpl.*; + import java.io.IOException; import java.util.HashSet; import java.util.Iterator; @@ -27,7 +29,9 @@ import org.geotools.feature.FeatureCollection; import org.geotools.feature.visitor.CalcResult; import org.geotools.feature.visitor.QuantileListVisitor; +import org.geotools.filter.capability.FunctionNameImpl; import org.geotools.util.NullProgressListener; +import org.opengis.filter.capability.FunctionName; /** * Breaks a SimpleFeatureCollection into classes with an equal number of items in each. @@ -38,14 +42,15 @@ * @source $URL$ */ public class QuantileFunction extends ClassificationFunction { + + public static FunctionName NAME = new FunctionNameImpl("Quantile", + RangedClassifier.class, + parameter("value", Double.class), + parameter("classes", Integer.class)); public QuantileFunction() { - setName("Quantile"); + super(NAME); } - - public int getArgCount() { - return 2; - } private Object calculate(SimpleFeatureCollection featureCollection) { // use a visitor to find the values in each bin Modified: trunk/modules/library/main/src/main/java/org/geotools/filter/function/StandardDeviationFunction.java =================================================================== --- trunk/modules/library/main/src/main/java/org/geotools/filter/function/StandardDeviationFunction.java 2012-06-24 07:54:52 UTC (rev 38828) +++ trunk/modules/library/main/src/main/java/org/geotools/filter/function/StandardDeviationFunction.java 2012-06-24 09:31:02 UTC (rev 38829) @@ -19,12 +19,14 @@ import java.io.IOException; import java.util.logging.Level; +import static org.geotools.filter.capability.FunctionNameImpl.*; + import org.geotools.data.simple.SimpleFeatureCollection; import org.geotools.feature.FeatureCollection; -import org.geotools.feature.visitor.AverageVisitor; import org.geotools.feature.visitor.CalcResult; import org.geotools.feature.visitor.StandardDeviationVisitor; -import org.geotools.util.NullProgressListener; +import org.geotools.filter.capability.FunctionNameImpl; +import org.opengis.filter.capability.FunctionName; /** * Breaks a SimpleFeatureCollection into classes using the standard deviation classification method. @@ -36,14 +38,15 @@ */ public class StandardDeviationFunction extends ClassificationFunction { - public int getArgCount() { - return 2; + public static FunctionName NAME = new FunctionNameImpl("StandardDeviation", + RangedClassifier.class, + parameter("value", Double.class), + parameter("classes", Integer.class)); + + public StandardDeviationFunction() { + super(NAME); } - public StandardDeviationFunction() { - setName("StandardDeviation"); - } - private Object calculate(SimpleFeatureCollection featureCollection) { try { int classNum = getClasses(); Modified: trunk/modules/library/main/src/main/java/org/geotools/filter/function/UniqueIntervalFunction.java =================================================================== --- trunk/modules/library/main/src/main/java/org/geotools/filter/function/UniqueIntervalFunction.java 2012-06-24 07:54:52 UTC (rev 38828) +++ trunk/modules/library/main/src/main/java/org/geotools/filter/function/UniqueIntervalFunction.java 2012-06-24 09:31:02 UTC (rev 38829) @@ -16,6 +16,8 @@ */ package org.geotools.filter.function; +import static org.geotools.filter.capability.FunctionNameImpl.*; + import java.io.IOException; import java.util.Collections; import java.util.Comparator; @@ -28,7 +30,9 @@ import org.geotools.feature.FeatureCollection; import org.geotools.feature.visitor.CalcResult; import org.geotools.feature.visitor.UniqueVisitor; +import org.geotools.filter.capability.FunctionNameImpl; import org.geotools.util.NullProgressListener; +import org.opengis.filter.capability.FunctionName; /** @@ -41,8 +45,13 @@ */ public class UniqueIntervalFunction extends ClassificationFunction { + public static FunctionName NAME = new FunctionNameImpl("UniqueInterval", + RangedClassifier.class, + parameter("value", Double.class), + parameter("classes", Integer.class)); + public UniqueIntervalFunction() { - setName("UniqueInterval"); + super(NAME); } private Object calculate(SimpleFeatureCollection featureCollection) { |