From: Trevor S. <ts...@ty...> - 2004-12-21 06:10:32
|
I downloaded GeoTools 2.1 M1 and hooked it in to my existing code, but I can't get GML to do anything helpful. First, GMLDataStoreFactory uses logic like the following: if (url.getProtocol() == "file") This is not guaranteed to provide the desired semantics. Two equal strings may have different memory addresses due to deserialization or string operations. The recommended practice (from /Effective Java/, among others) is "file".equals(url.getProtocol()). This always delivers the desired semantics, and won't throw a NullPointerException. Having worked this out, I decided to be more direct with the following code: String url = "/tmp/test.gml"; DataStore ds = new GMLDataStore(new URL(url)); featureSource = ds.getFeatureSource(ds.getTypeNames()[0]); This throws a null pointer exception on any GML I've tried, including the results of FeatureTransformer and the test data for the old gmldatasource package. (I don't have schemas for the latter, but I supplied the result of FeatureTypeTransformer with no luck). The null pointer exception is caused by the fact that parsing the XML does not result in a non-null featureType member of ds. No SAXException is thrown (I know from stepping through it in the debugger), nor is any warning indication given. I don't see any in SVN, but is there some good GML test data? Does anyone have a code snippet that correctly handles local-file GML? Thanks, -- Trevor Stone ~ <ts...@ty...> Software Developer ~ Tyler Technologies, Eagle Division Denver Office ~ 1-866-554-4434 / 303-271-9100 ext 208 Curse of the moment: Thou fobbing lean-witted nut-hook! The 60 Hertz buzz of the florescent lighting no longer drives me insane. It is more the classes, the deadlines, the assignments, and the people. -- altamira16 |