Great review Andrea. Here are my comments. * AttributeType.isIdentified()
This is more or less straight from xml schema. It used to denote whether instances of types have an id essentially. Think feature. But also in GML other types are identifiable. Like geometries. * getUserData()/putUserData() I know that Gabriel found this useful for complex features. What he did was use it to store the actualy parsed XSD elements straight from an xml schema. He found it a nice way to keep the information around without explicity tying the model to xml. * Java Bean Conventions +1, and they are probably inconsistent in some places. We can still model convenience methods with he absence of a setter method. * FeatureType namespace Not sure i see this. I see PropertyType.getName(). * CRS Agreed. And my opinion is that too many things have CRS's on them. Currently you have the following methods. - FeatureType.getCRS() - Feature.getCRS() - GeometryAttributeType.getCRS() - GeometryAttribute.getCRS() Its confusing... and undocumented how each relates to each other. I have seen the results of this in starting to write code... and trying to figure out the crs is a 4 level deep nested if-else statement. * InternationlizedString Can we kill this? I don't see the point of modeling i18n directly in the api since every application does i18n differently. It would be one thing if this was a subclass of String, but its not. I know it extends CharSequence but still... I dont really see any other java api's that do this. * Descriptors I understand that the idea of a descriptor is an abstraction. But in this case I actually see it as a necessary one. In our current type system there is no way to separate the type and the instance. For instance, whenever a feature type has an integer attribute we end up creating a custom on the fly attribute type for it. Its like creating a new class every time you want to instantiate an object. And i admit, this strategy works fine for the simple case. But as soon as you start talking more complex attribute types it soon falls down. As you would have to duplicate alot of the structure when creating an attribute type, instead of just using a single defined type. Hope that is not confusing. It sounds like you understand that part of it regardless and that your issue is just with the getName() methods on the api. A duplicate getName(). I don't see where getName() returns an I18NString. * FeatureCollection I think we should kill this all together from geoapi. It adds a ton of complexity (associations and stuff) with very little gain. Especially since we recently decided how to model feature collection in geotools and it involves not making FeatureCollection a feature. * Choice/Sequence These appear to be unused. Hopefully Gabriel can better comment on the usage of these. -Justin Andrea Aime wrote: > Hi, > so, I've been assigned a GeoAPI feature model review > and I've spent the last day wandering in the interface, > looking at javadocs and reverse engineering models. > > The result along with my observation can be downloaded > from here: > http://geo.openplans.org/aaime/GeoApiFMReview.pdf > > If you have any feedback about it, feel free to do > so as an answer to this mail (sorry for not putting > the whole thing in a mail to start with, it was > a bit long and diagrams would not fit). > > Cheers > Andrea > > ------------------------------------------------------------------------- > This SF.net email is sponsored by: Splunk Inc. > Still grepping through log files to find problems? Stop. > Now Search log events and configuration files using AJAX and a browser. > Download your FREE copy of Splunk now >> http://get.splunk.com/ > _______________________________________________ > Geotools-devel mailing list > Geotools-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/geotools-devel > > !DSPAM:4007,46dd9284227981439371379! > -- Justin Deoliveira The Open Planning Project http://topp.openplans.org ------------------------------------------------------------------------- This SF.net email is sponsored by: Splunk Inc. Still grepping through log files to find problems? Stop. Now Search log events and configuration files using AJAX and a browser. Download your FREE copy of Splunk now >> http://get.splunk.com/ _______________________________________________ Geotools-devel mailing list Geotools-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/geotools-devel