public static Map loadFunctionNameMap() { functionNameMap = new HashMap(); functionNameMap.put("", NO_OP_CAPS); Iterator<Function> functions = CommonFactoryFinder.getFunctions(null).iterator(); while (functions.hasNext()) { Function exp = functions.next(); functionNameMap.put( exp.getName().toLowerCase(), new FilterCapabilities(exp.getClass())); } return functionNameMap; }
/** * @see org.geotools.xml.schema.Type#getValue(org.geotools.xml.schema.Element, * org.geotools.xml.schema.ElementValue[], org.xml.sax.Attributes, java.util.Map) */ public Object getValue(Element element, ElementValue[] value, Attributes attrs, Map hints) { FilterCapabilities caps = new FilterCapabilities(); for (int i = 0; i < value.length; i++) { caps.addAll((FilterCapabilities) value[i].getValue()); } return caps; }
/** * @see org.geotools.xml.schema.Type#getValue(org.geotools.xml.schema.Element, * org.geotools.xml.schema.ElementValue[], org.xml.sax.Attributes, java.util.Map) */ public Object getValue(Element element, ElementValue[] value, Attributes attrs, Map hints) { // TODO FilterCapabilities caps = new FilterCapabilities(); String functionName = (String) value[0].getValue(); caps.addAll(FilterCapabilities.findFunction(functionName.toLowerCase())); return caps; }
public void testWITHIN() throws Exception { Filter f = ff.within(geomAtt, geom); runTest(f, new FilterCapabilities(Within.class), geomAtt); } }
public void testBBOX() throws Exception { // JE: this test fails but I am not sure if it is a bug or expected behaviour // I wrote this test so it may be correct but it maybe wrong. Someone that knows should // look at this. Filter f = ff.bbox(geomAtt, 10, 10, 20, 20, ""); runTest(f, new FilterCapabilities(BBOX.class), geomAtt); }
public void testBEYOND() throws Exception { Filter f = ff.beyond(geomAtt, geom, 10, ""); runTest(f, new FilterCapabilities(Beyond.class), geomAtt); }
public void testCROSSES() throws Exception { Filter f = ff.crosses(geomAtt, geom); runTest(f, new FilterCapabilities(Crosses.class), geomAtt); }
public void testDWITHIN() throws Exception { Filter f = ff.dwithin(geomAtt, geom, 10, ""); runTest(f, new FilterCapabilities(DWithin.class), geomAtt); }
public void testCONTAINS() throws Exception { Filter f = ff.contains(geomAtt, geom); runTest(f, new FilterCapabilities(Contains.class), geomAtt); }
public void testDISJOINT() throws Exception { Filter f = ff.disjoint(geomAtt, geom); runTest(f, new FilterCapabilities(Disjoint.class), geomAtt); }
public void testEQUALS() throws Exception { Filter f = ff.equals(geomAtt, geom); runTest(f, new FilterCapabilities(Equals.class), geomAtt); }
public void testINTERSECTS() throws Exception { Filter f = ff.intersects(geomAtt, geom); runTest(f, new FilterCapabilities(Intersects.class), geomAtt); }
public void testOVERLAPS() throws Exception { Filter f = ff.overlaps(geomAtt, geom); runTest(f, new FilterCapabilities(Overlaps.class), geomAtt); }
public void testTOUCHES() throws Exception { Filter f = ff.touches(geomAtt, geom); runTest(f, new FilterCapabilities(Touches.class), geomAtt); }
public void testVisitLikeFilter() throws Exception { Filter filter = ff.like(ff.property(nameAtt), "j*", "*", "?", "\\"); FilterCapabilities likeCaps = new FilterCapabilities(PropertyIsLike.class); runTest(filter, likeCaps, nameAtt); }
public void testVisitNullFilter() throws Exception { Filter filter = ff.isNull(ff.property(nameAtt)); FilterCapabilities nullCaps = new FilterCapabilities(PropertyIsNull.class); runTest(filter, nullCaps, nameAtt); }
public void testVisitFidFilter() throws Exception { HashSet ids = new HashSet(); ids.add(ff.featureId("david")); Filter filter = ff.id(ids); visitor = newVisitor(new FilterCapabilities(Id.class)); filter.accept(visitor, null); assertEquals(Filter.INCLUDE, visitor.getFilterPost()); assertEquals(filter, visitor.getFilterPre()); }
public void testVisitBetweenFilter() throws Exception { PropertyIsBetween filter = ff.between(ff.literal(0), ff.property(numAtt), ff.literal(4)); FilterCapabilities caps = new FilterCapabilities(PropertyIsBetween.class); runTest(filter, caps, numAtt); }
public void testTemporalFilter() throws Exception { FilterCapabilities caps = new FilterCapabilities(); PostPreProcessFilterSplittingVisitor visitor = new PostPreProcessFilterSplittingVisitor(caps, null, null); Filter f1 = ff.after(ff.property("foo"), ff.literal("2011-06-20")); f1.accept(visitor, null); assertEquals(f1, visitor.getFilterPost()); }
public void testIsNullFilter() { FilterCapabilities caps = new FilterCapabilities(); PostPreProcessFilterSplittingVisitor visitor = new PostPreProcessFilterSplittingVisitor(caps, null, null); caps.addType(PropertyIsNull.class); Filter f1 = ff.isNull(ff.literal("abc")); f1.accept(visitor, null); assertEquals(f1, visitor.getFilterPre()); visitor = new PostPreProcessFilterSplittingVisitor(caps, null, null); Filter f2 = ff.isNull(ff.function("strConcat", ff.literal("abc"), ff.literal("def"))); f2.accept(visitor, null); assertEquals(f2, visitor.getFilterPost()); }