• New picture
  • Agree to meet: 9:30 am PST
  • Idea to split multiplicity and validation order concerns out
  • .. and move content restrictions back over to Type

groldan hi Jody
Jody_ Hi
Jody_ Brent is feeding his cats and can be here in 10 mins
groldan cool
groldan do you have a couple minutes now?
Jody_ I would kind of like to meet up with you in a couple of hours when I have all brents feedback into that picture.
Jody_ (and have read your new pages)
Jody_ What is your timeline today Gabriel?
groldan I should have finished the survey and start doing test cases
Jody_ Test cases?
Jody_ Not sure I understand, test cases to capture your biz examples?
groldan over the Feature API, yes
Jody_ What are you supposed to finish up this week? A proposal and test cases?
groldan a proposal, and finish test cases nex week
groldan gimme a second to upload the picture
Jody_ Okay ...
groldan not fully finished (was working on it, so despite the inconsistency on "Node")
-->| Brent ( has joined #geotools
lilo Global Notice Hi all. In just a moment, we'll be upgrading services to provide registered users with the ability to talk to unregistered. For more information, "/msg nickserv help set unfiltered" once the new version is up
Jody_ Hi brent
Jody_ Gabriel just sent us a new picture:
Brent hey ya
Jody_ Now that you are both here I am torn between us thinking this through, or coming back in a couple hours when we have all had a chance to review.
groldan hi Brent
Jody_ (So far I like you new picture Gabriel)
groldan yeah, I think its making some sense
Brent I need to absorb it still
Jody_ In my presentation ealier I had ComplexType.getSchema() List<Schema> - aka it described its contents
Jody_ (not itself)

<-- IulianU has left ("Leaving")
Jody_ The problem with a Type describing itself is fairly clear?
Jody_ Types get reused by complex types with different multiplicity.
groldan I need to check the requirements at

to ensure they are covered
groldan yes
Jody_ Not sure I have seen AssociationType before - what is its purpose?
groldan challenge is to find a common approach for simple and complex (regarding schema), so the api remains the simpler possible
Jody_ In email I mentioned a new idea:
groldan association is what's actually the current GeometryAttributeType, FeatureAttributeType are, but generic, so we can define our own association types
Jody_ 1) Schema covers containment issues: multiplicity and order (All,Choice,Sequence)
Jody_ 2) Type covers content issues: Facets etc ...
groldan validation?
groldan type takes care of validation?

<-- aalam has left ("Chatzilla 0.9.68a Firefox 1.0.3/20050414")
Jody_ Some validation (aka this is a new guidelines different from before)
Jody_ validation of its content.
lilo Global Notice Hi all. As of this moment, if you are a registered user and need to receive messages from unregistered users, please just "/msg nickserv set unfiltered on". Let us know if there are any problems!
Jody_ This is why it was a bit sad that we stopped talking, brent has had a bunch of other ideas
Brent so content and containment are different?
Jody_ FeatureType and FeatureCollection type are not needed (other then to provide helper functions)
groldan right
Jody_ Let me try this idea - it is only idea so squish it now if it does not make sense.
Jody_ From email:
Jody_ facets may need to move to Type, the question is really where does the inheirtence happen - in the type system? Yes. In the schema system? No. But facets are something you want to reuse ...

