X-Git-Url: http://gitweb.fperrin.net/?a=blobdiff_plain;f=tim%2Fprune%2Fload%2Fxml%2FXmlFileLoader.java;h=4c4239d6b2081d2ca2799d6d38a6fe8136b659e1;hb=649c5da6ee1bbc590699e11a92316ece2ea8512d;hp=4170dc9b747b9e4380d1832b156393b68a238743;hpb=140e9d165f85c3d4f0435a311e091209313faa2a;p=GpsPrune.git diff --git a/tim/prune/load/xml/XmlFileLoader.java b/tim/prune/load/xml/XmlFileLoader.java index 4170dc9..4c4239d 100644 --- a/tim/prune/load/xml/XmlFileLoader.java +++ b/tim/prune/load/xml/XmlFileLoader.java @@ -1,6 +1,9 @@ package tim.prune.load.xml; import java.io.File; +import java.io.FileInputStream; +import java.io.IOException; + import javax.xml.parsers.SAXParser; import javax.xml.parsers.SAXParserFactory; @@ -11,6 +14,7 @@ import tim.prune.App; import tim.prune.I18nManager; import tim.prune.data.Altitude; import tim.prune.data.SourceInfo; +import tim.prune.load.MediaLinkInfo; /** * Class for handling loading of Xml files, and passing the @@ -61,11 +65,13 @@ public class XmlFileLoader extends DefaultHandler implements Runnable */ public void run() { + FileInputStream inStream = null; try { // Construct a SAXParser and use this as a default handler SAXParser saxParser = SAXParserFactory.newInstance().newSAXParser(); - saxParser.parse(_file, this); + inStream = new FileInputStream(_file); + saxParser.parse(inStream, this); // Check whether handler was properly instantiated if (_handler == null) @@ -80,7 +86,8 @@ public class XmlFileLoader extends DefaultHandler implements Runnable SourceInfo sourceInfo = new SourceInfo(_file, (_handler instanceof GpxHandler?SourceInfo.FILE_TYPE.GPX:SourceInfo.FILE_TYPE.KML)); _app.informDataLoaded(_handler.getFieldArray(), _handler.getDataArray(), - Altitude.Format.METRES, sourceInfo, _handler.getTrackNameList()); + Altitude.Format.METRES, sourceInfo, _handler.getTrackNameList(), + new MediaLinkInfo(_handler.getLinkArray())); } } catch (Exception e) @@ -89,6 +96,9 @@ public class XmlFileLoader extends DefaultHandler implements Runnable _app.showErrorMessageNoLookup("error.load.dialogtitle", I18nManager.getText("error.load.othererror") + " " + e.getMessage()); } + finally { + try {inStream.close();} catch (IOException e2) {} + } }