Hi Steve,
As a quick reply, I'd suggest looking at ECQL rather than CQL. For
GeoServer, the community has extended CQL in a few ways.
Assuming that your users will write queries in (E)CQL, ECQL.toFilter
will parse the string and handle building a filter object. It is a 'big
if', but if you are using SimpleFeatures, I know you'll be off to the
races immediately. With the filter, you can call
filter.evaluate(simpleFeature); the return is a boolean indicating if
your object satisfies the filter or not.
Anyhow, the good news is that 'evaluate' actually takes an Object, so
there's some chance you won't be restricted to storing your data as
SimpleFeatures. Unfortunately, I haven't traced through the various
classes to see how things work in detail. Others will be able to speak
to that better.
Does that help?
Jim
On 03/15/2015 12:54 PM, Stephen Brooke wrote:
Hi list,
I am thinking of using CQL as a filter language in my own application
and I’ve been looking at “gt-cql.jar” in the GeoTools suite of tools
as a library to do the heavy lifting. However, I’m having trouble
knowing where to start.
The scenario I am trying to implement is as follows:
A user creates a rule for how they want to receive notifications about
new data available and the rule can contain a filter which I send to
my application as a CQL filter. The application stores the rule and
when “new data available” event occurs the application needs to go
through all user rules and determine whether notifications need to be
sent to which users. So the application needs to go through each rule
and see which ones are a match for the “new data available” event.
Does anyone have any pointers as to where to start if I want to use
GeoTools to help with this?
The classes I’ve studied so far are:
org.geoserver.wfs.GetFeature
org.geoserver.wfs.JoinExtractingVisitor
org.geoserver.monitor.FilterVisitorSupport
org.geotools.filter.FilterFactoryImpl
org.opengis.filter.Filter
org.geoserver.ows.KvpParser
org.geotools.filter.text.cql2.CQLTest
org.geotools.filter.text.cql2.CQL
--Steve
------------------------------------------------------------------------------
Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the
conversation now. http://goparallel.sourceforge.net/
_______________________________________________
GeoTools-GT2-Users mailing list
GeoTools-GT2-Users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users
------------------------------------------------------------------------------
Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the
conversation now. http://goparallel.sourceforge.net/
_______________________________________________
GeoTools-GT2-Users mailing list
GeoTools-GT2-Users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users