X-Git-Url: http://www2.svjatoslav.eu/gitweb/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Feu%2Fsvjatoslav%2Finstantlauncher%2Fconfiguration%2FConfigurationManager.java;h=5a2e512522b7b969ab87c7ffb1db8ef2c5bb31f3;hb=d84757dc1d3555a22d9411970a6fa7efccf2619e;hp=aef82f28d40d3dff80f6ea017c81de01f3e5314a;hpb=e3ffc2bb7c897529d91f0cd8d1a371cc6b7f893c;p=instantlauncher.git diff --git a/src/main/java/eu/svjatoslav/instantlauncher/configuration/ConfigurationManager.java b/src/main/java/eu/svjatoslav/instantlauncher/configuration/ConfigurationManager.java index aef82f2..5a2e512 100755 --- a/src/main/java/eu/svjatoslav/instantlauncher/configuration/ConfigurationManager.java +++ b/src/main/java/eu/svjatoslav/instantlauncher/configuration/ConfigurationManager.java @@ -1,5 +1,10 @@ +/* + * Instantlauncher. Author: Svjatoslav Agejenko, svjatoslav@svjatoslav.eu + * This project is released under Creative Commons Zero (CC0) license. + */ package eu.svjatoslav.instantlauncher.configuration; +import com.esotericsoftware.yamlbeans.YamlConfig; import com.esotericsoftware.yamlbeans.YamlReader; import com.esotericsoftware.yamlbeans.YamlWriter; @@ -34,6 +39,7 @@ public class ConfigurationManager { private void loadConfigFile(File propertiesFile) throws IOException { YamlReader reader = new YamlReader(new FileReader(propertiesFile)); + configureYaml(reader.getConfig()); configuration = reader.read(Configuration.class); if (configuration == null) initDefaultConfiguration(); @@ -41,12 +47,16 @@ public class ConfigurationManager { private void saveConfigFile() throws IOException { YamlWriter writer = new YamlWriter(new FileWriter(getPropertiesFile())); - writer.getConfig().setClassTag("configuration", Configuration.class); - writer.getConfig().setPropertyElementType(Configuration.class, "fileAssociations", FileAssociation.class); + configureYaml(writer.getConfig()); writer.write(configuration); writer.close(); } + private void configureYaml(YamlConfig config) { + config.setClassTag("configuration", Configuration.class); + config.setPropertyElementType(Configuration.class, "fileAssociations", FileAssociation.class); + } + private void registerFileAssociation(String fileRegex, String command) { FileAssociation association = new FileAssociation(fileRegex, command); configuration.fileAssociations.add(association);