Search in sources :

Example 1 with IsNotNull

use of org.locationtech.geowave.core.store.query.filter.expression.IsNotNull in project geowave by locationtech.

the class GWQLParserTest method testFilters.

@Test
public void testFilters() {
    final DataStore dataStore = createDataStore();
    String statement = "SELECT * FROM type WHERE pop IS NULL";
    Statement gwStatement = GWQLParser.parseStatement(dataStore, statement);
    assertTrue(gwStatement instanceof SelectStatement);
    SelectStatement<?> selectStatement = (SelectStatement<?>) gwStatement;
    assertNotNull(selectStatement.getFilter());
    Filter filter = selectStatement.getFilter();
    assertTrue(filter instanceof IsNull);
    assertTrue(((IsNull) filter).getExpression() instanceof NumericFieldValue);
    assertEquals("pop", ((NumericFieldValue) ((IsNull) filter).getExpression()).getFieldName());
    statement = "SELECT * FROM type WHERE pop IS NOT NULL";
    gwStatement = GWQLParser.parseStatement(dataStore, statement);
    assertTrue(gwStatement instanceof SelectStatement);
    selectStatement = (SelectStatement<?>) gwStatement;
    assertNotNull(selectStatement.getFilter());
    filter = selectStatement.getFilter();
    assertTrue(filter instanceof IsNotNull);
    assertTrue(((IsNotNull) filter).getExpression() instanceof NumericFieldValue);
    assertEquals("pop", ((NumericFieldValue) ((IsNotNull) filter).getExpression()).getFieldName());
    statement = "SELECT * FROM type WHERE NOT pop IS NOT NULL";
    gwStatement = GWQLParser.parseStatement(dataStore, statement);
    assertTrue(gwStatement instanceof SelectStatement);
    selectStatement = (SelectStatement<?>) gwStatement;
    assertNotNull(selectStatement.getFilter());
    filter = selectStatement.getFilter();
    assertTrue(filter instanceof Not);
    final Not not = (Not) filter;
    assertTrue(not.getFilter() instanceof IsNotNull);
    filter = not.getFilter();
    assertTrue(((IsNotNull) filter).getExpression() instanceof NumericFieldValue);
    assertEquals("pop", ((NumericFieldValue) ((IsNotNull) filter).getExpression()).getFieldName());
}
Also used : SelectStatement(org.locationtech.geowave.core.store.query.gwql.statement.SelectStatement) IsNotNull(org.locationtech.geowave.core.store.query.filter.expression.IsNotNull) Not(org.locationtech.geowave.core.store.query.filter.expression.Not) Filter(org.locationtech.geowave.core.store.query.filter.expression.Filter) Statement(org.locationtech.geowave.core.store.query.gwql.statement.Statement) SelectStatement(org.locationtech.geowave.core.store.query.gwql.statement.SelectStatement) DataStore(org.locationtech.geowave.core.store.api.DataStore) NumericFieldValue(org.locationtech.geowave.core.store.query.filter.expression.numeric.NumericFieldValue) IsNull(org.locationtech.geowave.core.store.query.filter.expression.IsNull) Test(org.junit.Test)

Aggregations

Test (org.junit.Test)1 DataStore (org.locationtech.geowave.core.store.api.DataStore)1 Filter (org.locationtech.geowave.core.store.query.filter.expression.Filter)1 IsNotNull (org.locationtech.geowave.core.store.query.filter.expression.IsNotNull)1 IsNull (org.locationtech.geowave.core.store.query.filter.expression.IsNull)1 Not (org.locationtech.geowave.core.store.query.filter.expression.Not)1 NumericFieldValue (org.locationtech.geowave.core.store.query.filter.expression.numeric.NumericFieldValue)1 SelectStatement (org.locationtech.geowave.core.store.query.gwql.statement.SelectStatement)1 Statement (org.locationtech.geowave.core.store.query.gwql.statement.Statement)1