>
> We keep on going in circles. I want to fix SimpleFeatureTypeBuilder so I
> can fix GML2EncoderUtils so I can use it to encode complex features. I have
> no interest in SimpleFeatureTypeBuilder other than not breaking it.
>
Hi Ben; that is what I am not understanding - how is
SimpleFeatureTypeBuilder even on your radar? Is it because GML2EncoderUtils
is using it? If so GML2EncoderUtils is not suitable for your work ...
perhaps we need a breakout IRC session to go over this story.
In short - I understand what you want to do - and I think we need to do
something different mid term (am I to understand that fixing a mistake in
SimpleFeatureTypeBuilder would allow you to work short term?).
I also do not think SimpleFeature and SimpleFeatureTypeBuilder are focused
on the simple feature profile for SQL - they are focused on a much more
specific problem and I was not aware of namespace support being considered
here.
> While making these changes, I discovered the unwritten contract:
>>> SimpleFeatureTypeBuilder discards namespaces, and GML2EncoderUtils
>>> fabricates them. I don't fancy my chances of getting changes to
>>> GML2EncoderUtils accepted if they break SimpleFeatureTypeBuilder.
>>>
>>
>> That may be a mistake; what do you mean by discards namespaces?
>>
>
> SimpleFeatureTypeBuilder.add(String, ...) builds types with properties with
> no namespaces. For example, see in GML3ParserUtils the use of
> SimpleFeatureTypeBuilder.add() with a name obtained from
> XDSElementDeclaration.getName(), that is, the local (unqualified) name of an
> element that has a namespace. Users of SimpleFeatureTypeBuilder.add() thus
> discard namespaces when creating simple types.
We are going to have to talk to Justin about this one; SimpleFeatureType
builder was really focused on enabling the existing code to run while making
room for the new feature model. I really did not expect you to make any use
of it in your work.
Does the SimpleFeatureTypeBuilder allow the use of namespaces? My impression
is it would only be used in defining the type name; and not used in creating
the attributes? The creation of attributes is a bit of a drastic shortcut; I
have often found myself breaking out an attributetypebuilder (or using the
factory directly) and adding the resulting attributetype into the mix.
>
> I am not familiar with GML2EncoderUtils - I would hope that for the rich
>> feature model work we are using the GML bindings?
>>
>
> GeoServer GMLOutputFormat uses WFSConfiguration to encode features, using
> the binding AbstractFeatureTypeBinding, which gets properties using
> GML3EncoderUtils, which is mainly implemented in GML2EncoderUtils. The
> bindings are specified in WFSConfiguration, and bind to GML3.
>
> GML{2,3}EncoderUtils can be persuaded, with minor tweaks, to encode complex
> features (mostly, I am working on it). However, these minor tweaks break
> SimpleFeatureTypeBuilder.
>
> I can either:
> (1) Fix SimpleFeatureTypeBuilder.
> (2) Implement a new WFSConfiguration that does not use
> GML{2,3}EncoderUtils, and figure out how to get GeoServer to use it.
Okay thanks for the background information (it describes a bit what I was
missing). I think we are going to need to tag team justin in on this one. It
will be a good test of if breakout IRC meetings + change process can
actually replace the use of weekly meetings.
Cheers,
Jody
------------------------------------------------------------------------------
Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, CA
-OSBC tackles the biggest issue in open source: Open Sourcing the Enterprise
-Strategies to boost innovation and cut costs with open source participation
-Receive a $600 discount off the registration fee with the source code: SFAD
http://p.sf.net/sfu/XcvMzF8H
_______________________________________________
Geotools-devel mailing list
Geotools-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geotools-devel