public PropertyIsEqualTo buildSpatialRelateFilter() throws CQLException { Literal pattern = this.resultStack.popLiteral(); Literal geometry = this.resultStack.popLiteral(); PropertyName property = this.resultStack.popPropertyName(); FilterFactory2 ff = (FilterFactory2) filterFactory; Expression[] args = new Expression[] {property, geometry, pattern}; Function function = filterFactory.function("relatePattern", args); assert function != null : "a relatePattern function is expected"; PropertyIsEqualTo filter = ff.equals(function, ff.literal(true)); return filter; } /**
static PropertyIsEqualTo propertyIsEqualTo() { return f.equals(propertyName(), literal()); }
private void defaultQuery(Query query, String filterAttribute) { Object value = findDefaultValue(query, filterAttribute); if (value != null) { Filter filter = query.getFilter(); filter = FeatureUtilities.DEFAULT_FILTER_FACTORY.and( filter, FeatureUtilities.DEFAULT_FILTER_FACTORY.equals( FeatureUtilities.DEFAULT_FILTER_FACTORY.property( filterAttribute), FeatureUtilities.DEFAULT_FILTER_FACTORY.literal(value))); query.setFilter(filter); } }
/** * Sets up a schema and a test feature. * * @throws IllegalFilterException If the constructed filter is not valid. */ public void testCompare() throws IllegalFilterException { PropertyIsEqualTo filter = fac.equals(fac.property("testString"), fac.literal("test string data")); assertAttributeName(filter, "testString"); }
@Test public void testFindPropertyName() { String results = Filters.findPropertyName(b); assertEquals("suburb", results); Filter f = ff.equals(ff.literal("bar"), ff.literal("foo")); }
private Filter totallyIndexedFilterXpath() { FilterFactory2 ff = CommonFactoryFinder.getFilterFactory2(); Filter filter = ff.and( ff.equals(ff.property("st:Station"), ff.literal("st.1")), ff.like(ff.property("st:Station/st:name"), "*fer*")); return filter; }
private Filter partialIndexedFilterXpath() { FilterFactory2 ff = CommonFactoryFinder.getFilterFactory2(); Filter filter = ff.and( ff.equals(ff.property("st:Station"), ff.literal("st.1")), ff.like(ff.property("st:Station/st:location/st:name"), "*fer*")); return filter; } }
@BeforeClass public static void setUpBeforeClass() throws Exception { ff = CommonFactoryFinder.getFilterFactory2(null); filters = new Filters(ff); a = ff.greater(ff.property("zone"), ff.literal(7)); b = ff.like(ff.property("suburb"), "N%"); c = ff.equals(ff.property("Subject"), ff.literal("foo")); d = ff.equals(ff.property("Subject"), ff.literal("bar")); }
private Filter totallyIndexedFilter() { FilterFactory2 ff = CommonFactoryFinder.getFilterFactory2(); Filter filter = ff.or( ff.equals(ff.property("st:Station"), ff.literal("st.1")), ff.like(ff.property("st:Station/st:name"), "*fer*")); return filter; }
protected Filter totallyIndexedFilter() { FilterFactory2 ff = CommonFactoryFinder.getFilterFactory2(); Filter filter = ff.or( ff.equals(ff.property(attId), ff.literal("st.1")), ff.like(ff.property(attName), "*fer*")); return filter; }
protected Filter totallyIndexedFilter2() { FilterFactory2 ff = CommonFactoryFinder.getFilterFactory2(); Filter filter = ff.or( ff.equals(ff.property(attName), ff.literal("fer")), ff.like(ff.property(attName), "*mariela*")); return filter; }
private Filter totallyIndexedFilter2() { FilterFactory2 ff = CommonFactoryFinder.getFilterFactory2(); Filter filter = ff.or( ff.equals(ff.property("st:Station/st:name"), ff.literal("fer")), ff.like(ff.property("st:Station/st:name"), "*mariela*")); return filter; }
private Filter partialIndexedFilter() { FilterFactory2 ff = CommonFactoryFinder.getFilterFactory2(); Filter filter = ff.and( ff.equals(ff.property("ID"), ff.literal("st.1")), ff.like(ff.property("LOCATION_NAME"), "*fer*")); return filter; }
private Filter totallyIndexedFilter() { FilterFactory2 ff = CommonFactoryFinder.getFilterFactory2(); Filter filter = ff.and( ff.equals(ff.property("ID"), ff.literal("st.1")), ff.like(ff.property("NAME"), "*fer*")); return filter; }
public void testDynamicProperty() throws Exception { Function func = fac.function("property", fac.function("env", fac.literal("pname"))); PropertyIsEqualTo filter = fac.equals(func, fac.literal("test")); try { EnvFunction.setLocalValue("pname", "name"); assertAttributeName(filter, "name"); } finally { EnvFunction.clearLocalValues(); } } }
@Test public void testOr() { Filter f = ff.or( ff.bbox("geom", -10, -10, 10, 10, null), ff.equals(ff.property("att"), ff.literal("10"))); Envelope env = (Envelope) f.accept(visitor, null); assertEquals(infinity, env); }
@Test public void testAnd() { Filter f = ff.and( ff.bbox("geom", -10, -10, 10, 10, null), ff.equals(ff.property("att"), ff.literal("10"))); Envelope env = (Envelope) f.accept(visitor, null); assertEquals(new Envelope(-10, 10, -10, 10), env); }
@Test public void testFindPropertyNameEmpty() { assertNull(Filters.findPropertyName(null)); Filter f = ff.equals(ff.literal("bar"), ff.literal("foo")); String results = Filters.findPropertyName(b); assertNull(Filters.findPropertyName(f)); }
public void testRemoveFeatures() throws Exception { SimpleFeatureStore featureStore = (SimpleFeatureStore) dataStore.getFeatureSource(tname("guid")); final FilterFactory2 ff = CommonFactoryFinder.getFilterFactory2(); Filter filter = ff.equals(ff.property(aname("uuidProperty")), ff.literal(uuid1)); featureStore.removeFeatures(filter); assertEquals(1, featureStore.getCount(Query.ALL)); }
public void testPropertyEqualWithFunction() throws Exception { Function function = new GeometryFunction(); // see if coordinates gets flipped, urn forces lat/lon interpretation PropertyIsEqualTo original = ff.equals(ff.property("geom"), function); PropertyIsEqualTo clone = (PropertyIsEqualTo) original.accept(reprojector, null); assertNotSame(original, clone); assertEquals(clone.getExpression1(), original.getExpression1()); LineString clonedLs = (LineString) clone.getExpression2().evaluate(null); assertTrue(15 == clonedLs.getCoordinateN(0).x); assertTrue(10 == clonedLs.getCoordinateN(0).y); assertTrue(25 == clonedLs.getCoordinateN(1).x); assertTrue(20 == clonedLs.getCoordinateN(1).y); assertEquals(CRS.decode("EPSG:4326"), clonedLs.getUserData()); }