Hi all,
I've reviewed Justin work, Jody featureland document, and this
is my take on them. Warning, long email, thought most of what
I'm going to say is not earth shattering.

About the javadocs
--------------------------------------------------------------
First off, Justin, nicely done, the Property/Attribute/... javadoc is a
pleasure to read, short clear and to the point, now and most things make
sense right away. The PropertyType/AttributeType/... still seems
to be wacky thought.

Ok, from top to bottom, some comments on the amended interfaces.
* PropertyType.getRestrictions(): List<Filter>.
   Does this list include the parent restrictions? Would be nice so.
   Given that we have and filters, couldn't this method be just
   PropertyType.getRestrictions(): Filter?
   Pro: easier to test if the value is a good one
   Cons: no way to tell which filter failed (to make this useful
   we would have to make sure Filter toString() returns a good
   representation of it, something we already have in our
   implementations if I'm correct.

* AssociationType javadoc.
   We should have the notion of simple association in the javadoc
   as well... I mean, a business partner association is not
   aggregation and I may not be interested in making the spatial
   or temporal side of it explicit.
   Javadoc still uses first person ("I am treating the domain
   of the association type...").
   AssociationType.getRestrictions() is simply repeated, no
   extra info on it compared to the base class, same goes
   for isAbstract().
   If both Association and Attribute can be identified, can't
   we move that bit of metadata on PropertyType?

* AttributeType javadoc... ugly.

* ComplexType
   In the javadoc, the bar property descriptor should report
   nillable == false.

* SimpleFeatureType
   "attributes are non qualified". Hum, what do we do with
   GML Feature attributes like gml:name?
   "the multiplicity of attributes is always assumed to be
    1, ie, getMinOccurs() == 1 and getMaxOccurs() == 1."
   What, no nullable attributes anymore? We can't even
   represent a flat database table this way?

* PropertyDescriptor.
   Nullable or Nillable? I don't care, but let's use just one.
   A google search returns 220.000 nillable, 633.000 nullable.
   Nillable seems to come from xml schema, nullable is
   used in c# apparently.

* AssociationDescriptor.
   "attribtues"

* OperationType
   "exciting" should not have a place in javadocs... I guess
   this one still needs to be rewritten?

* Association
   Why not replace getRelated/setRelated with
   getValue(): Attribute, setValue(Attribute)?
   Would be more consistent with the rest of the API.

* Attribute
   Since ComplexAttribute isA Attribute, saying that we use
   it to model simple data types is incorrect. You should say
   that simple data types should be held inside an Attribute
   instance, and that for complex attribute there are
   specific subclasses (note the change of direction in the
   implication, simple value -> attribute, but attribute
   does not imply simple value).

* Feature
   getID() is basically unchaged from Attribute, maybe we
   should remove it. But we should state that a Feature
   is always identified somewhere, right?

About this thread
--------------------------------------------------------------

Wasn't FeatureCollection supposed to be removed from factories?
SimpleFeatureFactory.createSimpleFeatureCollection(...)
is still there.

One question about order. XML gives us an ordered representation
of the properties. Does this mean that our implementation will
use List internally to preserve that order when parsing data?

About the Feature.getDefaultGeometry(), I prefer this alternative
compared to getDefaultGeometryProperty() but... there is a big but!
In 2.4.x we deprecated getDefaultGeometry() and replaced with
getPrimaryGeometry(). Now we go back?
Do whatever you please, but please, don't ask library users to
change that method name two times!! (same goes for SimpleFeatureType).

About Query, if we keep String to use xpath, how do we discriminate
between attributes in different namespaces? I haven't checked
xpath to see if there is a way to do so (most probably there is?).

About the destiny of FeatureCollection, I agree with ISO,
let it be a data access tool, and forget about them being features.

About Jody featureland and wiki code examples
--------------------------------------------------------------

* Success table:
   provide operations so we can smoothly integrate with Coverage? Hmm...
   you mean, thinking about coverage as an n-dimensional function?


* builder examples in the wiki.
   FeatureType does not have a CRS
   (it's a derived attribute, as stated by the javadoc), but the
   geometry attribute should instead.
   I fail to see the need to explicitly cast in 2.6. Can't we just
   deprecate geotools features and eventually remove them from the
   API instead?


Ok, that's all folks :)
Cheers
Andrea

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Geotools-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/geotools-devel

Reply via email to