[#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/guice-4.2.3-no_aop.jar"/>
<classpathentry kind="lib" path="lib/logback-classic-1.2.11.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/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-core-2.2.jar"/>
<classpathentry kind="lib" path="/OpenRocket Test Libraries/hamcrest-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"/> <classpathentry kind="lib" path="/OpenRocket Test Libraries/jmock-2.12.0.jar"/>

View File

@ -53,8 +53,8 @@
<!-- BUILD --> <!-- BUILD -->
<target name="build"> <target name="build">
<echo>Java/JVM version: ${ant.java.version}</echo> <echo level="info">Java/JVM version: ${ant.java.version}</echo>
<echo>Java/JVM detail version: ${java.version}</echo> <echo level="info">Java/JVM detail version: ${java.version}</echo>
<mkdir dir="${classes.dir}"/> <mkdir dir="${classes.dir}"/>
<echo level="info">Compiling main classes</echo> <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"/> <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 --> <!-- Unit tests -->
<target name="unittest" description="Execute unit tests" depends="build"> <target name="unittest" description="Execute unit tests" depends="build">
<echo>Building unit tests</echo> <echo level="info">Building unit tests</echo>
<echo>Java/JVM version: ${ant.java.version}</echo> <echo level="info">Java/JVM version: ${ant.java.version}</echo>
<echo>Java/JVM detail version: ${java.version}</echo> <echo level="info">Java/JVM detail version: ${java.version}</echo>
<mkdir dir="${build-test.dir}"/> <mkdir dir="${build-test.dir}"/>
<javac debug="true" srcdir="${src-test.dir}" destdir="${build-test.dir}" classpathref="test-classpath" includeantruntime="false"/> <javac debug="true" srcdir="${src-test.dir}" destdir="${build-test.dir}" classpathref="test-classpath" includeantruntime="false"/>
<echo>Running unit tests</echo> <echo>Running unit tests</echo>
<echo>Java/JVM version: ${ant.java.version}</echo> <echo level="info">Java/JVM version: ${ant.java.version}</echo>
<echo>Java/JVM detail version: ${java.version}</echo> <echo level="info">Java/JVM detail version: ${java.version}</echo>
<mkdir dir="${tmp.dir}/rawtestoutput"/> <mkdir dir="${tmp.dir}/rawtestoutput"/>
<junit fork="yes" forkmode="once" printsummary="false" failureproperty="junit.failure" dir="${basedir}"> <junit fork="yes" forkmode="once" printsummary="false" failureproperty="junit.failure" dir="${basedir}">
<classpath> <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.io.PrintStream;
import java.util.List; 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.preset.TypedPropertyMap;
import net.sf.openrocket.unit.Unit; import net.sf.openrocket.unit.Unit;
import net.sf.openrocket.unit.UnitGroup; import net.sf.openrocket.unit.UnitGroup;
import net.sf.openrocket.util.ArrayList; import net.sf.openrocket.util.ArrayList;
import net.sf.openrocket.util.BugException;
import net.sf.openrocket.util.StringUtil; import net.sf.openrocket.util.StringUtil;
import com.opencsv.CSVReader; import com.opencsv.CSVReader;
@ -115,11 +120,18 @@ public abstract class RocksimComponentFileLoader {
r = new InputStreamReader(is); r = new InputStreamReader(is);
// Create the CSV reader. Use comma separator. // 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. //Read and throw away the header row.
parseHeaders(reader.readNext()); parseHeaders(reader.readNext());
String[] data = null; String[] data = null;
while ((data = reader.readNext()) != null) { while ((data = reader.readNext()) != null) {
// detect empty lines and skip: // detect empty lines and skip:
@ -133,13 +145,13 @@ public abstract class RocksimComponentFileLoader {
} }
//Read the rest of the file as data rows. //Read the rest of the file as data rows.
return; return;
} catch (IOException e) { } catch (IOException | CsvValidationException e) {
throw new BugException("Could not read component file", e);
} finally { } finally {
if (r != null) { if (r != null) {
try { try {
r.close(); 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 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-core-2.2.jar"/>
<classpathentry kind="lib" path="/OpenRocket Test Libraries/hamcrest-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-2.12.0.jar"/>
<classpathentry kind="lib" path="/OpenRocket Test Libraries/jmock-junit4-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"/> <classpathentry kind="lib" path="/OpenRocket Test Libraries/junit-4.13.2.jar"/>

View File

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