diff --git a/core/.classpath b/core/.classpath index 06a9ed43d..f561ddc6f 100644 --- a/core/.classpath +++ b/core/.classpath @@ -26,7 +26,8 @@ - + + diff --git a/core/build.xml b/core/build.xml index 6ff2e33d6..007c10508 100644 --- a/core/build.xml +++ b/core/build.xml @@ -53,8 +53,8 @@ - Java/JVM version: ${ant.java.version} - Java/JVM detail version: ${java.version} + Java/JVM version: ${ant.java.version} + Java/JVM detail version: ${java.version} Compiling main classes @@ -88,15 +88,15 @@ - Building unit tests - Java/JVM version: ${ant.java.version} - Java/JVM detail version: ${java.version} + Building unit tests + Java/JVM version: ${ant.java.version} + Java/JVM detail version: ${java.version} Running unit tests - Java/JVM version: ${ant.java.version} - Java/JVM detail version: ${java.version} + Java/JVM version: ${ant.java.version} + Java/JVM detail version: ${java.version} diff --git a/core/lib/commons-lang3-3.12.0.jar b/core/lib/commons-lang3-3.12.0.jar new file mode 100644 index 000000000..4d434a2a4 Binary files /dev/null and b/core/lib/commons-lang3-3.12.0.jar differ diff --git a/core/lib/opencsv-4.3.2.jar b/core/lib/opencsv-4.3.2.jar deleted file mode 100644 index 3e00a6ea3..000000000 Binary files a/core/lib/opencsv-4.3.2.jar and /dev/null differ diff --git a/core/lib/opencsv-5.7.1.jar b/core/lib/opencsv-5.7.1.jar new file mode 100644 index 000000000..ea50aa6d7 Binary files /dev/null and b/core/lib/opencsv-5.7.1.jar differ diff --git a/core/src/net/sf/openrocket/preset/loader/RocksimComponentFileLoader.java b/core/src/net/sf/openrocket/preset/loader/RocksimComponentFileLoader.java index 3126766c1..7845ee3c8 100644 --- a/core/src/net/sf/openrocket/preset/loader/RocksimComponentFileLoader.java +++ b/core/src/net/sf/openrocket/preset/loader/RocksimComponentFileLoader.java @@ -9,10 +9,15 @@ import java.io.InputStreamReader; import java.io.PrintStream; import java.util.List; +import com.opencsv.CSVParser; +import com.opencsv.CSVParserBuilder; +import com.opencsv.CSVReaderBuilder; +import com.opencsv.exceptions.CsvValidationException; import net.sf.openrocket.preset.TypedPropertyMap; import net.sf.openrocket.unit.Unit; import net.sf.openrocket.unit.UnitGroup; import net.sf.openrocket.util.ArrayList; +import net.sf.openrocket.util.BugException; import net.sf.openrocket.util.StringUtil; import com.opencsv.CSVReader; @@ -115,11 +120,18 @@ public abstract class RocksimComponentFileLoader { r = new InputStreamReader(is); // Create the CSV reader. Use comma separator. - CSVReader reader = new CSVReader(r, ',', '\'', '\\'); - + CSVParser parser = new CSVParserBuilder() + .withSeparator(',') + .withQuoteChar('\'') + .withEscapeChar('\\') + .build(); + CSVReader reader = new CSVReaderBuilder(r) + .withCSVParser(parser) + .build(); + //Read and throw away the header row. parseHeaders(reader.readNext()); - + String[] data = null; while ((data = reader.readNext()) != null) { // detect empty lines and skip: @@ -133,13 +145,13 @@ public abstract class RocksimComponentFileLoader { } //Read the rest of the file as data rows. return; - } catch (IOException e) { + } catch (IOException | CsvValidationException e) { + throw new BugException("Could not read component file", e); } finally { if (r != null) { try { r.close(); - } catch (IOException e) { - } + } catch (IOException ignored) { } } } diff --git a/swing/.classpath b/swing/.classpath index 6878da13d..4cb3e712c 100644 --- a/swing/.classpath +++ b/swing/.classpath @@ -31,7 +31,8 @@ - + + diff --git a/swing/build.xml b/swing/build.xml index 91ce8c675..fdb211e29 100644 --- a/swing/build.xml +++ b/swing/build.xml @@ -70,8 +70,8 @@ - Java/JVM version: ${ant.java.version} - Java/JVM detail version: ${java.version} + Java/JVM version: ${ant.java.version} + Java/JVM detail version: ${java.version} Compiling main classes @@ -116,7 +116,8 @@ - + + @@ -317,15 +318,15 @@ ${nonascii} - Building unit tests - Java/JVM version: ${ant.java.version} - Java/JVM detail version: ${java.version} + Building unit tests + Java/JVM version: ${ant.java.version} + Java/JVM detail version: ${java.version} - Running unit tests - Java/JVM version: ${ant.java.version} - Java/JVM detail version: ${java.version} + Running unit tests + Java/JVM version: ${ant.java.version} + Java/JVM detail version: ${java.version}