use of org.geotools.filter.visitor.DefaultFilterVisitor in project ddf by codice.
the class FilterBuilderTest method withinGeoTest.
/**
*
*/
@Test
public void withinGeoTest() {
FilterBuilder builder = new GeotoolsFilterBuilder();
Filter filter = builder.attribute(Metacard.GEOGRAPHY).within().wkt(POINT_WKT);
filter.accept(new DefaultFilterVisitor() {
@Override
public Object visit(Within filter, Object data) {
Literal literalWrapper = (Literal) filter.getExpression2();
Geometry geometry = (Geometry) literalWrapper.evaluate(null);
geometry.getCentroid().getCoordinate();
return super.visit(filter, data);
}
}, null);
}
use of org.geotools.filter.visitor.DefaultFilterVisitor in project ddf by codice.
the class FilterBuilderTest method propertyIsEqual.
@Test
public void propertyIsEqual() {
FilterVisitor visitor = spy(new DefaultFilterVisitor() {
});
FilterBuilder builder = new GeotoolsFilterBuilder();
Filter filter = builder.attribute(FOO_ATTRIBUTE).equalTo().text("bar");
filter.accept(visitor, null);
filter = builder.attribute(FOO_ATTRIBUTE).is().equalTo().text("bar");
filter.accept(visitor, null);
filter = builder.attribute(FOO_ATTRIBUTE).is().text("bar");
filter.accept(visitor, null);
filter = builder.attribute(FOO_ATTRIBUTE).equalTo().bool(true);
filter.accept(visitor, null);
filter = builder.attribute(FOO_ATTRIBUTE).equalTo().bytes(new byte[] {});
filter.accept(visitor, null);
filter = builder.attribute(FOO_ATTRIBUTE).equalTo().date(new Date());
filter.accept(visitor, null);
filter = builder.attribute(FOO_ATTRIBUTE).equalTo().number((short) 5);
filter.accept(visitor, null);
filter = builder.attribute(FOO_ATTRIBUTE).equalTo().number(new Integer(5));
filter.accept(visitor, null);
filter = builder.attribute(FOO_ATTRIBUTE).equalTo().number(new Long(5));
filter.accept(visitor, null);
filter = builder.attribute(FOO_ATTRIBUTE).equalTo().number(new Float(5));
filter.accept(visitor, null);
filter = builder.attribute(FOO_ATTRIBUTE).equalTo().number(new Double(5));
filter.accept(visitor, null);
filter = builder.attribute(FOO_ATTRIBUTE).equalTo().wkt("POINT (10, 30)");
filter.accept(visitor, null);
filter = builder.attribute(null).is().text(null);
filter.accept(visitor, null);
filter = builder.attribute(FOO_ATTRIBUTE).equalTo().dateRange(new Date(1), new Date(2));
filter.accept(visitor, null);
InOrder inOrder = inOrder(visitor);
inOrder.verify(visitor, times(13)).visit(isA(PropertyIsEqualTo.class), anyObject());
inOrder.verify(visitor, times(1)).visit(isA(During.class), anyObject());
}
use of org.geotools.filter.visitor.DefaultFilterVisitor in project ddf by codice.
the class FilterBuilderTest method likeXPathNull.
@Test(expected = IllegalArgumentException.class)
public void likeXPathNull() {
FilterVisitor visitor = spy(new DefaultFilterVisitor() {
});
FilterBuilder builder = new GeotoolsFilterBuilder();
Filter filter = builder.xpath("//foo").is().like().text(null);
filter.accept(visitor, null);
InOrder inOrder = inOrder(visitor);
inOrder.verify(visitor, times(1)).visit(isA(PropertyIsLike.class), anyObject());
filter = builder.xpath(null).is().like().text(null);
}
use of org.geotools.filter.visitor.DefaultFilterVisitor in project ddf by codice.
the class FilterBuilderTest method likeXPath.
@Test
public void likeXPath() {
FilterVisitor visitor = spy(new DefaultFilterVisitor() {
});
FilterBuilder builder = new GeotoolsFilterBuilder();
Filter filter = builder.xpath("//foo").like().text("bar");
filter.accept(visitor, null);
filter = builder.xpath("//foo").is().like().text("bar");
filter.accept(visitor, null);
InOrder inOrder = inOrder(visitor);
inOrder.verify(visitor, times(2)).visit(isA(PropertyIsLike.class), anyObject());
}
use of org.geotools.filter.visitor.DefaultFilterVisitor in project ddf by codice.
the class FilterBuilderTest method andNull.
@Test
public void andNull() {
FilterVisitor visitor = spy(new DefaultFilterVisitor() {
});
FilterBuilder builder = new GeotoolsFilterBuilder();
Filter filter = builder.allOf(builder.attribute(FOO_ATTRIBUTE).is().empty());
filter.accept(visitor, null);
InOrder inOrder = inOrder(visitor);
inOrder.verify(visitor, times(1)).visit(isA(And.class), anyObject());
inOrder.verify(visitor).visit(isA(PropertyIsNull.class), anyObject());
}
Aggregations