/** Transform provided filter; resolving property names */ public static Filter resolvePropertyNames(Filter filter, SimpleFeatureType schema) { if (filter == null || filter == Filter.INCLUDE || filter == Filter.EXCLUDE) { return filter; } return (Filter) filter.accept(new PropertyNameResolvingVisitor(schema), null); }
public Object visit(PropertyName expression, Object extraData) { if ("".equals(expression.getPropertyName())) { return super.visit(expression, extraData); } AttributeDescriptor att = expression.evaluate(featureType, null); if (att != null) { return getFactory(extraData).property(att.getLocalName()); } return super.visit(expression, extraData); } }
public void testResolveEmptyName() { // We use a geometry filter here to test that expression1 does not get filled with the // default geometry BBOX f = factory.bbox("", 0.0, 0.0, 1.0, 1.0, DefaultGeographicCRS.WGS84.toString()); assertEquals("", f.getExpression1().toString()); f = (BBOX) f.accept(new PropertyNameResolvingVisitor(featureType), null); assertEquals("", f.getExpression1().toString()); } }
public Object visit(PropertyName expression, Object extraData) { AttributeDescriptor att = expression.evaluate( featureType, null); if ( att != null ) { return getFactory(extraData).property( att.getLocalName() ); } return super.visit(expression, extraData); } }
public void testResolvePropertyName() { PropertyIsEqualTo f = factory.equal(factory.property("gml:name"), factory.literal("foo"), true); assertEquals("gml:name", f.getExpression1().toString()); f = (PropertyIsEqualTo) f.accept(new PropertyNameResolvingVisitor(featureType), null); assertEquals("name", f.getExpression1().toString()); }
/** Transform provided filter; resolving property names */ public static Filter resolvePropertyNames(Filter filter, SimpleFeatureType schema) { if (filter == null || filter == Filter.INCLUDE || filter == Filter.EXCLUDE) { return filter; } return (Filter) filter.accept(new PropertyNameResolvingVisitor(schema), null); }