What actually happens is the Type defines allowable facets (like MaxLength) with a default value (unbounded), and the Schema fills in the blanks, when the type is used in a ComplexSchema. It could be we want to only keep schema as a description of multiplicity and order (aka containment validation), and move content validation (facets and nillable) over to type.
Jody_ so I am talking about just capturing the issues related to ComplexType as part of "Schema" min/max Occurs and order information.
groldan (ingesting....)
Jody_ The other stuff, like max string length or positive interger kind of belongs with the type system (so it can be reused)?
Jody_ All this order stuff cannot be reused...
groldan that's correct
Jody_ One other issue we have not covered is the consequences for ComplexType to having a "super"
Jody_ Do we just do a tree walk and collection all the schema information?
Jody_ I know in XMLSchema it gets a little bit complicated with overrides and so on ... it is an area where we will need to think.
Jody_ Any thoughts brent?
Brent not yet
groldan I talked a bit about that in the requirements breakdown of the survey, my thoughts are that:
Brent gotta get up to speed still =)
Jody_ I am in the middle and Gabriel is leaving the station - but he has a deadline.
groldan for now, we should have just getSuper():GenericName, because:
Jody_ Sanity check Gabriel / Brent - I think we all have access to svn right?
Brent yes
groldan fething all the actual supers instances should be the task of a Repository kind of thing
darkfrog Jody_, hey buddy, did you get my e-mail of trouble? :-p
Jody_ oh no - if you do getSuper(): GenericName we have to make up a new construct "Application" and "ApplicationSchema" to let people look up their parent.
Jody_ Yes darkfrog have not had a chance to reply yet (or even focus on the stack trace)
darkfrog Jody_, btw, we are setting up a conference call for sometime between 2 and 3 today.
Jody_ probably should before you guys phone me right?
darkfrog Jody_, does that work for you?
Jody_ Cool - yes.
darkfrog Jody_, one of our guys is in Atlanta right now so we're having to set up a bridge to call into.
Jody_ Oh wait darkfrog - what timezone is your 2-3 measurement in?
groldan but if you intend to get the actual instance, you may need to have the whole GML schema as "predefined"?
Jody_ (always ask for the units)
darkfrog oops
darkfrog 2pm is 20 minutes away. :-p
Jody_ groldan - the type system is irrespective of that - you would need GML2 when parsing GML2
Jody_ and GML3 when parsing GML3
darkfrog Do you want us to move the time to later?
Jody_ No that is okay, I will just have to get back to Gabriel and Brent here.
Jody_ Other way to slant it Gabriel
Jody_ GML2 and GML3 are just different applications of the problem.
darkfrog BTW, there are some bugs in the SpearfishMySQL demo, but I got it working
Jody_ Cool - can you correct the page? Or at least add a comment ...
Jody_ Gabriel was what I was saying making sense?
darkfrog Jody_, I'll get back to you about the problems later, they are MySQL specific things.
Jody_ Oh - mySQL hurts - try PostGIS!
groldan it does, just I don't know how we can traverse the type hierarchy then
Jody_ um - by going super() ?
darkfrog Jody_, MySQL is easier to set up when the only reason you're doing it is to test a demo. :o
groldan I make a subtype of gml:TopologyComplex, how do I get it?
Jody_ PostGIS has a one click windows installer (wink)
Brent agrees with Jody_
darkfrog Jody_, does it come with PostgreSQL?
Jody_ well I assume their is a GML3 package where the constructs for GML3 live.
Jody_ Yeah there is a nice phat installer to use, Brent there has probably used it more recently then me.
darkfrog Jody_, okay, well I stand corrected then, but it's too late now...nothing is easier than something already installed. (wink)
Jody_ Is gml:TopologyComplex part of gml2 or gml3 gabriel.
groldan 3
darkfrog Jody_, gotta run, just wanted to make sure you would be available for the call and if you had a chance to look at that problem.
darkfrog Jody_, catch ya in a bit.
Jody_ cool.
Jody_ Placed another way we cannot express gml3 constructs directly in geotools - because they would conflict with gml2 constructs. We can define the typesystem so that each is representable.
Jody_ And we can make sure our type system is capable of expressing the richness of these two targets ...
groldan that's a great goal (my original one)
Jody_ I would actually see a GML2 FeatureTypeFactory that you would pass to shapefile, when shapefile reads in it will make use of the GML2 type system.
Jody_ Pass in GML3FeatureTypeFactory and you get a different result.
groldan ok, so we should not care about the consequencies of getSuper now, just concentrate on modeling powe, right?
Jody_ Right.
groldan (gimme 1', phone)
Jody_ I have to go to a conference call, give me a time when we talk again?
Jody_ 3pm PST okay? Brent would that give you enough time to prep?
Brent just ping me when you want to talk again, I need to look over the images
Brent yes
groldan ok
Jody_ Thanks guys, can someone grab this set of logs for the page?
groldan wait, I don't know when 3pm PST is for me...
groldan which GMT time is it?
Brent it's 11:50 PST right now
groldan it'll be 00:00 here
groldan I will not be able, what about tomorrow ?
Brent sure
groldan around 08:00 PST?
Jody_ I have an 8:30 meeting
Jody_ delay 1 hr?
groldan ok
Jody_ Does that work for you Brent?
Brent yep
groldan right so, 18:30 here
Jody_ Nifty