GeoTools : IRC Breakout Number 1

Here was the agenda:
1) Goals
2) Sample
3) Expr/Query
4) GML Production
5) What we want for next IRC meeting

But we lost the IRC. So I am hoping RobA/Chris can fill in the details that I am sure I have missed. One of the big things to do is provide a common language of discussion. RobA is a weird abstract idea guy like me, so providing names for these ideas is very important.

1) Goals

Chris - survive
RobA - generate GML with nested Feature Content (making use of xlink)
Jody - Join

2) Sample

The sample stuff that appeared in email was great, and explained what RobA is about. The catalog example is straight forward, the stuff on the WIKI is nice and explicit.

I was hoping to have these example done up as a java TestFixture so we could start work against them...

3) Expr/Query

Expr query is proceeding, and will move to main now that we have 2.1.x going. Jesse's XPATH class will also provide the start needed for a Nested FeatureType implementation.

4) GML Production

RobA was going to tackle this one, we got bogged down with trying to understand how to do xlink according the the examples.

I had focused on trying to produce this sort of thing based on "Real" nested Features. Although it occurs to me now it could be done with two simple queries (as long as the nested features were xlinked based on FeatureID). Please see the wiki for the GML examples.

5) Milestones for next meeting

Apparently Chris/RobA started trying to make a in memory nested FeatureType. That is kind of what I would like to see happen next.

This work would (and resulting nested FeatureType) would free up the following tasks:

  • GML Production could occur based on the nested Features
  • The Expr/View system would have a real FeatureType implementation to store nested content

As for RobA's deadline the following ideas is starting to take shape:

  • WFS Filter cannot be extended for joins
  • The concept of a View can (currently GeoServer FeatureTypeInfo has a "View" defined that holds a geotools2 Query and "combine"s the users query using AND for the result).
  • We can define a new FeatureTypeInfo that uses a custom RobADataStore that is based on the idea of Joining. We can limit the kinds of WFS Filter it knows how to "combine".
  • It can be based on producing a of Expr that represents the combine, the custom RobADataStore can recognize patterns it knows how to deal with and provide hand tuned implementations to do the dirty work.
  • the idea of recognizing/hand tuned implementations can be provided via Optimization plugins.
  • As the Expr syntax is completed (and supports all Postprocessing opperations) the custom RobADataStore can make use of these facilities to provide complete support.

This will allowRobA to meet his deadline, it will take the pressure of me implementing the Postprocessing Join/As Expr implementations. And will be forward compatable.

So what does that leave for milestones:

Phase 1:

  • JG: Complete the expressive power of Expr
  • RA/CH: Implement in memory NestedFeatureType

Phase 2:

  • JG: Provide walker/visitor for Expr (currently limitied to Expression/Filter generation & walking)
  • RA/CH: GML production based on nested Features
  • RA/CH: Start on Optimization Plugin based DataStore (Oracle Spatial, MySQL or Postgis?)

Phase 3:

  • JG: Produce a Postgis based Expr visitor that can generate full SQL for Join/As Expr
  • RA/CH: Intergrate with GeoServer for prototype.

Chris is overbooked, so any support we can provide RobA would be great. I am on a tight timeline as well, and am only working on this to get Catalog/Metadata off the ground.