Eliminate serialization of component preset files

Relabel "Legacy Component Checkbox" to "Legacy Database Checkbox" to make clearer
This commit is contained in:
JoePfeiffer 2022-01-26 09:54:28 -07:00
parent 6507d4f93a
commit 0cd5dcbe09
4 changed files with 22 additions and 25 deletions

View File

@ -2023,7 +2023,7 @@ ComponentPresetChooserDialog.menu.sortAsc = Sort Ascending
ComponentPresetChooserDialog.menu.sortDesc = Sort Descending
ComponentPresetChooserDialog.menu.units = Units
ComponentPresetChooserDialog.checkbox.showAllCompatible = Show all compatible
ComponentPresetChooserDialog.checkbox.showLegacyCheckBox = Show Legacy Components
ComponentPresetChooserDialog.checkbox.showLegacyCheckBox = Show Legacy Database
ComponentPresetChooserDialog.lbl.favorites = Select to add preset to drop-down menu
table.column.Favorite = Favorite
table.column.Legacy = Legacy

View File

@ -64,6 +64,7 @@
<target name="clean" description="Removes all build artifacts">
<delete dir="${build.dir}"/>
<delete dir="${tmp.dir}/"/>
<delete dir="${resources.dir}/datafiles/presets"/>
</target>
@ -75,7 +76,7 @@
</target>
<!-- Executible Eclipse-Jar-In-Jar style JAR -->
<target name="jar" depends="build,serialize-presets" description="Create the OpenRocket executable JAR">
<target name="jar" depends="build,copy-orc-files" description="Create the OpenRocket executable JAR">
<mkdir dir="${jar.dir}" />
<jar destfile="${jar.file}" basedir="${classes.dir}">
<manifest>
@ -123,16 +124,6 @@
<fileset dir="${basedir}" includes="LICENSE.TXT README.TXT ChangeLog ReleaseNotes fileformat.txt" />
</jar>
</target>
<target name="serialize-presets" depends="build" description="Preprocess the orc preset files into serialized form">
<java classname="net.sf.openrocket.utils.SerializePresets"
fork="true"
classpathref="run-classpath"
failonerror="true">
<arg value="resources-src/datafiles/legacy_components"/>
<arg value="resources-src/datafiles/components/orc"/>
</java>
</target>
<!-- CONVERT vendor csv to ORC files -->
<macrodef name="build-orc-file">
@ -167,7 +158,19 @@
</sequential>
</for>
</target>
<!-- COPY orc files from source directories to build directory -->
<target name="copy-orc-files"
description="Copy orc files">
<copy todir="${resources.dir}/datafiles/presets">
<fileset dir="${resources-src.dir}/datafiles/legacy_components"/>
</copy>
<copy todir="${resources.dir}/datafiles/presets">
<fileset dir="${resources-src.dir}/datafiles/components/orc"/>
</copy>
</target>
<!-- DIST-SRC -->
<target name="dist-src">
<echo>

View File

@ -91,23 +91,17 @@ public class ComponentPresetDatabaseLoader extends AsynchronousDatabaseLoader {
*/
private void loadPresetComponents() {
log.info("Loading component presets from " + SYSTEM_PRESET_DIR);
FileIterator iterator = DirectoryIterator.findDirectory(SYSTEM_PRESET_DIR, new SimpleFileFilter("", false, "ser"));
FileIterator iterator = DirectoryIterator.findDirectory(SYSTEM_PRESET_DIR, new SimpleFileFilter("", false, "orc"));
if(iterator == null)
return;
while (iterator.hasNext()) {
Pair<String, InputStream> f = iterator.next();
try {
ObjectInputStream ois = new ObjectInputStream(f.getV());
@SuppressWarnings("unchecked")
List<ComponentPreset> list = (List<ComponentPreset>) ois.readObject();
componentPresetDao.addAll(list);
fileCount++;
presetCount += list.size();
} catch (Exception ex) {
throw new BugException(ex);
}
Collection<ComponentPreset> presets = loadFile(f.getU(), f.getV());
componentPresetDao.addAll(presets);
fileCount++;
presetCount += presets.size();
}
}