public Object visit(Function expression, Object data) { if (expression.getParameters() != null) { for (Expression parameter : expression.getParameters()) { data = parameter.accept(this, data); } } return data; }
public Object visit(Function expression, Object data) { if (expression.getParameters() != null) { for (Expression parameter : expression.getParameters()) { data = parameter.accept(this, data); } } return data; }
/** Visit each parameter and check if they are static */ public Boolean visit(Function expression, Object data) { boolean isStatic = true; if (expression.getParameters() != null) { for (Expression parameter : expression.getParameters()) { isStatic = (Boolean) parameter.accept(this, data); if (isStatic == false) break; } } return isStatic; } /**
public Object visit(Function expression, Object data) { for (Expression parameter : expression.getParameters()) { data = parameter.accept(this, data); } return found; }
public Object visit(Function expr, Object extraData) { for (int i = 0; i < expr.getParameters().size(); i++) { ((Expression) expr.getParameters().get(i)).accept(this, null); } capable = capable && fcs.supports(expr.getClass()); return null; }
public Object getProperty(Object object, QName name) throws Exception { Function function = (Function) object; // <xsd:element maxOccurs="unbounded" minOccurs="0" ref="ogc:expression"/> if ("expression".equals(name.getLocalPart())) { return function.getParameters(); } // <xsd:attribute name="name" type="xsd:string" use="required"/> if ("name".equals(name.getLocalPart())) { return function.getName(); } return null; } }
@Override public Object visit(Function expression, Object extraData) { // geometry manipulation functions that we have today don't mess with the // crs, but we might have to modify this if we get a function that // assigns the CRS for (Expression param : expression.getParameters()) { Object result = param.accept(this, extraData); if (result instanceof CoordinateReferenceSystem) { return result; } } return null; }
private Object buildExists(PropertyIsEqualTo filter, StringBuilder output) { Function function = (Function) filter.getExpression1(); List<Expression> parameters = function.getParameters(); Literal arg = (Literal) parameters.get(0); output.append(arg.getValue()); output.append(" EXISTS"); return output; }
public Object visit(Function expression, Object data) { if (found(data)) return data; if (expression.getParameters() != null) { for (Expression parameter : expression.getParameters()) { data = parameter.accept(this, data); if (found(data)) return data; } } return data; }
public FunctionBuilder reset(Function original) { name = original.getName(); args.clear(); args.addAll(original.getParameters()); literal.reset(original.getFallbackValue()); return this; }
public Object visit(Function expression, Object extraData) { String type = (String) "Function"; AttributesImpl atts = new AttributesImpl(); atts.addAttribute("", "name", "name", "", expression.getName()); start(type, atts); for (org.opengis.filter.expression.Expression parameter : expression.getParameters()) { parameter.accept(this, extraData); } end(type); return extraData; }
@Test public void testGetArgs() { assertNotNull(idExpr.getParameters()); assertEquals(0, idExpr.getParameters().size()); } }
@Override public Object visit(Function f, Object extraData) { FunctionName fn = f.getFunctionName(); if (fn != null && fn.getReturn() != null && fn.getReturn().getType() != Object.class) { return fn.getReturn().getType(); } else if (f instanceof FilterFunction_Convert) { // special case for the convert function, which has the return type as // a parameter return f.getParameters().get(1).evaluate(null, Class.class); } return null; }
public void testIntersectsFilterFunctionUnreferencedGeometry() throws Exception { GeometryFactory gf = new GeometryFactory(); LineString ls = gf.createLineString( new Coordinate[] {new Coordinate(10, 15), new Coordinate(20, 25)}); Function intersects = ff.function("intersects", ff.property("geom"), ff.literal(ls)); Function clone = (Function) intersects.accept(reprojector, null); assertNotSame(intersects, clone); assertEquals(clone.getParameters().get(0), intersects.getParameters().get(0)); assertEquals(clone.getParameters().get(1), intersects.getParameters().get(1)); }
public void testCatenateThree() { Literal l1 = ff.literal("http://test?param="); PropertyName pn = ff.property("intAttribute"); Literal l2 = ff.literal("¶m2=foo"); Expression cat = ExpressionExtractor.catenateExpressions(Arrays.asList(l1, pn, l2)); assertTrue(cat instanceof Function); Function f = (Function) cat; assertEquals("Concatenate", f.getName()); assertEquals(l1, f.getParameters().get(0)); assertEquals(pn, f.getParameters().get(1)); assertEquals(l2, f.getParameters().get(2)); } }
public void testCatenateTwo() { Literal l = ff.literal("http://test?param="); PropertyName pn = ff.property("intAttribute"); Expression cat = ExpressionExtractor.catenateExpressions(Arrays.asList(l, pn)); assertTrue(cat instanceof Function); Function f = (Function) cat; assertEquals("Concatenate", f.getName()); assertEquals(l, f.getParameters().get(0)); assertEquals(pn, f.getParameters().get(1)); }
@Test public void testFilterFunctionNoMarker() throws Exception { String yaml = "rules: \n" + "- filter: strEndsWith(foo,'bar') = true\n"; StyledLayerDescriptor sld = Ysld.parse(yaml); Rule r = SLD.defaultStyle(sld).featureTypeStyles().get(0).rules().get(0); PropertyIsEqualTo f = (PropertyIsEqualTo) r.getFilter(); Function func = (Function) f.getExpression1(); assertEquals("strEndsWith", func.getName()); assertTrue(func.getParameters().get(0) instanceof PropertyName); assertTrue(func.getParameters().get(1) instanceof Literal); Literal lit = (Literal) f.getExpression2(); }
@Test public void testFilterFunctionWithMarker() throws Exception { String yaml = "rules: \n" + "- filter: ${strEndsWith(foo,'bar') = true}\n"; StyledLayerDescriptor sld = Ysld.parse(yaml); Rule r = SLD.defaultStyle(sld).featureTypeStyles().get(0).rules().get(0); PropertyIsEqualTo f = (PropertyIsEqualTo) r.getFilter(); Function func = (Function) f.getExpression1(); assertEquals("strEndsWith", func.getName()); assertTrue(func.getParameters().get(0) instanceof PropertyName); assertTrue(func.getParameters().get(1) instanceof Literal); Literal lit = (Literal) f.getExpression2(); }
public void testCountFunctionDescription() throws Exception { // Create instance of function to get hold of the filter capabilities PropertyName exp = ff.property("foo"); Function func = ff.function("Collection_Count", exp); // Expecting one function parameter assertEquals(func.getParameters().size(), 1); // Test return parameter assertEquals(func.getFunctionName().getReturn().toString(), "count:Number"); }
public void testParse() throws Exception { FilterMockData.function(document, document); Function function = (Function) parse(); assertEquals("min", function.getName()); assertEquals(2, function.getParameters().size()); }