Blog from October, 2008

IRC Logs Oct 27th

0) What is up?
1) domain
2) meeting time for sydney
3) functionfactory

acuster jody
jgarnett good morning
jgarnett sorry to be late - packing up on this end.
jgarnett if we email they may know something about the domain
acuster it's james macgill's
acuster registered in england
acuster we need to recuperate it

acuster negotiates with osgeo

acuster jgarnett, when are you leaving?
jgarnett ah
jgarnett I left refractions last week
jgarnett I am on a plane this Friday
jgarnett (so this week is packing - I will not be online much)
acuster ouch
acuster no month long holiday in between?
jgarnett nope - refractions did not pay well enough for that (smile)
acuster osgeo is willing to hold the registration for us
acuster so that seems like a viable option either when james answers or when his control lapses
jgarnett understood; thanks for figuring that out
acuster anything else jody?
acuster anyone else?
jgarnett well I have been following aaime's progress on filter clean up

Eclesia has left #geotools

jgarnett and all I can say is
jgarnett aaime++
jgarnett I really appreciate the work you are doing.
aaime Ah hety
aaime sorry, I did not realize the meeting time moved for me
jgarnett but nothing important from me ... if I cannot hack I should not waste meeting time.
aaime since we went back to solar hour tonight
jgarnett note this meeting time will be unsuitable for me after this week (smile)
aaime right right
jgarnett I would recommend two meeting times (like we did for geoserver for a while)
aaime maybe we can negotiate a different time... not sure if there will be any time good for everybody
jgarnett one agenda carried over to the next ...
aaime we can try
aaime so you'll be in Sydney right?
jgarnett correct
aaime Victoria might soon become irrelevant meeting time wise
jgarnett depends when jdeolive picks up sticks
aaime right
acuster early morning au and late night eu is the only one that works
acuster if memory serves
aaime if we do a single meeting, yep
jgarnett in anycase we do not need to make the decision today
aaime I must have picked the wrong Victoria above
aaime this one looks better:
aaime jgarnett, not sure what the times for gs meetings were
jgarnett they were at 12:30 pst
aaime I mean, as far as I can see the table it seems Sydney is going to do a stand alone meeting anyways?
jgarnett perhaps we will have to see what kind of community I can scare up
jgarnett I may be reduced to reading logs.
jgarnett in anycase we do not need to decide this week; and next week I should be jet lagged and awake.
aaime yep
aaime Ah, I have news about labelling
aaime we got a sponsor that is giving us the possibility to implement label displacement on lines in case of conflict
aaime and labelling long lines multiple times
aaime if we're lucky, maybe even curved labels along roads
aaime and multi line labels
aaime (the latter is unlikely, but we'll see)
aaime atm I'm coding a modified label cache in geoserver
aaime then we'll see how to donate back to gt2
jdeolive i think someone is playing voodoo with geotools... the sourceforge site says "invalid project"
jdeolive when i go to
aaime ouch?
aaime jdeolive, it shows fine for me?
jgarnett not for mee
jdeolive hmmm... wierd
jdeolive i just refreshed and its ok again
jdeolive like i said... voodoo (smile)
jgarnett agreed it is back
aaime jgarnett, I guess you have no powers over that dns issue?
jgarnett none
jgarnett pramsey figured out some stuff last time
jgarnett but I think it is about the same as what acuster told me a few minuets ago.
jdeolive who owns the domain?
jdeolive james?
jgarnett correct
jgarnett we could see about redirecting
acuster osgeo is willing and able to take over control of the domain
acuster if we can wrestle it from james
acuster I suggest we sponsor jody to go threaten james
acuster since they will be on the same continent

vheurteaux_ ( has joined #geotools

jgarnett I thought james was in NY now?
aaime I don't know
acuster ah? /me has no idea
aaime but yeah, I head something along those lines some time ago
jgarnett well that may be it for the meeting
jgarnett if someone can post the logs I would not mind reviewing the earlier discussion

vheurteaux has left freenode (Read error: 110 (Connection timed out))

acuster there was none

apetkov (i=a6071a31@gateway/web/ajax/ has joined #geotools

=-= jgarnett has changed the topic to "Visit us at"
jgarnett that will do for a subject line today.
apetkov geotools' svn down today?

desruisseaux ( has joined #geotools

acuster apetkov, only the dns
acuster anyone have the numeric address?
apetkov not me (sad)
aaime Ben posted it on the ml
aaime just a sec
aaime you can use:
aaime if you prefer a name:
=-= jgarnett has changed the topic to "Visit us at (source code at )"
aaime jgarnett, I'm still waiting from some examples on your part on the function factory issue
aaime 'cause I don't understand what you're suggesting and how it's supposed to be used

oterral123 has left freenode ("Leaving.")

jgarnett hi aaime
jgarnett I am going to have to go soon; but perhaps I can explain
jgarnett the idea is to make sure that we can always represent the expression (or SLD)
jgarnett as provided by the user
jgarnett regadless of if we have an implementation or not.
jgarnett is that part okay?
jgarnett just treat a function expression like a data structure
aaime sort of
jgarnett so I want to make sure we can do that; so geotools can be used to construct an SLD file for a WMS
jgarnett that has functions available to it
aaime yeah ok, I don't like it but I get it
jgarnett that we have not implemented in geotools.
jgarnett (for example).
jgarnett Or expressions for a datastore that has functions that we have not implemented in geotools.
aaime and then what?
jgarnett so there are two ways to do this ...
jgarnett a) try all our implementations during creation time (ie filterfactory.function( String, List<Expression> )
jgarnett b) or try finding an implementation when execute is called
jgarnett At least that is the only two I have thought of ...
aaime a) seems a bit more natural to me
aaime if you don't find an implementation, return a placeholder that will return the fallback value or throw an exception when it's called
jgarnett if we choose (a) like we do right now; we need to make sure the factory has a placeholder function ... and that is what it has right now (but it only uses this placeholder if you have provided a fallback value)
jgarnett bingo - so that is what we got.
aaime that deals also with the case in which you're hitting the datastore that can evaluate it, but you cannot encode it because it's mixed up with something else that cannot be encoded
aaime b) would require major changes in the code, and I don't see the advantage
jgarnett And we are both comfotable throwing an exeception if an implementaiton cannot be found; and no fallback value is provided?
aaime I am
jgarnett The advantage for me was that we could make our own "library" extension - and have it cover the Function and the FunctionName use cases.
aaime we just have to decide wheter to do so at parsing or execution time
aaime I'd say execution
aaime there I lost you
aaime we already have a function extension point
jgarnett yeah; execution - because people should still be able to create the data structure (perhaps it is not even for geotools after all)
jgarnett our function extension point is not very good IMHO - we seem to need to cover the FunctionName data structure
jgarnett and I would like to have a larger unit to contribute then just one function at a time.
jgarnett But you had some good suggestions about that? A FunctionFactory ?
aaime Yep
aaime a factory that can generate many functions
jgarnett Note if we are contributing at execution time - then we do not need to contribute a GeoAPI Function
aaime and I mean, that is orthogonal to the idea of treating the function as a data structure and locating the actual implementation at execution time
jgarnett we can contribute something smaller if that is helpful.
jgarnett agreed.
aaime something... smaller?
jgarnett so to back up; we are totally happy with how function is shaping up.
jgarnett I am interested in talking about the "FunctionFactory" interface
aaime it seems to me we're already registering with the bare minimum information?
aaime (even with the proposed function factory, that would just barely return argument count and name)
aaime how can you make anything... smaller?
jgarnett I was under the impression that we registered with too little information; and we were having to double back and register functionName implementations.
jgarnett (note I would like to also list attribute names if that is okay;
jgarnett and I have the difficulty of variable legnth functions)
aaime The idea I had is that you register the factory
aaime and the factory has the names and whatnot in code
aaime for whatever function it generates
jgarnett right; so you see how a factory would "produce" a Function?
jgarnett if we are doing it at execute time
jgarnett then we do not need it to produce a function
jgarnett we could have it produce an answer.
aaime and would that be any better? Oh, instead of having a raft of classes
jgarnett perhaps you should talk about binding at execution time?
jgarnett right ...
aaime you only have a big switch statemnet?

Eclesia ( has joined #geotools

jgarnett switch statement
jgarnett or reflection onto static methods ...
jgarnett you get the picture.
aaime the latter would be good for execution
aaime but it won't give you the argument names
aaime (no debug info, no arg name available in the vm)
jgarnett that is what I was meaning by a "Library" extension point. I am sorry I could not find the email where I proposed the idea...
=-= vheurteaux_ is now known as veurteaux
jgarnett that is the part where it is weak; annotations could help. But perhaps it would be a waste of time ...
aaime yeah well, it's doable but it would be quite a change
jgarnett I was just trying to think of the bare minimum that someone could right.
aaime So ok, the idea is nice, I just doubt I can stand that much work
aaime filter switch is already killing me
jgarnett Note I am happy with FunctionFactory approach
aaime and we have a million deprecations around out of the styling changes that again no one cared to fix
jgarnett I am sorry to be away from the code base; when you are working so hard.
aaime jgarnett, the issue has been there forever
jgarnett stylebuilder / stylefactory are murder
aaime I just decided that if I wasn't doing that, nobody would
aaime yeah whatever, the usual stuff, people complains, nobody moves a finger
jgarnett aaime++ - I have done small amounts; but nothing like what you are doing now.
jgarnett I wanted to ask how you were doing with filtercapabilities; that is where I got a little stuck last time.
aaime atm I stil haven't looked deeply into it
aaime I'm trying to fix one thing at a time
aaime otherwise the job is so big that I will loose any interest before even starting

cbriancon has left freenode ("Leaving.")

jgarnett okay
jgarnett thanks for the chat andrea; easier than swapping email back and forth
aaime I'm considering adding a proposal
aaime in which whoever deprecates an API
jgarnett I have implemented the "Library" idea once; for the WPS work
jgarnett (it was one of the approaches we considered)
aaime finds the resources to clean up all the usage points in the library
jgarnett I should go soon.
aaime k
jgarnett um stupid idea; we could kill an ant with a hammer here
jgarnett and use the wps proccess class
aaime ugh, heavy
jgarnett it does the same work; we just needed way more detail on the wps side
aaime (smile)
jgarnett yeah - stupid idea.
aaime or maybe not

desruisseaux has left freenode ("ChatZilla 0.9.83 Firefox")

aaime I mean, if the process generates just one scalar output
jgarnett and not appropriate; filter is "typeless"
aaime it could be considered a function as well
jgarnett We experimented with that; as I recall it was mostly to allow a programmer to write less code.
jgarnett (make the easy case easy etc...)
jgarnett okay enough of that; if I can find the library example I may send it to the email list.
aaime cool thanks
jgarnett And if you have any questions I can help you with please send them my way; I will be checking email and stuff.
jgarnett Is it worth posting the logs from todays "meeting"?
jgarnett yeah it probably is - no news in a while.
jgarnett (besides nobody can find the website)

2.5.0 Released

The GeoTools 2.5 release is available for download:

The 2.5.0 release marks the first stable release of a number of exciting
developments and features of the 2.5.x series including:

  • New feature model based on GeoAPI
  • Java 5
  • Support for units based on JSR-275

And much more. The entire change log can be found here:

Other exciting news for the GeoTools community includes graduation from
incubation as a project The OSGeo (Open Source Geospatial Foundation).

Special thanks to everyone who provided feedback and filed bugs for this
release. As usual a big thanks to Geomatys, GeoSolutions, Refractions
Research, and OpenGeo, and most importantly the user and contributor
community for continuing to drive GeoTools and make the project a success.

For more information about this release and about the GeoTools project
in general please visit: