java.lang.StackOverflowError when parsing capabilities extended with ISO 19139
-------------------------------------------------------------------------------
Key: GEOT-3239
URL: http://jira.codehaus.org/browse/GEOT-3239
Project: GeoTools
Issue Type: Bug
Components: core xml
Affects Versions: 2.7-M2
Environment: Java 1.5
Reporter: Angelo Quaglia
Priority: Blocker
Fix For: 2.7-M2
Attachments: INSPIREVS.xsd, WMSServer.xml
GeoTools appears to stumble upon the circular inclusion between
../gmd/referenceSystem.xsd and ../gmd/citation.xsd
In SchemaHandler.java the method compress( URI thisURI ) is being invoked until
a java.lang.StackOverflowError happens.
We are testing the inclusion of INSPIRE ISO 19139 metadata into WMS 1.3
capabilities
I have included the sample schema and the sample capabilities.
Please note that the sample capabilities file is validated by Altova XMLSpy
This problem is a show stopper for us and we (JRC) are already working to
replace GeoTools with a home made solution.
Testcase:
testParse(eu.inspire.geoportal.viewclient.cache.engine.CacheParserTest):
Caused an ERROR
null
java.lang.StackOverflowError
at java.util.Hashtable.get(Hashtable.java:334)
at java.util.Properties.getProperty(Properties.java:932)
at java.util.Properties.getProperty(Properties.java:951)
at java.lang.System.getProperty(System.java:689)
at sun.net.NetProperties.get(NetProperties.java:75)
at sun.net.spi.DefaultProxySelector$3.run(DefaultProxySelector.java:218)
at java.security.AccessController.doPrivileged(Native Method)
at
sun.net.spi.DefaultProxySelector.select(DefaultProxySelector.java:201)
at
sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:796)
at
sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:726)
at
sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1049)
at org.apache.xerces.impl.XMLEntityManager.setupCurrentEntity(Unknown
Source)
at
org.apache.xerces.impl.XMLVersionDetector.determineDocVersion(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.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown
Source)
at org.apache.xerces.jaxp.SAXParserImpl.parse(Unknown Source)
at javax.xml.parsers.SAXParser.parse(SAXParser.java:277)
at
org.geotools.xml.SchemaFactory.getRealInstance(SchemaFactory.java:278)
at org.geotools.xml.SchemaFactory.getInstance(SchemaFactory.java:264)
at
org.geotools.xml.handlers.xsi.SchemaHandler.compress(SchemaHandler.java:384)
at
org.geotools.xml.handlers.xsi.RootHandler.getSchema(RootHandler.java:116)
at org.geotools.xml.XSISAXHandler.getSchema(XSISAXHandler.java:256)
at
org.geotools.xml.SchemaFactory.getRealInstance(SchemaFactory.java:284)
at org.geotools.xml.SchemaFactory.getInstance(SchemaFactory.java:264)
at
org.geotools.xml.handlers.xsi.SchemaHandler.compress(SchemaHandler.java:384)
at
org.geotools.xml.handlers.xsi.RootHandler.getSchema(RootHandler.java:116)
at org.geotools.xml.XSISAXHandler.getSchema(XSISAXHandler.java:256)
at
org.geotools.xml.SchemaFactory.getRealInstance(SchemaFactory.java:284)
at org.geotools.xml.SchemaFactory.getInstance(SchemaFactory.java:264)
at
org.geotools.xml.handlers.xsi.SchemaHandler.compress(SchemaHandler.java:384)
at
org.geotools.xml.handlers.xsi.RootHandler.getSchema(RootHandler.java:116)
at org.geotools.xml.XSISAXHandler.getSchema(XSISAXHandler.java:256)
at
org.geotools.xml.SchemaFactory.getRealInstance(SchemaFactory.java:284)
at org.geotools.xml.SchemaFactory.getInstance(SchemaFactory.java:264)
at
org.geotools.xml.handlers.xsi.SchemaHandler.compress(SchemaHandler.java:384)
at
org.geotools.xml.handlers.xsi.RootHandler.getSchema(RootHandler.java:116)
at org.geotools.xml.XSISAXHandler.getSchema(XSISAXHandler.java:256)
at
org.geotools.xml.SchemaFactory.getRealInstance(SchemaFactory.java:284)
at org.geotools.xml.SchemaFactory.getInstance(SchemaFactory.java:264)
at
org.geotools.xml.handlers.xsi.SchemaHandler.compress(SchemaHandler.java:384)
at
org.geotools.xml.handlers.xsi.RootHandler.getSchema(RootHandler.java:116)
at org.geotools.xml.XSISAXHandler.getSchema(XSISAXHandler.java:256)
at
org.geotools.xml.SchemaFactory.getRealInstance(SchemaFactory.java:284)
at org.geotools.xml.SchemaFactory.getInstance(SchemaFactory.java:264)
at
org.geotools.xml.handlers.xsi.SchemaHandler.compress(SchemaHandler.java:384)
at
org.geotools.xml.handlers.xsi.RootHandler.getSchema(RootHandler.java:116)
at org.geotools.xml.XSISAXHandler.getSchema(XSISAXHandler.java:256)
at
org.geotools.xml.SchemaFactory.getRealInstance(SchemaFactory.java:284)
at org.geotools.xml.SchemaFactory.getInstance(SchemaFactory.java:264)
at
org.geotools.xml.handlers.xsi.SchemaHandler.compress(SchemaHandler.java:384)
...
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
------------------------------------------------------------------------------
This SF.net email is sponsored by
Make an app they can't live without
Enter the BlackBerry Developer Challenge
http://p.sf.net/sfu/RIM-dev2dev
_______________________________________________
Geotools-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/geotools-devel