]> gitweb.fperrin.net Git - GpsPrune.git/blobdiff - tim/prune/load/xml/ZipFileLoader.java
Moved source into separate src directory due to popular request
[GpsPrune.git] / tim / prune / load / xml / ZipFileLoader.java
diff --git a/tim/prune/load/xml/ZipFileLoader.java b/tim/prune/load/xml/ZipFileLoader.java
deleted file mode 100644 (file)
index eb2f9a6..0000000
+++ /dev/null
@@ -1,135 +0,0 @@
-package tim.prune.load.xml;
-
-import java.io.File;
-import java.io.InputStream;
-import java.util.Enumeration;
-import java.util.zip.ZipEntry;
-import java.util.zip.ZipFile;
-import java.util.zip.ZipInputStream;
-
-import javax.xml.parsers.SAXParser;
-import javax.xml.parsers.SAXParserFactory;
-
-import tim.prune.App;
-import tim.prune.data.SourceInfo;
-import tim.prune.load.MediaLinkInfo;
-
-/**
- * Class to handle the loading of zipped xml files
- */
-public class ZipFileLoader
-{
-       /** App for callback of file loading */
-       private App _app = null;
-       /** Object to do the handling of the xml */
-       private XmlFileLoader _xmlLoader = null;
-
-       /**
-        * Constructor
-        * @param inApp App object
-        * @param inXmlLoader object to do the xml handling
-        */
-       public ZipFileLoader(App inApp, XmlFileLoader inXmlLoader)
-       {
-               _app = inApp;
-               _xmlLoader = inXmlLoader;
-       }
-
-       /**
-        * Open the selected file and select appropriate xml loader
-        * @param inFile File to open
-        */
-       public void openFile(File inFile)
-       {
-               try
-               {
-                       ZipFile file = new ZipFile(inFile);
-                       Enumeration<?> entries = file.entries();
-                       boolean xmlFound = false;
-                       while (entries.hasMoreElements() && !xmlFound)
-                       {
-                               ZipEntry entry = (ZipEntry) entries.nextElement();
-                               String entryName = entry.toString();
-                               if (entryName != null && entryName.length() > 4)
-                               {
-                                       String suffix = entryName.substring(entryName.length()-4).toLowerCase();
-                                       if (suffix.equals(".kml") || suffix.equals(".gpx") || suffix.equals(".xml"))
-                                       {
-                                               _xmlLoader.reset();
-                                               // 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
-                                               {
-                                                       // 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(),
-                                                               null, sourceInfo, handler.getTrackNameList(),
-                                                               new MediaLinkInfo(inFile, handler.getLinkArray()));
-                                                       xmlFound = true;
-                                               }
-                                       }
-                               }
-                       }
-                       file.close();
-                       // Check whether there was an xml file inside
-                       if (!xmlFound) {
-                               _app.showErrorMessage("error.load.dialogtitle", "error.load.noxmlinzip");
-                       }
-               }
-               catch (Exception e) {
-                       _app.showErrorMessageNoLookup("error.load.dialogtitle", e.getClass().getName() + "\n - " + e.getMessage());
-               }
-       }
-
-       /**
-        * Use the given stream to access a remote zip file
-        * @param inStream stream to use to access file
-        */
-       public void openStream(InputStream inStream)
-       {
-               try
-               {
-                       ZipInputStream zis = new ZipInputStream(inStream);
-                       boolean xmlFound = false;
-                       while (!xmlFound && zis.available() > 0)
-                       {
-                               ZipEntry entry = zis.getNextEntry();
-                               String entryName = entry.toString();
-                               if (entryName != null && entryName.length() > 4)
-                               {
-                                       String suffix = entryName.substring(entryName.length()-4).toLowerCase();
-                                       if (suffix.equals(".kml") || suffix.equals(".gpx") || suffix.equals(".xml"))
-                                       {
-                                               _xmlLoader.reset();
-                                               SAXParser saxParser = SAXParserFactory.newInstance().newSAXParser();
-                                               saxParser.parse(zis, _xmlLoader);
-                                               XmlHandler handler = _xmlLoader.getHandler();
-                                               if (handler == null) {
-                                                       _app.showErrorMessage("error.load.dialogtitle", "error.load.othererror");
-                                               }
-                                               else
-                                               {
-                                                       // Send back to app
-                                                       _app.informDataLoaded(handler.getFieldArray(), handler.getDataArray(),
-                                                               new SourceInfo("gpsies", SourceInfo.FILE_TYPE.GPSIES),
-                                                               handler.getTrackNameList());
-                                                       xmlFound = true;
-                                               }
-                                       }
-                               }
-                       }
-                       // Check whether there was an xml file inside
-                       if (!xmlFound) {
-                               _app.showErrorMessage("error.load.dialogtitle", "error.load.noxmlinzip");
-                       }
-               }
-               catch (Exception e) {
-                       System.err.println("ZipStream Error: " + e.getClass().getName() + " -message= " + e.getMessage());
-               }
-       }
-}