Well, went ahead and applied those changes and guess what - geometryless 
compiled and successfully ran all tests against a vanilla potgres install!

Yeehah!

I've committed changes to geometryless on trunk, now I need to consider 
the next steps.

I've been unable to interpret the noise relating to refactoring JDBC, 
but geometryless derives from the old implementation.  I'd like to 
remove all references to the org.geotools.filter - but maybe this is 
pointless/impossible until jdbc module is up to date.

I've also edited the upgrade instructions to be a little more clear 
about how the changes were made.

Rob A




Jody Garnett wrote:
> 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

Reply via email to