diff options
| author | Paul Buetow <paul@buetow.org> | 2025-06-12 21:19:36 +0300 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2025-06-12 21:19:36 +0300 |
| commit | 5c5f252d5c7a2bdfefd4fbe54a7ae64537a64874 (patch) | |
| tree | 1a4741441c7463cd3b5c97cca98fbfd1bc91519f /sources/serialize/VSSerialize.java | |
| parent | ea4f22311b639561856f37c8ac872af2cd9d55dd (diff) | |
Restructure project to use Maven exclusively and bump to v1.0.1-SNAPSHOT
- Remove legacy Ant build system (build.xml, sources/ directory)
- Migrate to Maven-only build with standard directory structure
- Add comprehensive Maven documentation and JAVA_HOME setup for Fedora
- Update pom.xml with exec plugin and bump version to 1.0.1-SNAPSHOT
- Add CLAUDE.md for development guidance
- Update README.md with detailed build/run/clean instructions
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
Diffstat (limited to 'sources/serialize/VSSerialize.java')
| -rw-r--r-- | sources/serialize/VSSerialize.java | 278 |
1 files changed, 0 insertions, 278 deletions
diff --git a/sources/serialize/VSSerialize.java b/sources/serialize/VSSerialize.java deleted file mode 100644 index a6d3580..0000000 --- a/sources/serialize/VSSerialize.java +++ /dev/null @@ -1,278 +0,0 @@ -package serialize; - -import java.io.File; -import java.io.FileInputStream; -import java.io.FileOutputStream; -import java.io.IOException; -import java.io.ObjectInputStream; -import java.io.ObjectOutputStream; -import java.util.HashMap; - -import javax.swing.JFileChooser; - -import prefs.VSDefaultPrefs; -import prefs.VSPrefs; -import prefs.VSSerializablePrefs; -import simulator.VSSimulator; -import simulator.VSSimulatorFrame; - -/** - * The class VSSerialize, this class helps do serialize/deserialize a saved - * simulator! - * - * @author Paul C. Buetow - */ -public final class VSSerialize { - /** True if debug mode of serialization/deserialization */ - public static final boolean DEBUG = true; - - /** The last filename used for saveing/opening*/ - public static volatile String LAST_FILENAME = null; - - /** For temp object storage */ - private static HashMap<String,Object> objects; - - /** Holds the current VSSerialize object */ - private static VSSerialize serialize; - - /** - * Creates the VSSerialize object. - */ - public VSSerialize() { - init(); - } - - /** - * Initializes the helper. - */ - private void init() { - serialize = this; - objects = new HashMap<String,Object>(); - } - - /** - * Gets the current VSSerialize object. - * - * @return The current serialize object - */ - public static VSSerialize getSerialize() { - return serialize; - } - - /** - * Sets an object. - * - * @param key The object key - * @param object The object itself - */ - public void setObject(String key, Object object) { - if (DEBUG) - System.out.println("setObject("+key+")"); - - objects.put(key, object); - } - - /** - * Sets an object. - * - * @param num The object number - * @param key The object key - * @param object The object itself - */ - public void setObject(int num, String key, Object object) { - if (DEBUG) - System.out.println("setObject("+key+":"+num+")"); - - objects.put(key + ":" + num, object); - } - - /** - * Checks if an object exists. - * - * @param num The object number - * @param key The object key - * - * @return true, if the object exists. false, if the object does not exist - */ - public boolean objectExists(int num, String key) { - return null != objects.get(key + ":" + num); - } - - /** - * Gets an object. - * - * @param num The object number - * @param key The object key - * - * @return The object itself - */ - public Object getObject(int num, String key) { - Object object = objects.get(key + ":" + num); - - if (object == null) { - System.err.println("No such deserialization helper key " + key + ":" + num); - System.exit(1); - } - - return object; - } - - /** - * Gets an object. - * - * @param key The object key - * - * @return The object itself - */ - public Object getObject(String key) { - Object object = objects.get(key); - - if (object == null) { - System.err.println("No such deserialization helper key " + key); - System.exit(1); - } - - return object; - } - - /** - * Saves the given simulator to the given filename. - * - * @param filename The filename - * @param simulator The simulator - */ - public void saveSimulator(String filename, VSSimulator simulator) { - if (filename == null) { - saveSimulator(simulator); - return; - } - - LAST_FILENAME = filename; - - try { - FileOutputStream fileOutputStream = - new FileOutputStream(filename); - ObjectOutputStream objectOutputStream = - new ObjectOutputStream(fileOutputStream); - - VSSerializablePrefs prefs = (VSSerializablePrefs) simulator.getPrefs(); - prefs.serialize(this, objectOutputStream); - simulator.serialize(this, objectOutputStream); - - } catch (IOException e) { - //e.printStackTrace(); - - } finally { - //objectOutputStream.close(); - } - } - - /** - * Saves the given simulator to a file choosen by the file chooser. - * - * @param simulator The simulator - */ - public void saveSimulator(VSSimulator simulator) { - VSPrefs prefs = simulator.getPrefs(); - VSSimulatorFrame simulatorFrame = simulator.getSimulatorFrame(); - - String saveText = prefs.getString("lang.save"); - JFileChooser fileChooser = new JFileChooser(new File(".").getPath()); - fileChooser.setMultiSelectionEnabled(false); - fileChooser.addChoosableFileFilter(createFileFilter(prefs)); - fileChooser.setApproveButtonText(saveText); - - if (fileChooser.showOpenDialog(simulatorFrame) == - JFileChooser.APPROVE_OPTION) { - String fileName = fileChooser.getSelectedFile().getAbsolutePath(); - System.out.println(saveText + ": " + fileName); - saveSimulator(fileName, simulator); - } - } - - /** - * Opens a simulator from the given filename. - * - * @param filename The filename. - * @param simulatorFrame The simulator frame - * - * @return The simulator object, and null if no success - */ - public VSSimulator openSimulator(String filename, - VSSimulatorFrame simulatorFrame) { - VSSimulator simulator = null; - simulatorFrame.resetCurrentSimulator(); - LAST_FILENAME = filename; - - try { - FileInputStream fileInputStream = new FileInputStream(filename); - ObjectInputStream objectInputStream = new ObjectInputStream(fileInputStream); - - VSDefaultPrefs prefs = new VSDefaultPrefs(); - prefs.deserialize(this, objectInputStream); - prefs.addWithDefaults(); - - this.setObject("prefs", prefs); - - simulator = new VSSimulator(prefs, simulatorFrame); - simulatorFrame.addSimulator(simulator); - simulator.deserialize(this, objectInputStream); - - } catch (Exception e) { - e.printStackTrace(); - - } finally { - //objectInputStream.close(); - } - - return simulator; - } - - /** - * Opens a simulator from a file selected from a file chooser. - * - * @param simulatorFrame The simulator frame - * - * @return The simulator object, and null if no success - */ - public VSSimulator openSimulator(VSSimulatorFrame simulatorFrame) { - VSPrefs prefs = simulatorFrame.getPrefs(); - - String openText = prefs.getString("lang.open"); - JFileChooser fileChooser = new JFileChooser( - new File(".").getPath()); - fileChooser.setMultiSelectionEnabled(false); - fileChooser.addChoosableFileFilter(createFileFilter(prefs)); - fileChooser.setApproveButtonText(openText); - - if (fileChooser.showOpenDialog(simulatorFrame) == - JFileChooser.APPROVE_OPTION) { - String fileName = fileChooser.getSelectedFile().getAbsolutePath(); - System.out.println(openText + ": " + fileName); - return openSimulator(fileName, simulatorFrame); - } - - return null; - } - - /** - * Creates a file filter for the file choosers - * - * @param prefs The default prefs - */ - private javax.swing.filechooser.FileFilter createFileFilter( - final VSPrefs prefs) { - return new javax.swing.filechooser.FileFilter() { - public boolean accept(File file) { - if (file.isDirectory()) - return true; - return file.getName().toLowerCase().endsWith(".dat"); - } - - public String getDescription() { - return prefs.getString("lang.dat"); - } - }; - } - -} |
