I cannot apply your patches. All 3 files report errors when applying with patch -p0 < patchfile
I am up to date with 2.5.x repository No idea, I think you are sitting in front of an M$ box, I am working on a linux box. Converting with dos2unix does not help either. Can you try it agein after an "svn up" on 2.5.x or send me the java files. thanks Jody Garnett writes: > Just to follow up - Christian and I sorted out some things over IRC; > and he is reviewing a patch right now. > Jody > > On Thu, May 14, 2009 at 10:52 PM, Jody Garnett <jody.garn...@gmail.com> wrote: >> Sorry my previous reply fell of the list ... here is a proposal for a >> "refreshed" Repository interface: >> >> public interface Repository { >> /** >> * Search for the DataAccess (or DataStore) providing access >> * to the indicated typeName. >> * <p> >> * This lookup method is not namespace aware; and will find the first >> * possible match. >> * <p> >> * @param name Name of the DataStore to retrieve >> * @return DataStore >> */ >> DataAccess<?,?> access( String typeName ); >> /** >> * Search for the DataAccess (or DataStore) providing access >> * to the indicated typeName. >> * >> * @param Name The typeName (namespace and name) to search for >> * @return DataAccess api providing access to the >> indicatedTypeName (or null if not found) >> */ >> DataAccess<?,?> access( Name name ); >> } >> >> A couple changes from yours: >> - DataAccess is returned rather than DataStore >> - namespace is part of Name >> >> I find this a little weak in that you cannot "browse" the contents of >> the Registery; however since we do not have a need for that - only >> look up - I think we are fine. >> >> I find it really stange that you are lookin up DataStore here; by the >> typeName the DataStore produces. A code example would end up being. >> >> Name typeName = new NameImpl( namespace, name ); >> DataStore<?,?> data = (DataStore<?,?>) registery.access( typeName ); >> FeatureSource<?,?> source = data.getFeatureSource( typeName ); >> >> I would find it easier with a single registery.source( typeName ) >> method; but whatever. I might also suggest a dataStore method to avoid >> the cast to DataStore. >> >> So how about it; if I make this modification can we update your code >> (and implementation) to make use of it? >> >> Jody >> >> On Thu, May 14, 2009 at 10:33 PM, Jody Garnett <jody.garn...@gmail.com> >> wrote: >>>> Jody I took a deeper look to Catalog interface and I got dazed and >>>> confused. >>> >>> Not the catalog interface the simple repository interface ... >>> interface { >>> Map getDataStores(); >>> SortedMap getFeatureSources(); >>> Set getPrefixes(); >>> boolean lockExists(String lockId) >>> boolean lockRefresh(String lockId, Transaction) >>> boolean lockRelease(String lockId, Transaction) >>> source source(String dataStoreId, String typeName ) >>> } >>> >>> And you have: >>> >>> public interface DataStoreLookup { >>> public void initialize(Object source); >>> public DataStore getDataStoreFor(String name); >>> public DataStore getDataStoreFor(String namespace, String name); >>> } >>> >>> So one is working with FeatureSource and the other is working with >>> DataStore; incidentally how do you look up a datastore for a >>> namespace/name ? does that not indentify a single feature type? I also >>> do not know what your initialize( source ) method is for ... >>> >>>> Again I agree on having a central repository interface but a redesign is >>>> not a matter of adding some methods. >>> >>>> Some thoughts >>>> 1) I am missing the clean concept of namespace handling >>> >>> Then we add it; right now the api documents something stupid - a >>> datastore id since that is what geoserver had when it was written. >>> Which each have a lookup method that takes two strings - both are >>> supposed to be a simple front end to the geoserver catalog so they >>> probably end up acting the same. >>> >>>> 2) It must be possible to write a Repository implementation acting as >>>> adapter for the geoserver catalog (supporting the workspace concept, which >>>> I >>>> think we could handle with 1). The same must be possibile for UDIG. The >>>> interface implementation must be configurable externally, we need something >>>> like a "RepositoryFactory" >>> >>> Ignore uDig for a moment; focus on what geoServer is doing; I can make >>> udig work later. >>> >>> I did not follow you their; you probably intend to pass in this >>> repository as a connection parameter to your pregeneralized datastore? >>> Something either application can do. >>> >>>> 3) Unlucky naming of methods, "source" as an example. You must look at the >>>> source code to have an idea what this method is doing. Missing methods, how >>>> to get a datastore with his name and namespace ? >>> >>> You are focused on name and namespace; that is fine. Source is the >>> super type of FeatureSource (something gabriel did). I am not sure if >>> your datastore is generic enough to work on Source (does it assume >>> simple features or not?). >>> >>>> 4) No idea about the locking methods, I think nobody calls them, and btw, I >>>> would delegate the locking to an >>>> external locking manager. And why should a repository do locking at all ? >>> >>> We can remove them; the reason locking had the responsibility was >>> because it was the only interface that "knows" all the datastores and >>> thus can perform cross datastore operations (such as locking). >>> >>>> So, I think we would a least need >>>> RepositoryInterface >>>> RepositoryFactory >>> >>> I think we can skip the factory on this one; we are not creating a >>> generic Repository; we are being passed in an adapter to the geoserver >>> catalog. >>> >>>> RepositoryImpl for geotools >>> >>> This is pretty simple to write; just store the datastores in a map. >>> >>>> RepositoryImpl for geoserver >>>> RepositoryImpl for udig ? >>> >>> These other two seem okay. >>> >>>> This would be a real improvement but it would block me for weeks. >>> >>> I do not want to introduce duplicate api for the same function; would >>> you like to have a breakout IRC session and fix the repository >>> interface to match your datastore finder? You do have to explain your >>> two part namespace / name lookup - looking up a DataStore for me; >>> right now that makes little sense to me. >>> >>>> As a proposal, I would like to continue with the DataStoreLookup and mark >>>> it >>>> depricated as soon we have implemented a cleanrepository concept. >>>> christian >>> >>> I am interested in going the other direction; replacing the Repository >>> interface methods with what you have in DataSource lookup. Part of the >>> difficulty here is that your module "introduces" public api - not >>> simply implementing the DataStoreFactory (which can be dropped into >>> any app; but instead asks to go out into the app that is hosting it >>> and look up other datastores). >>> >>> Jody >>> >> ------------------------------------------------------------------------------ Crystal Reports - New Free Runtime and 30 Day Trial Check out the new simplified licensing option that enables unlimited royalty-free distribution of the report engine for externally facing server and web deployment. http://p.sf.net/sfu/businessobjects _______________________________________________ Geotools-devel mailing list Geotools-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/geotools-devel