+++ /dev/null
-package tim.prune.load.xml;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.util.zip.GZIPInputStream;
-import tim.prune.App;
-import tim.prune.I18nManager;
-import tim.prune.data.SourceInfo;
-import tim.prune.load.MediaLinkInfo;
-
-/**
- * Class to handle the loading of gzipped xml files
- */
-public class GzipFileLoader
-{
- /** App for callback of file loading */
- private App _app = null;
- /** Object to do the handling of the xml */
- XmlFileLoader _xmlLoader = null;
-
- /**
- * Constructor
- * @param inApp App object
- * @param inXmlLoader object to do the xml handling
- */
- public GzipFileLoader(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)
- {
- GZIPInputStream istream = null;
- try
- {
- istream = new GZIPInputStream(new FileInputStream(inFile));
- _xmlLoader.reset();
- // Parse the stream using either Xerces or java classes
- _xmlLoader.parseXmlStream(istream);
- XmlHandler handler = _xmlLoader.getHandler();
- if (handler == null) {
- _app.showErrorMessage("error.load.dialogtitle", "error.load.noread");
- }
- 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()));
- }
- }
- catch (Exception e)
- {
- // Error occurred, could be a non-xml file borking the parser
- _app.showErrorMessageNoLookup("error.load.dialogtitle",
- I18nManager.getText("error.load.othererror") + " " + e.getClass().getName());
- // It would be nice to verify the filename of the file inside the gz,
- // but the java classes don't give access to this information
- }
- finally {
- try {
- istream.close();
- }
- catch (Exception e2) {}
- }
- }
-}