]> gitweb.fperrin.net Git - GpsPrune.git/blobdiff - tim/prune/load/xml/ZipFileLoader.java
Version 16, February 2014
[GpsPrune.git] / tim / prune / load / xml / ZipFileLoader.java
index df60576a057617eccae0652889afe6ce2b6ad2d8..eb2f9a604d3aefd2fabcb9ad33f73ec2004dde28 100644 (file)
@@ -11,8 +11,8 @@ import javax.xml.parsers.SAXParser;
 import javax.xml.parsers.SAXParserFactory;
 
 import tim.prune.App;
-import tim.prune.data.Altitude;
 import tim.prune.data.SourceInfo;
+import tim.prune.load.MediaLinkInfo;
 
 /**
  * Class to handle the loading of zipped xml files
@@ -56,18 +56,20 @@ public class ZipFileLoader
                                        if (suffix.equals(".kml") || suffix.equals(".gpx") || suffix.equals(".xml"))
                                        {
                                                _xmlLoader.reset();
-                                               SAXParser saxParser = SAXParserFactory.newInstance().newSAXParser();
-                                               saxParser.parse(file.getInputStream(entry), _xmlLoader);
+                                               // Parse the stream using either Xerces or java classes
+                                               _xmlLoader.parseXmlStream(file.getInputStream(entry));
                                                XmlHandler handler = _xmlLoader.getHandler();
                                                if (handler == null) {
                                                        _app.showErrorMessage("error.load.dialogtitle", "error.load.othererror");
                                                }
-                                               else {
+                                               else
+                                               {
                                                        // Send back to app
                                                        SourceInfo sourceInfo = new SourceInfo(inFile,
                                                                (handler instanceof GpxHandler?SourceInfo.FILE_TYPE.GPX:SourceInfo.FILE_TYPE.KML));
                                                        _app.informDataLoaded(handler.getFieldArray(), handler.getDataArray(),
-                                                               Altitude.Format.METRES, sourceInfo, handler.getTrackNameList());
+                                                               null, sourceInfo, handler.getTrackNameList(),
+                                                               new MediaLinkInfo(inFile, handler.getLinkArray()));
                                                        xmlFound = true;
                                                }
                                        }
@@ -80,7 +82,7 @@ public class ZipFileLoader
                        }
                }
                catch (Exception e) {
-                       System.err.println("ZipFile Error: " + e.getClass().getName() + " -message= " + e.getMessage());
+                       _app.showErrorMessageNoLookup("error.load.dialogtitle", e.getClass().getName() + "\n - " + e.getMessage());
                }
        }
 
@@ -110,10 +112,11 @@ public class ZipFileLoader
                                                if (handler == null) {
                                                        _app.showErrorMessage("error.load.dialogtitle", "error.load.othererror");
                                                }
-                                               else {
+                                               else
+                                               {
                                                        // Send back to app
                                                        _app.informDataLoaded(handler.getFieldArray(), handler.getDataArray(),
-                                                               Altitude.Format.METRES, new SourceInfo("gpsies", SourceInfo.FILE_TYPE.GPSIES),
+                                                               new SourceInfo("gpsies", SourceInfo.FILE_TYPE.GPSIES),
                                                                handler.getTrackNameList());
                                                        xmlFound = true;
                                                }