[#1542] Upgrade opencsv & add commons-lang3

This commit is contained in:
SiboVG 2022-10-23 02:49:09 +02:00
parent 3f55f5c67d
commit 1f7d77f2ae
8 changed files with 39 additions and 24 deletions

View File

@ -26,7 +26,8 @@
<classpathentry kind="lib" path="lib/guice-4.2.3-no_aop.jar"/>
<classpathentry kind="lib" path="lib/logback-classic-1.2.11.jar"/>
<classpathentry kind="lib" path="lib/logback-core-1.2.11.jar"/>
<classpathentry kind="lib" path="lib/opencsv-4.3.2.jar"/>
<classpathentry kind="lib" path="lib/opencsv-5.7.1.jar"/>
<classpathentry kind="lib" path="lib/commons-lang3-3.12.0.jar"/>
<classpathentry kind="lib" path="/OpenRocket Test Libraries/hamcrest-core-2.2.jar"/>
<classpathentry kind="lib" path="/OpenRocket Test Libraries/hamcrest-2.2.jar"/>
<classpathentry kind="lib" path="/OpenRocket Test Libraries/jmock-2.12.0.jar"/>

View File

@ -53,8 +53,8 @@
<!-- BUILD -->
<target name="build">
<echo>Java/JVM version: ${ant.java.version}</echo>
<echo>Java/JVM detail version: ${java.version}</echo>
<echo level="info">Java/JVM version: ${ant.java.version}</echo>
<echo level="info">Java/JVM detail version: ${java.version}</echo>
<mkdir dir="${classes.dir}"/>
<echo level="info">Compiling main classes</echo>
<javac debug="true" srcdir="${src.dir}" destdir="${classes.dir}" classpathref="classpath" includeantruntime="false" source="1.8" target="1.8"/>
@ -88,15 +88,15 @@
<!-- Unit tests -->
<target name="unittest" description="Execute unit tests" depends="build">
<echo>Building unit tests</echo>
<echo>Java/JVM version: ${ant.java.version}</echo>
<echo>Java/JVM detail version: ${java.version}</echo>
<echo level="info">Building unit tests</echo>
<echo level="info">Java/JVM version: ${ant.java.version}</echo>
<echo level="info">Java/JVM detail version: ${java.version}</echo>
<mkdir dir="${build-test.dir}"/>
<javac debug="true" srcdir="${src-test.dir}" destdir="${build-test.dir}" classpathref="test-classpath" includeantruntime="false"/>
<echo>Running unit tests</echo>
<echo>Java/JVM version: ${ant.java.version}</echo>
<echo>Java/JVM detail version: ${java.version}</echo>
<echo level="info">Java/JVM version: ${ant.java.version}</echo>
<echo level="info">Java/JVM detail version: ${java.version}</echo>
<mkdir dir="${tmp.dir}/rawtestoutput"/>
<junit fork="yes" forkmode="once" printsummary="false" failureproperty="junit.failure" dir="${basedir}">
<classpath>

Binary file not shown.

Binary file not shown.

BIN
core/lib/opencsv-5.7.1.jar Normal file

Binary file not shown.

View File

@ -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) { }
}
}

View File

@ -31,7 +31,8 @@
<classpathentry kind="lib" path="/OpenRocket Core/lib/logback-core-1.2.11.jar"/>
<classpathentry kind="lib" path="/OpenRocket Test Libraries/hamcrest-core-2.2.jar"/>
<classpathentry kind="lib" path="/OpenRocket Test Libraries/hamcrest-2.2.jar"/>
<classpathentry kind="lib" path="/OpenRocket Core/lib/opencsv-4.3.2.jar"/>
<classpathentry kind="lib" path="/OpenRocket Core/lib/opencsv-5.7.1.jar"/>
<classpathentry kind="lib" path="/OpenRocket Core/lib/commons-lang3-3.12.0.jar"/>
<classpathentry kind="lib" path="/OpenRocket Test Libraries/jmock-2.12.0.jar"/>
<classpathentry kind="lib" path="/OpenRocket Test Libraries/jmock-junit4-2.12.0.jar"/>
<classpathentry kind="lib" path="/OpenRocket Test Libraries/junit-4.13.2.jar"/>

View File

@ -70,8 +70,8 @@
<!-- BUILD -->
<target name="build">
<echo>Java/JVM version: ${ant.java.version}</echo>
<echo>Java/JVM detail version: ${java.version}</echo>
<echo level="info">Java/JVM version: ${ant.java.version}</echo>
<echo level="info">Java/JVM detail version: ${java.version}</echo>
<mkdir dir="${classes.dir}"/>
<echo level="info">Compiling main classes</echo>
<javac debug="true" srcdir="${src.dir}" destdir="${classes.dir}" classpathref="classpath" includeantruntime="false" source="1.8" target="1.8"/>
@ -116,7 +116,8 @@
<zipfileset src="${core.dir}/lib/jaxb-runtime.2.3.1.jar"/>
<zipfileset src="${lib.dir}/jcommon-1.0.18.jar"/>
<zipfileset src="${lib.dir}/jfreechart-1.0.15.jar"/>
<zipfileset src="${core.dir}/lib/opencsv-4.3.2.jar"/>
<zipfileset src="${core.dir}/lib/opencsv-5.7.1.jar"/>
<zipfileset src="${core.dir}/lib/commons-lang3-3.12.0.jar"/>
<zipfileset src="${core.dir}/lib/annotation-detector-3.0.5.jar"/>
<zipfileset src="${core.dir}/lib/slf4j-api-1.7.30.jar"/>
<zipfileset src="${core.dir}/lib/logback-classic-1.2.11.jar"/>
@ -317,15 +318,15 @@ ${nonascii}</fail>
<!-- Unit tests -->
<target name="unittest" description="Execute unit tests" depends="build">
<echo>Building unit tests</echo>
<echo>Java/JVM version: ${ant.java.version}</echo>
<echo>Java/JVM detail version: ${java.version}</echo>
<echo level="info">Building unit tests</echo>
<echo level="info">Java/JVM version: ${ant.java.version}</echo>
<echo level="info">Java/JVM detail version: ${java.version}</echo>
<mkdir dir="${build-test.dir}"/>
<javac debug="true" srcdir="${src-test.dir}" destdir="${build-test.dir}" classpathref="test-classpath"/>
<echo>Running unit tests</echo>
<echo>Java/JVM version: ${ant.java.version}</echo>
<echo>Java/JVM detail version: ${java.version}</echo>
<echo level="info">Running unit tests</echo>
<echo level="info">Java/JVM version: ${ant.java.version}</echo>
<echo level="info">Java/JVM detail version: ${java.version}</echo>
<mkdir dir="${tmp.dir}/rawtestoutput"/>
<junit fork="yes" forkmode="once" printsummary="false" failureproperty="junit.failure">
<classpath>