diff --git a/core/src/net/sf/openrocket/file/iterator/DirectoryIterator.java b/core/src/net/sf/openrocket/file/iterator/DirectoryIterator.java index e80a1e2fd..4fd2be2cc 100644 --- a/core/src/net/sf/openrocket/file/iterator/DirectoryIterator.java +++ b/core/src/net/sf/openrocket/file/iterator/DirectoryIterator.java @@ -56,7 +56,7 @@ public class DirectoryIterator extends FileIterator { @Override - protected Pair findNext() { + protected Pair findNext() { // Check if we're recursing if (subIterator != null) { @@ -86,7 +86,7 @@ public class DirectoryIterator extends FileIterator { } InputStream is = new BufferedInputStream(new FileInputStream(file)); - return new Pair(file.getName(), is); + return new Pair<>(file, is); } catch (IOException e) { logger.warn("Error opening file/directory " + file, e); } diff --git a/core/src/net/sf/openrocket/file/iterator/FileIterator.java b/core/src/net/sf/openrocket/file/iterator/FileIterator.java index d0a943959..14d28d347 100644 --- a/core/src/net/sf/openrocket/file/iterator/FileIterator.java +++ b/core/src/net/sf/openrocket/file/iterator/FileIterator.java @@ -1,5 +1,6 @@ package net.sf.openrocket.file.iterator; +import java.io.File; import java.io.IOException; import java.io.InputStream; import java.util.Iterator; @@ -20,10 +21,10 @@ import net.sf.openrocket.util.Pair; * * @author Sampo Niskanen */ -public abstract class FileIterator implements Iterator> { +public abstract class FileIterator implements Iterator> { private static final Logger logger = LoggerFactory.getLogger(FileIterator.class); - private Pair next = null; + private Pair next = null; private int fileCount = 0; @Override @@ -37,7 +38,7 @@ public abstract class FileIterator implements Iterator @Override - public Pair next() { + public Pair next() { if (next == null) { next = findNext(); } @@ -45,7 +46,7 @@ public abstract class FileIterator implements Iterator throw new NoSuchElementException("No more files"); } - Pair n = next; + Pair n = next; next = null; fileCount++; return n; @@ -86,10 +87,10 @@ public abstract class FileIterator implements Iterator } /** - * Return the next pair of file name and InputStream. + * Return the next pair of file and InputStream. * - * @return a pair with the file name and input stream reading the file. + * @return a pair with the file and input stream reading the file. */ - protected abstract Pair findNext(); + protected abstract Pair findNext(); } diff --git a/core/src/net/sf/openrocket/file/iterator/ZipDirectoryIterator.java b/core/src/net/sf/openrocket/file/iterator/ZipDirectoryIterator.java index ae50fa8a8..b82240c0e 100644 --- a/core/src/net/sf/openrocket/file/iterator/ZipDirectoryIterator.java +++ b/core/src/net/sf/openrocket/file/iterator/ZipDirectoryIterator.java @@ -78,7 +78,7 @@ public class ZipDirectoryIterator extends FileIterator { @Override - protected Pair findNext() { + protected Pair findNext() { if (entries == null) { return null; } @@ -90,7 +90,7 @@ public class ZipDirectoryIterator extends FileIterator { if (name.startsWith(directory) && filter.accept(file)) { try { InputStream is = zipFile.getInputStream(entry); - return new Pair(name, is); + return new Pair<>(file, is); } catch (IOException e) { logger.error("IOException when reading ZIP file " + zipFileName, e); } diff --git a/core/src/net/sf/openrocket/thrustcurve/SerializeThrustcurveMotors.java b/core/src/net/sf/openrocket/thrustcurve/SerializeThrustcurveMotors.java index e1154d4c2..79b71f65a 100644 --- a/core/src/net/sf/openrocket/thrustcurve/SerializeThrustcurveMotors.java +++ b/core/src/net/sf/openrocket/thrustcurve/SerializeThrustcurveMotors.java @@ -185,8 +185,8 @@ public class SerializeThrustcurveMotors { System.exit(1); } else { while (iterator.hasNext()) { - Pair f = iterator.next(); - String fileName = f.getU(); + Pair f = iterator.next(); + String fileName = f.getU().getName(); InputStream is = f.getV(); List motors = loader.load(is, fileName); diff --git a/core/test/net/sf/openrocket/file/iterator/TestFileIterator.java b/core/test/net/sf/openrocket/file/iterator/TestFileIterator.java index c3e424ee0..9c59585bd 100644 --- a/core/test/net/sf/openrocket/file/iterator/TestFileIterator.java +++ b/core/test/net/sf/openrocket/file/iterator/TestFileIterator.java @@ -3,6 +3,7 @@ package net.sf.openrocket.file.iterator; import static org.junit.Assert.*; import java.io.ByteArrayInputStream; +import java.io.File; import java.io.InputStream; import net.sf.openrocket.util.Pair; @@ -13,14 +14,14 @@ public class TestFileIterator { @Test public void testFileIterator() { - final Pair one = new Pair("one", new ByteArrayInputStream(new byte[] { 1 })); - final Pair two = new Pair("two", new ByteArrayInputStream(new byte[] { 2 })); + final Pair one = new Pair<>(new File("one"), new ByteArrayInputStream(new byte[] { 1 })); + final Pair two = new Pair<>(new File("two"), new ByteArrayInputStream(new byte[] { 2 })); FileIterator iterator = new FileIterator() { private int count = 0; @Override - protected Pair findNext() { + protected Pair findNext() { count++; switch (count) { case 1: diff --git a/swing/src/net/sf/openrocket/database/ComponentPresetDatabaseLoader.java b/swing/src/net/sf/openrocket/database/ComponentPresetDatabaseLoader.java index 7ba2ee72f..ea0961462 100644 --- a/swing/src/net/sf/openrocket/database/ComponentPresetDatabaseLoader.java +++ b/swing/src/net/sf/openrocket/database/ComponentPresetDatabaseLoader.java @@ -1,5 +1,6 @@ package net.sf.openrocket.database; +import java.io.File; import java.io.IOException; import java.io.InputStream; import java.io.ObjectInputStream; @@ -77,8 +78,8 @@ public class ComponentPresetDatabaseLoader extends AsynchronousDatabaseLoader { return; } while (iterator.hasNext()) { - Pair f = iterator.next(); - Collection presets = loadFile(f.getU(), f.getV()); + Pair f = iterator.next(); + Collection presets = loadFile(f.getU().getName(), f.getV()); componentPresetDao.addAll(presets); fileCount++; presetCount += presets.size(); @@ -97,8 +98,8 @@ public class ComponentPresetDatabaseLoader extends AsynchronousDatabaseLoader { return; while (iterator.hasNext()) { - Pair f = iterator.next(); - Collection presets = loadFile(f.getU(), f.getV()); + Pair f = iterator.next(); + Collection presets = loadFile(f.getU().getName(), f.getV()); componentPresetDao.addAll(presets); fileCount++; presetCount += presets.size(); diff --git a/swing/src/net/sf/openrocket/database/MotorDatabaseLoader.java b/swing/src/net/sf/openrocket/database/MotorDatabaseLoader.java index c5da0b415..279f0cf92 100644 --- a/swing/src/net/sf/openrocket/database/MotorDatabaseLoader.java +++ b/swing/src/net/sf/openrocket/database/MotorDatabaseLoader.java @@ -89,7 +89,7 @@ public class MotorDatabaseLoader extends AsynchronousDatabaseLoader { log.info("Starting reading serialized motor database"); FileIterator iterator = DirectoryIterator.findDirectory(THRUSTCURVE_DIRECTORY, new SimpleFileFilter("", false, "ser")); while (iterator.hasNext()) { - Pair f = iterator.next(); + Pair f = iterator.next(); loadSerialized(f); } log.info("Ending reading serialized motor database, motorCount=" + motorCount); @@ -99,12 +99,12 @@ public class MotorDatabaseLoader extends AsynchronousDatabaseLoader { /** * loads a serailized motor data from an stream * - * @param f the pair of a String with the filename (for logging) and the input stream + * @param f the pair of a File (for logging) and the input stream */ @SuppressWarnings("unchecked") - private void loadSerialized(Pair f) { + private void loadSerialized(Pair f) { try { - log.debug("Reading motors from file " + f.getU()); + log.debug("Reading motors from file " + f.getU().getPath()); ObjectInputStream ois = new ObjectInputStream(f.getV()); List motors = (List) ois.readObject(); addMotors(motors); @@ -124,8 +124,8 @@ public class MotorDatabaseLoader extends AsynchronousDatabaseLoader { log.debug("Loading motors from file " + file); loadFile( loader, - new Pair( - file.getName(), + new Pair<>( + file, new BufferedInputStream(new FileInputStream(file)))); } catch (Exception e) { log.warn("Exception while reading " + file + ": " + e, e); @@ -138,18 +138,17 @@ public class MotorDatabaseLoader extends AsynchronousDatabaseLoader { * @param loader an object to handle the loading * @param f the pair of File name and its input stream */ - private void loadFile(GeneralMotorLoader loader, Pair f) { + private void loadFile(GeneralMotorLoader loader, Pair f) { try { - List motors = loader.load(f.getV(), f.getU()); + List motors = loader.load(f.getV(), f.getU().getName()); try { addMotorsFromBuilders(motors); } catch (IllegalArgumentException e) { Translator trans = Application.getTranslator(); - File thrustCurveDir = ((SwingPreferences) Application.getPreferences()).getDefaultUserThrustCurveFile(); - File fullPath = new File(thrustCurveDir, f.getU()); + String fullPath = f.getU().getPath(); String message = "

" + e.getMessage() + - ".

" + MessageFormat.format( trans.get("MotorDbLoaderDlg.message1"), fullPath.getPath()) + + ".

" + MessageFormat.format( trans.get("MotorDbLoaderDlg.message1"), fullPath) + "
" + trans.get("MotorDbLoaderDlg.message2") + "

"; JOptionPane pane = new JOptionPane(message, JOptionPane.WARNING_MESSAGE); JDialog dialog = pane.createDialog(null, trans.get("MotorDbLoaderDlg.title")); diff --git a/swing/src/net/sf/openrocket/file/motor/MotorLoaderHelper.java b/swing/src/net/sf/openrocket/file/motor/MotorLoaderHelper.java index deacaad41..0719b8c11 100644 --- a/swing/src/net/sf/openrocket/file/motor/MotorLoaderHelper.java +++ b/swing/src/net/sf/openrocket/file/motor/MotorLoaderHelper.java @@ -95,10 +95,10 @@ public final class MotorLoaderHelper { List list = new ArrayList(); while (iterator.hasNext()) { - final Pair input = iterator.next(); + final Pair input = iterator.next(); log.debug("Loading motors from file " + input.getU()); try { - List motors = load(input.getV(), input.getU()); + List motors = load(input.getV(), input.getU().getName()); for (ThrustCurveMotor.Builder m : motors) { list.add(m); } diff --git a/swing/src/net/sf/openrocket/utils/SerializePresets.java b/swing/src/net/sf/openrocket/utils/SerializePresets.java index d872fc223..a47e7d768 100644 --- a/swing/src/net/sf/openrocket/utils/SerializePresets.java +++ b/swing/src/net/sf/openrocket/utils/SerializePresets.java @@ -50,8 +50,8 @@ public class SerializePresets extends BasicApplication { } while (iterator.hasNext()) { - Pair f = iterator.next(); - String fileName = f.getU(); + Pair f = iterator.next(); + String fileName = f.getU().getName(); InputStream is = f.getV(); OpenRocketComponentLoader loader = new OpenRocketComponentLoader();