package org.geotoolkit.pending.demo.filter; import java.util.List; import org.geotoolkit.cql.CQL; import org.geotoolkit.cql.CQLException; import org.geotoolkit.factory.FactoryFinder; import org.geotoolkit.pending.demo.Demos; import org.opengis.filter.Filter; import org.opengis.filter.FilterFactory; public class CQLDemo { private static final FilterFactory FF = FactoryFinder.getFilterFactory(null); public static void main(String[] args) throws CQLException { Demos.init(); final String filterTxt = "name = sorel and age > 20"; Filter filter = CQL.parseFilter(filterTxt); System.out.println(filter); System.out.println(CQL.parseFilter("ATTR1 < 10 AND ATTR2 < 2 OR ATTR3 > 10")); System.out.println(CQL.parseFilter("NAME = 'New York' ")); System.out.println(CQL.parseFilter("NAME LIKE 'New%' ")); System.out.println(CQL.parseFilter("NAME IS NULL")); System.out.println(CQL.parseFilter("DATE BEFORE 2006-11-30T01:30:00Z")); System.out.println(CQL.parseFilter("NAME DOES-NOT-EXIST")); System.out.println(CQL.parseFilter("QUANTITY BETWEEN 10 AND 20")); System.out.println(CQL.parseFilter("CROSS(SHAPE, LINESTRING(1 2, 10 15))")); System.out.println(CQL.parseFilter("BBOX(SHAPE, 10,20,30,40)")); System.out.println(CQL.parseExpression("NAME")); System.out.println(CQL.parseExpression("QUANTITY * 2")); System.out.println(CQL.parseExpression("strConcat(NAME, 'suffix')")); String cqlfilter = CQL.write(filter); String cqlexpression = CQL.write(FF.literal("hello")); } }