From: Chris H. <ch...@op...> - 2005-05-17 19:45:43
|
> Ok, thanks for the information David... > > About the WFS... I've made changes you've recommended but I found a problem. The FeatureStore doesn't process the namespace. For example, the following code... > > DataStore ds = (new WFSDataStoreFactory()).createDataStore(m); > FeatureStore fs = (FeatureStore)ds.getFeatureSource("namespace:road"); > FeatureReader fr = fs.getFeatures().reader(); > > ...throws a exception in the fr line... > > java.io.IOException: org.geotools.data.ows.ServiceException: ' > at org.geotools.data.wfs.WFSDataStore.getSchema(WFSDataStore.java:262) > at org.geotools.data.wfs.WFSDataStore.splitFilters(WFSDataStore.java:766) > at org.geotools.data.wfs.WFSDataStore.getFeatureReader(WFSDataStore.java:674) > at org.geotools.data.wfs.WFSFeatureSource$WFSFeatureResults.reader(WFSFeatureSource.java:150) > > Then I saw the Geoserver output and it showed "java.util.NoSuchElementException: Could not locate 'road'"... > > Then I debug my code and I discovered that the fs (FeatureStore) stores only 'road' in its typeName variable besides 'namespace:road'. So the fs pass the wrong name for Geoserver because Geoserver doesn't understand 'road', only 'namespace:road'. That sounds like a bug in the WFSDataStore, or maybe there is some option to set. But as a workaround one thing you can do is set your namespace as the default namepsace in GeoServer (Config -> data -> Namespace I believe), and then GeoServer will respond without the namespace prefix... Chris > > I'm not sure about that... > > Sorry for my bad english... > > Thanks, > Pedro > > > > > > > > I think I can answer both questions. > > > > Firstly we switched implementations and interfaces for the Coordinate > > Reference implementation. This was a strategic move, but resulted in > > broken code. This code was placed in a legacy module, and should > > either still be in the repositorty under that module, or ported to the > > new set of interfaces. I'm fairly certain that Martin would help you > > get started on the port, should you want to volunteer some time :). > > > > As far as the WFS client, that was my code. I only implemented those > > portions of the api that I though would actually be useful. Due to > > complications in the WFS specification, it was not feasible to create > > a low level writer (transactions + request/response pairs) as we could > > not update in a batch mode. The FeatureStore interface however is > > implemented (with the exception of Locking), so you should have full > > read/write access there. > > > > DataStore ds = (new WFSDataStoreFactory()).createDataStore(m); > > DefaultTransaction t = new DefaultTransaction("handle"); > > FeatureStore fs = (FeatureStore)ds.getFeatureSource(new > > Filter(featureTypeName)); > > > > ... or something similar (don't have a copy of the src in front of me). > > > > David > > > > On 5/17/05, Pedro Fernandes Neves <pf...@bo...> wrote: > > > Hi, > > > > > > Anyone can explain me why the org.geotools.gui package disappeared in the gt2-main.jar of 2.1.M4 version? I've noted that some classes disappear in some releases. Why? > > > > > > Another thing, when I tired to use FeatureWriter from a DataStore generated by WFSDataStoreFactory, I get the following excption: > > > > > > Exception in thread "main" java.lang.UnsupportedOperationException: Writing not supported > > > at org.geotools.data.AbstractDataStore.getFeatureWriter(AbstractDataStore.java:281) > > > at org.geotools.data.TransactionStateDiff.applyDiff(TransactionStateDiff.java:172) > > > at org.geotools.data.TransactionStateDiff.commit(TransactionStateDiff.java:132) > > > at org.geotools.data.DefaultTransaction.commit(DefaultTransaction.java:175) > > > at br.com.alaskasolutions.test.Test.<init>(Test.java:226) > > > at br.com.alaskasolutions.test.Test.main(Test.java:54) > > > > > > The source code was (the connection to Geoserver is right): > > > > > > DataStore ds = (new WFSDataStoreFactory()).createDataStore(m); > > > DefaultTransaction t = new DefaultTransaction("handle"); > > > FeatureWriter fwr = ds.getFeatureWriter(featureTypeName,t); > > > ... > > > fwr.write(); > > > > > > Thanks, > > > Pedro > > > > > > __________________________________________________________________________ > > > Acabe com aquelas janelinhas que pulam na sua tela. > > > AntiPop-up UOL - É grátis! > > > http://antipopup.uol.com.br/ > > > > > > ------------------------------------------------------- > > > This SF.Net email is sponsored by Oracle Space Sweepstakes > > > Want to be the first software developer in space? > > > -- |