Updates
[debian/openrocket] / src / net / sf / openrocket / file / RocketLoader.java
index 0e8e051e6bfed7a4bf1c054def8df3af5e712c41..ee2f94106d5271e01515c59a04dd79103cf1788e 100644 (file)
@@ -1,6 +1,5 @@
 package net.sf.openrocket.file;
 
-import java.awt.Component;
 import java.io.BufferedInputStream;
 import java.io.File;
 import java.io.FileInputStream;
@@ -8,8 +7,6 @@ import java.io.FileNotFoundException;
 import java.io.IOException;
 import java.io.InputStream;
 
-import javax.swing.ProgressMonitorInputStream;
-
 import net.sf.openrocket.aerodynamics.WarningSet;
 import net.sf.openrocket.document.OpenRocketDocument;
 
@@ -18,29 +15,28 @@ public abstract class RocketLoader {
        protected final WarningSet warnings = new WarningSet();
 
        
-       public final OpenRocketDocument load(File source, Component parent) 
-       throws RocketLoadException {
-               warnings.clear();
-               
-               try {
-                       return load(new BufferedInputStream(new ProgressMonitorInputStream(
-                                       parent, "Loading " + source.getName(),
-                                       new FileInputStream(source))));
-               } catch (FileNotFoundException e) {
-                       throw new RocketLoadException("File not found: " + source);
-               }
-       }
-
        /**
         * Loads a rocket from the specified File object.
         */
        public final OpenRocketDocument load(File source) throws RocketLoadException {
                warnings.clear();
+               InputStream stream = null;
 
                try {
-                       return load(new BufferedInputStream(new FileInputStream(source)));
+                       
+                       stream = new BufferedInputStream(new FileInputStream(source));
+                       return load(stream);
+                       
                } catch (FileNotFoundException e) {
                        throw new RocketLoadException("File not found: " + source);
+               } finally {
+                       if (stream != null) {
+                               try {
+                                       stream.close();
+                               } catch (IOException e) {
+                                       e.printStackTrace();
+                               }
+                       }
                }
        }