Thanks for the feedback Andrea: Just going to try and sum up where we got to (so I can think about it offline).
-"go further" with description, that is describe what "xpath" expressions would be valid. Q: Would something similar to command completion work? Ie given an xpath expression list the valid next strings? I only ask as that could be done, the result would be similar to TreeModel, and would let us handle recursive structures etc... For an example consider Road and Junction. - "slice" so only some attributes are fetched rather then all of them Cheers, Jody PS. I ment CSW (or CAT) or whatever the silly thing is where Gabriel's BNF form for Filter is defined. > Jody Garnett ha scritto: (hi Gabriel, something for you too hidden in > this discussion). >> Hi Andrea, sorry my coding time is falling behind your feedback! >>> The touted benefits of this are, apparently, that it makes it easier >>> to link whatever data you have already in your application, and that >>> you can write code that mix-ins gt2 parts and "native" parts. >>> >> Yes. >>> Its existance also implies that going the other way, that is, >>> extending AbstractDataStore and building wrappers that implement the >>> Feature interface is too hard. >>> >> This is not the focus of the API - the focus is trying to find at >> least naming conventions we can follow >> when hooking our library up to other content. As stated in the class >> header I have followed Open Web Services >> naming conventions (their is a useful OGC PDF that goes through the >> exercise of defining a "resource" and building an >> open web service around it). > > Never had the time to read it... > >> DataAccess should be viewed as the starting point for a CSW client >> and a GCE replacement. > > CSW? You mean WCS? > >> Building wrappers (making everything look like feature) is not >> desirable in the CSW case, an argument can be made for GridCoverage >> (but that really depends on how things shake out between RobA and >> Bryce near as I can tell from here). > > Here I second Chris, I don't really see a strict need for having an api > that is able to deal with vector and raster data the same way... > > >>> Describing type by returning the "native" type as in Object describe() >>> is useless in my opinion, because it makes it impossible to write >>> generic reading code. >>> >> See GridSource as an example - where a generic description has been >> provided with a specific method. > > It's just the same interface, with slight modification on the comments? > If it has no extra methods, providing the same extras docs in Source > as examples has the same effect. > >> I created a FeatureAccess, FeatureSource2 and FeatureStore2: >> - as a proof of concept to confirm no method name collisions occur >> (there was one) >> - to not let the discussion get abstract (you can see getFeatureType >> is quite happy next to a describe method) >> - provide a second example which more people will be interested while >> we wait for feedback on GridAccess > > I reiterate, I don't like this direction unless it can be turned into > something that we can transition cleanly to. If it just adds tons of > instanceof in our code, it does more harm than good. > Can I recode all udig and geoserver read only stuff to target just > Source? If so good, if not, thumbs down. > >>> Source >>> ------------------- >>> >>> Here we have three content methods: >>> * content() should be removed in my opinion, it's just very little >>> convenience instead of content(Filter.INCLUDE). >>> * content(String query, String queryLanguage) >>> This seems to open the door to Source specific query languages. >>> >> This door is opened by the CSW2 specification, I am only the >> messenger (hoping to use Gabriels code). > > Well, I don't see why we could have the conversion in an external > code and have Source deal with stronly typed Query objects (Query > being at least an opengis Filter and a set of attributes to be > extracted). > >>> Interesting, but how in the world I do ask something using a >>> gt2 Query? Simple answer is, I can't, unless I go thru the >>> hoops of encoding the Query in xml and then decoding it... >>> a very long road for the most straightforward case. >>> >> We will need to steal the CSW2 wording to make this clear. > > Here I do not follow you. > >>> Moreover, I would ask to force every Source implementation to at >>> least >>> be able to properly process a gt2 Query, in order to guarantee >>> a minimum level of generic functionality. >>> >> I am not sure what gt2 Query is, if you mean our Query object I am >> *not* interested, I am doing my best to >> drag the ideas that the interface suggests into the FeatureCollection >> class. > > I've noticed this trend, and failed to see what it buys us, besides > pain fixing the code... > >>> I'd like to have at least content(String[] propertyPaths, Filter >>> filter) >>> Since this returns something which is a black box, property slicing >>> could become a suggestion instead of an order, so if your datastore >>> cannot slice its data (the pojo case) it won't. But at least, those >>> that can will benefit greatly from not having to load all >>> the unecessary properties. >>> >> Okay that is a good concern (surprise Andrea worried about speed!) - >> for content datastore I have left this problem >> firmly in the hands of the implementors of FeatureCollection. I view >> the collection as *lazy* and they can provide their own methods to >> slice the collection down to just the attributes needed. > > This is simply unworkable implementation wise. > Would you do a separate query to the database to retrieve extra columns? > If I do care about speed is because I know you simply can't add > performance after the fact. You can improve details, but if the design > disallows optimizations, there's no way you'll get them back. > You cannot drive design by performance considerations, but at the same > time ignoring it is a secure recipe for disaster. > > Cheers > Andrea ------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys - and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV _______________________________________________ Geotools-devel mailing list Geotools-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/geotools-devel