Fixed major problem with preset serialized database. They need to have
a translator set correctly or else the material types will not match and presets used in models will be cleared when the document is loaded.
This commit is contained in:
parent
f0228aa878
commit
1e2c64b6f0
Binary file not shown.
@ -6,12 +6,14 @@ import java.io.InputStream;
|
|||||||
import java.io.ObjectOutputStream;
|
import java.io.ObjectOutputStream;
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Locale;
|
||||||
|
|
||||||
import net.sf.openrocket.database.ComponentPresetDatabase;
|
import net.sf.openrocket.database.ComponentPresetDatabase;
|
||||||
import net.sf.openrocket.file.iterator.DirectoryIterator;
|
import net.sf.openrocket.file.iterator.DirectoryIterator;
|
||||||
import net.sf.openrocket.file.iterator.FileIterator;
|
import net.sf.openrocket.file.iterator.FileIterator;
|
||||||
import net.sf.openrocket.gui.util.SimpleFileFilter;
|
import net.sf.openrocket.gui.util.SimpleFileFilter;
|
||||||
import net.sf.openrocket.gui.util.SwingPreferences;
|
import net.sf.openrocket.gui.util.SwingPreferences;
|
||||||
|
import net.sf.openrocket.l10n.ResourceBundleTranslator;
|
||||||
import net.sf.openrocket.preset.ComponentPreset;
|
import net.sf.openrocket.preset.ComponentPreset;
|
||||||
import net.sf.openrocket.preset.xml.OpenRocketComponentLoader;
|
import net.sf.openrocket.preset.xml.OpenRocketComponentLoader;
|
||||||
import net.sf.openrocket.util.Pair;
|
import net.sf.openrocket.util.Pair;
|
||||||
@ -23,20 +25,23 @@ public class SerializePresets {
|
|||||||
*/
|
*/
|
||||||
public static void main(String[] args) throws Exception {
|
public static void main(String[] args) throws Exception {
|
||||||
|
|
||||||
Application.setPreferences( new SwingPreferences() );
|
Application.setPreferences(new SwingPreferences());
|
||||||
|
Application.setBaseTranslator(new ResourceBundleTranslator("l10n.messages"));
|
||||||
|
|
||||||
|
Locale.setDefault(Locale.ENGLISH);
|
||||||
|
|
||||||
ComponentPresetDatabase componentPresetDao = new ComponentPresetDatabase() {
|
ComponentPresetDatabase componentPresetDao = new ComponentPresetDatabase() {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void load() {
|
protected void load() {
|
||||||
|
|
||||||
FileIterator iterator = DirectoryIterator.findDirectory("resources-src/datafiles/presets", new SimpleFileFilter("",false,"orc"));
|
FileIterator iterator = DirectoryIterator.findDirectory("resources-src/datafiles/presets", new SimpleFileFilter("", false, "orc"));
|
||||||
|
|
||||||
if ( iterator == null ) {
|
if (iterator == null) {
|
||||||
throw new RuntimeException("Can't find resources-src/presets directory");
|
throw new RuntimeException("Can't find resources-src/presets directory");
|
||||||
}
|
}
|
||||||
while( iterator.hasNext() ) {
|
while (iterator.hasNext()) {
|
||||||
Pair<String,InputStream> f = iterator.next();
|
Pair<String, InputStream> f = iterator.next();
|
||||||
String fileName = f.getU();
|
String fileName = f.getU();
|
||||||
InputStream is = f.getV();
|
InputStream is = f.getV();
|
||||||
|
|
||||||
@ -56,7 +61,7 @@ public class SerializePresets {
|
|||||||
|
|
||||||
Application.getLogger().info("Total number of presets = " + list.size());
|
Application.getLogger().info("Total number of presets = " + list.size());
|
||||||
|
|
||||||
File outFile = new File("resources/datafiles/presets","system.ser");
|
File outFile = new File("resources/datafiles/presets", "system.ser");
|
||||||
|
|
||||||
FileOutputStream ofs = new FileOutputStream(outFile);
|
FileOutputStream ofs = new FileOutputStream(outFile);
|
||||||
ObjectOutputStream oos = new ObjectOutputStream(ofs);
|
ObjectOutputStream oos = new ObjectOutputStream(ofs);
|
||||||
@ -66,5 +71,4 @@ public class SerializePresets {
|
|||||||
ofs.flush();
|
ofs.flush();
|
||||||
ofs.close();
|
ofs.close();
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user