diff --git a/deploy/HyperCon.jar.REMOVED.git-id b/deploy/HyperCon.jar.REMOVED.git-id index 0d172ee6..99dacaa9 100644 --- a/deploy/HyperCon.jar.REMOVED.git-id +++ b/deploy/HyperCon.jar.REMOVED.git-id @@ -1 +1 @@ -f952d16d70fad0d6063d719588a5cf7c05d9c257 \ No newline at end of file +bfe21c488f982bc107e7acaa4c90be41a6782f9e \ No newline at end of file diff --git a/src/config-tool/ConfigTool/src/org/hyperion/hypercon/ConfigurationFile.java b/src/config-tool/ConfigTool/src/org/hyperion/hypercon/ConfigurationFile.java index d4986b99..49d36919 100644 --- a/src/config-tool/ConfigTool/src/org/hyperion/hypercon/ConfigurationFile.java +++ b/src/config-tool/ConfigTool/src/org/hyperion/hypercon/ConfigurationFile.java @@ -12,6 +12,8 @@ import java.lang.reflect.Modifier; import java.lang.reflect.ParameterizedType; import java.util.Properties; import java.util.Vector; +import java.util.zip.GZIPInputStream; +import java.util.zip.GZIPOutputStream; /** * Class for supporting the serialisation and deserialisation of HyperCon settings. @@ -29,8 +31,8 @@ public class ConfigurationFile { public void load(String pFilename) { mProps.clear(); // try (InputStream in = new InflaterInputStream(new FileInputStream(pFilename))){ -// try (InputStream in = new GZIPInputStream(new FileInputStream(pFilename))){ - try (InputStream in = new FileInputStream(pFilename)) { + try (InputStream in = new GZIPInputStream(new FileInputStream(pFilename))){ +// try (InputStream in = new FileInputStream(pFilename)) { mProps.load(in); } catch (Throwable t) { // TODO Auto-generated catch block @@ -45,8 +47,8 @@ public class ConfigurationFile { */ public void save(String pFilename) { // try (OutputStream out = new DeflaterOutputStream(new FileOutputStream(pFilename))) { -// try (OutputStream out = new GZIPOutputStream(new FileOutputStream(pFilename))) { - try (OutputStream out = (new FileOutputStream(pFilename))) { + try (OutputStream out = new GZIPOutputStream(new FileOutputStream(pFilename))) { +// try (OutputStream out = (new FileOutputStream(pFilename))) { mProps.store(out, "Pesistent settings file for HyperCon"); } catch (IOException e) { e.printStackTrace(); diff --git a/src/config-tool/ConfigTool/src/org/hyperion/hypercon/Main.java b/src/config-tool/ConfigTool/src/org/hyperion/hypercon/Main.java index c2f0681d..a3cd9fe9 100644 --- a/src/config-tool/ConfigTool/src/org/hyperion/hypercon/Main.java +++ b/src/config-tool/ConfigTool/src/org/hyperion/hypercon/Main.java @@ -9,6 +9,7 @@ import javax.swing.JFrame; import javax.swing.UIManager; import org.hyperion.hypercon.gui.ConfigPanel; +import org.hyperion.hypercon.spec.TransformConfig; /** * (static) Main-class for starting HyperCon (the Hyperion configuration file builder) as a standard @@ -44,26 +45,37 @@ public class Main { frame.addWindowListener(new WindowAdapter() { @Override public void windowClosing(WindowEvent e) { - ConfigurationFile configFile = new ConfigurationFile(); - configFile.store(Main.HyperConConfig); - configFile.store(ledString.mDeviceConfig); - configFile.store(ledString.mLedFrameConfig); - configFile.store(ledString.mProcessConfig); - configFile.store(ledString.mColorConfig); - configFile.store(ledString.mMiscConfig); - configFile.save(configFilename); + try { + ConfigurationFile configFile = new ConfigurationFile(); + configFile.store(Main.HyperConConfig); + configFile.store(ledString.mDeviceConfig); + configFile.store(ledString.mLedFrameConfig); + configFile.store(ledString.mProcessConfig); + configFile.store(ledString.mColorConfig); + configFile.store(ledString.mMiscConfig); + configFile.save(configFilename); + } catch (Throwable t) { + System.err.println("Failed to save " + configFilename); + } } }); if (new File(configFilename).exists()) { - ConfigurationFile configFile = new ConfigurationFile(); - configFile.load(configFilename); - configFile.restore(Main.HyperConConfig); - configFile.restore(ledString.mDeviceConfig); - configFile.restore(ledString.mLedFrameConfig); - configFile.restore(ledString.mProcessConfig); - configFile.restore(ledString.mColorConfig); - configFile.restore(ledString.mMiscConfig); + try { + ConfigurationFile configFile = new ConfigurationFile(); + configFile.load(configFilename); + configFile.restore(Main.HyperConConfig); + configFile.restore(ledString.mDeviceConfig); + configFile.restore(ledString.mLedFrameConfig); + configFile.restore(ledString.mProcessConfig); + configFile.restore(ledString.mColorConfig); + configFile.restore(ledString.mMiscConfig); + } catch (Throwable t) { + System.err.println("Failed to load " + configFilename); + } + if (ledString.mColorConfig.mTransforms.isEmpty()) { + ledString.mColorConfig.mTransforms.add(new TransformConfig()); + } } // Add the HyperCon configuration panel