package net.sf.openrocket.utils;
import java.io.File;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.ObjectOutputStream;
import java.util.Collection;
import java.util.List;
import java.util.Locale;
import net.sf.openrocket.database.ComponentPresetDatabase;
import net.sf.openrocket.file.iterator.DirectoryIterator;
import net.sf.openrocket.file.iterator.FileIterator;
import net.sf.openrocket.gui.util.SimpleFileFilter;
import net.sf.openrocket.preset.ComponentPreset;
import net.sf.openrocket.preset.xml.OpenRocketComponentLoader;
import net.sf.openrocket.util.Pair;
public class SerializePresets extends BasicApplication {
/**
* @param args
*/
public static void main(String[] args) throws Exception {
SerializePresets app = new SerializePresets();
app.initializeApplication();
Locale.setDefault(Locale.ENGLISH);
ComponentPresetDatabase componentPresetDao = new ComponentPresetDatabase();
FileIterator iterator = DirectoryIterator.findDirectory("resources-src/datafiles/presets", new SimpleFileFilter("", false, "orc"));
if (iterator == null) {
throw new RuntimeException("Can't find resources-src/presets directory");
}
while (iterator.hasNext()) {
Pair<String, InputStream> f = iterator.next();
String fileName = f.getU();
InputStream is = f.getV();
OpenRocketComponentLoader loader = new OpenRocketComponentLoader();
Collection<ComponentPreset> presets = loader.load(is, fileName);
componentPresetDao.addAll(presets);
}
List<ComponentPreset> list = componentPresetDao.listAll();
System.out.println("Total number of presets = " + list.size());
File outFile = new File("resources/datafiles/presets", "system.ser");
FileOutputStream ofs = new FileOutputStream(outFile);
ObjectOutputStream oos = new ObjectOutputStream(ofs);
oos.writeObject(list);
ofs.flush();
ofs.close();
}
}