Details
-
Type:
Bug
-
Status:
Closed
-
Priority:
Major
-
Resolution: Won't Fix
-
Affects Version/s: 2.2.M0, 2.4-M1
-
Fix Version/s: None
-
Component/s: main
-
Labels:None
-
Environment:Java 5.0, Windows XP
Description
When trying to get the geometries contained in the attached file (Test.xml) with the following code snippet :
import java.io.IOException;
import org.geotools.gml.GMLFilterDocument;
import org.geotools.gml.GMLFilterGeometry;
import org.geotools.gml.TestHandler;
import org.xml.sax.SAXException;
import org.xml.sax.XMLReader;
import org.xml.sax.helpers.XMLReaderFactory;
public class Test {
public static void main(String[] args) {
String fileName = "./Test.xml";
try {
TestHandler contentHandler = new TestHandler();
GMLFilterGeometry geometryFilter = new
GMLFilterGeometry(contentHandler);
GMLFilterDocument documentFilter = new
GMLFilterDocument(geometryFilter);
XMLReader parser;
parser = XMLReaderFactory.createXMLReader("org.apache.xerces.parsers.SAXParser");
parser.setContentHandler(documentFilter);
parser.parse(fileName);
} catch (SAXException e) {
e.printStackTrace();
} catch (IOException e) { e.printStackTrace(); } }
}
}
... I get the following exception :
Exception in thread "main" java.lang.NullPointerException
at org.geotools.gml.GMLFilterGeometry.gmlCoordinates(GMLFilterGeometry.java:131)
at org.geotools.gml.GMLFilterDocument$CoordinateReader.readCoordinates(GMLFilterDocument.java:399)
at org.geotools.gml.GMLFilterDocument.endElement(GMLFilterDocument.java:258)
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 Test.main(Test.java:22)
When trying with the other attached file (aiports.gml)., I get the results I expect.
I welcome any suggestion to improve the retrieving of geometries in a GML file, but NPEs should be handled IMHO.