Hi Rob, thanks for kicking this around - it is a great help. Try the instructions here: - http://docs.codehaus.org/display/GEOTOOLS/Upgrade+to+2.4#Upgradeto2.4-filter
If you scroll down to the "After (GeoTools 2.4 Code)" you will see at the end of the day a FilterFactory is used directly: > public void testAfter() throws Exception { > FilterFactory ff = CommonFactoryFinder.getFilterFactory(null); > > Expression left = ff.literal(2); > Expression right = ff.literal(2); > PropertyIsGreaterThan filter = ff.greater( left, right ); > > assertTrue( filter.evaluate( null ) ); > assertTrue( Fitler.INCLUDE != filter ); > } If you do find any short comings in the upgrade instructions let me know. Jody > Warning - bear of little brain playing with the code base :-) > > Am trying to understand the new Filter/Expression stuff by updating > the Geometryless data store in Geotools trunk. Following the upgrade > to 2.4 instructions (which I've fixed a few typos in) I get left with > the following issues: > > 1) CompareFilter tells me to use a BinaryComparisonOperator instead - > but this is an interface, so I need the equivalent implementation > class, or a complete re-write > 2) addLeft() etc I assume becomes setExpression1() etc > 3) The upgrade page suggests that I use: > > CompareFilter filter = > ff.createCompareFilter(FilterType.COMPARE_GREATER_THAN); > > but I cant see FilterType in GeoAPI, only org.geotools.filter > > in any event, should I really be using > FilterFactory.PropertyIsGreaterThan(expr1,expr2) ? > > The upgrade docs mentions a lot of AFTER ( Geotools 2.3) should this > be edited to say 2.4? > > On a general note - I'd like to help test the docs for the migration > path here, and the API implementations I guess, but need some more > insights into the state of play. In particular I cant find any > implementations of the new Filter/Expression stuff in any modules > within gt2 trunk, so am relying totally on the code. > > Is this upgrade happening on a different branch, or on someone's > machine and not yet committed perhaps? > > I dont see the upgrade notes can be complete without these additions - > am I simply pushing it along a bit faster than the docs have got up to. > > Any further suggestions on how I can help the transition better? > > Rob A > > > > > > Jody Garnett wrote: >> Justin a QA step for 2.4 should be an optional filter factory (that >> does not implement GeoTools Filter interface) that we can "Hint" into >> the system, any datastore that still passes its test wins :-) >> >> Cheers, >> Jody >> >>> A side effect of how the transition was performed. The benefit was that >>> we had a deprecation cycle so that everyone didn't have to shift >>> immediately. The downside seems to be pain as we flush out where these >>> things are still assuming the old interfaces. >>> >>> I guess the short answer is that any filter that casts to an >>> implementation class or interface is now wrong. >>> >>> -Justin >>> >>> Andrea Aime wrote: >>> >>>> Hi, >>>> working on trunk is proving to be "fun" because of the >>>> Geoapi filter mess. >>>> Basically, we have an API that insists >>>> on using Geoapi filters, and implementations that really do >>>> want geotools filters instead. >>>> Usually there's no difference, but too bad INCLUDE and EXCLUDE >>>> are not geotools filters, so when you start using them you're >>>> setting up for disaster. >>>> >>>> Silly example: >>>> FilterFactory ff = ... >>>> Filter newFilter = ff.and(Filter.INCLUDE, myOtherFilter); >>>> >>>> and then try to use newFilter in sql encoders, splitters and the >>>> like and boom, class cast exceptions all over the place. >>>> >>>> Why? Well, you could argue that INCLUDE combined with everything >>>> else should disappear, but the filter factory has no such >>>> logic. I can fix the factory, but are we sure and/or/not are >>>> they only ways include/exclude can be combined into a more >>>> complex filter? I could create AndImpl before and then set >>>> directly INCLUDE as one of the childs... >>>> >>>> Cheers >>>> Andrea >>>> >>>> ------------------------------------------------------------------------- >>>> >>>> Take Surveys. Earn Cash. Influence the Future of IT >>>> Join SourceForge.net's Techsay panel and you'll get the chance to >>>> share your >>>> opinions on IT & business topics through brief surveys - and earn cash >>>> http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV >>>> >>>> _______________________________________________ >>>> Geotools-devel mailing list >>>> Geotools-devel@lists.sourceforge.net >>>> https://lists.sourceforge.net/lists/listinfo/geotools-devel >>>> >>>> !DSPAM:1004,45895684163881425493344! >>>> >>>> >>> >> >> >> ------------------------------------------------------------------------- >> >> Take Surveys. Earn Cash. Influence the Future of IT >> Join SourceForge.net's Techsay panel and you'll get the chance to >> share your >> opinions on IT & business topics through brief surveys - and earn cash >> http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV >> >> _______________________________________________ >> Geotools-devel mailing list >> Geotools-devel@lists.sourceforge.net >> https://lists.sourceforge.net/lists/listinfo/geotools-devel >> > > ------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys - and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV _______________________________________________ Geotools-devel mailing list Geotools-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/geotools-devel