Hmmm... looks like the parser isn't managing to parse your application feature type correctly into a geotools feature type. Which method of stream pasring are you using? Are you passing in your wfs configuration, or an ApplicationSchema configuration?
Michael Lutz wrote: > Ok, now I'm getting this exception: > > java.lang.RuntimeException: Parsing failed for ff_portugal_2002_4326: > org.geotools.feature.IllegalAttributeException: No attribute named fireID > at org.geotools.xml.impl.ParseExecutor.visit(ParseExecutor.java:96) > at > org.geotools.xml.impl.BindingWalker$BindingExecutionChain.execute(BindingWalker.java:204) > at org.geotools.xml.impl.BindingWalker.walk(BindingWalker.java:163) > at > org.geotools.xml.impl.ElementHandlerImpl.endElement(ElementHandlerImpl.java:191) > at > org.geotools.xml.impl.ParserHandler.endElement(ParserHandler.java:399) > at org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown > Source) > at > org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanEndElement(Unknown > Source) > at > org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown > > Source) > at > org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown > Source) > at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source) > at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source) > at org.apache.xerces.parsers.XMLParser.parse(Unknown Source) > at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source) > at org.geotools.xml.Parser.parse(Parser.java:184) > at org.geotools.xml.Parser.parse(Parser.java:146) > at org.n52.wps.xml.GMLReader.readFromInputStream(GMLReader.java:38) > at org.n52.wps.xml.GMLReader.readFromUrl(GMLReader.java:71) > at gmlparsing.GMLTest.main(GMLTest.java:102) > Caused by: org.geotools.feature.IllegalAttributeException: No attribute > named fireID > at > org.geotools.feature.DefaultFeature.setAttribute(DefaultFeature.java:283) > at > org.geotools.gml2.bindings.GMLAbstractFeatureTypeBinding.parse(GMLAbstractFeatureTypeBinding.java:236) > at org.geotools.xml.impl.ParseExecutor.visit(ParseExecutor.java:84) > ... 17 more > > I am using a snapshot from this morning. But as I didn't manage to > compile it completely, I only included the new > gt2-xml-xsd-2.4-SNAPSHOT.jar and gt2-main-2.4-SNAPSHOT.jar JARs. > > Cheers, > Michael > > Justin Deoliveira wrote: >> Michael Lutz wrote: >>> Thanks. The StreamingParser works considerably better (if a little >>> slower). Note that the xPath expression must be "//featureMember" >>> (without the prefix). >> Right.. :) JXPath seems to not like the prefixes..., probably how the >> context is being setup. >> >> Yeah the streaming parser will be considerably slower. I haven't quite >> got around to optimizing it yet. Right now a jxpath context is created >> for each element that gets parsed, this could definitely be improved. >>> I also tried "Alternative 2: Ignoring the Application Schema", but this >>> didn't work. I get >>> >>> org.xml.sax.SAXException: Handler for wfs:FeatureCollection could not be >>> found. >>> at >>> org.geotools.xml.impl.ParserHandler.startElement(ParserHandler.java:357) >>> at org.apache.xerces.parsers.AbstractSAXParser.startElement(Unknown >>> Source) >>> at ... >>> >>> I don't understand why the parser requires a handler for >>> "wfs:FeatureCollection" if I tell it to ignore the schema? When I use >>> the WFSConfiguration (which I created for WFS feature collections) >>> instead of GMLConfiguration, I get the same exception for the >>> application schema type, i.e. test:TestFeature in the example. >>> >> Sorry, the docs are somewhat at fault here :). You also need to specify >> the following property: >> >> configuration.getProperties().add(Parser.Properties.PARSE_UNKNOWN_ELEMENTS); >> >> Also, how recent is the snapshot you are working from? I have recently >> made some changes that make the parser a bit more lax when it comes to >> this situation. We have nigthtly snapshots going now so it should be >> available. >> >> -Justin >>> Any ideas? >>> >>> Cheers, >>> Michael >>> >>> >>> Justin Deoliveira wrote: >>>> Hi Michael, >>>> >>>> I suggest for any reasonable size dataset you use the StreamingParser: >>>> >>>> StreamingParser parser = >>>> new StreamingParser(configuration,"//gml:featureMember"); >>>> >>>> try{ >>>> Feature f = null; >>>> while ( ( f = parser.parse() ) != null ) { >>>> ... >>>> } >>>> >>>> }... >>>> } >>>> >>>> Some more info about streaming here: >>>> >>>> http://docs.codehaus.org/display/GEOTDOC/GML+XML+Support >>>> >>>> -Justin >>>> >>>> Michael Lutz wrote: >>>>> We are running into big memory problems when trying to parse large GML >>>>> files containing WFS feature collections (e.g. 25000 points, about 25MB >>>>> as GML) using the following code: >>>>> >>>>> public static FeatureCollection readFromInputStream(InputStream in) { >>>>> Configuration configuration = new WFSConfiguration(); >>>>> Parser parser = new Parser(configuration); >>>>> try{ >>>>> FeatureCollection fc = (FeatureCollection) parser.parse( in ); >>>>> in.close(); >>>>> return fc; >>>>> } ... >>>>> } >>>>> >>>>> For this example, the used memory goes up to 800MB. After the parsing, >>>>> it goes down again to around 60MB. >>>>> >>>>> Any ideas why this is, and where we should be looking for memory leaks? >>>>> >>>>> Cheers, >>>>> Michael >>>>> >>>>> ------------------------------------------------------------------------- >>>>> 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 >>>>> >>>>> >>>>> >>> ------------------------------------------------------------------------- >>> 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 >>> >>> >>> >> > > > ------------------------------------------------------------------------- > 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 > > !DSPAM:1004,45ddca06324211194215290! > -- Justin Deoliveira The Open Planning Project http://topp.openplans.org ------------------------------------------------------------------------- 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