X-Git-Url: https://git.pterodactylus.net/?p=Sone.git;a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fsone%2Fmain%2FSonePlugin.java;h=6d9e3a01303ff10a59098c5dc5c8538ebd83b552;hp=a57a71e75f9e3080094e1fc4cb1ea930e86a6176;hb=3708c0f5d855c085295b45882e4ef56d2df3abbc;hpb=b9380f348777ac62b12a0b0bf2990f2271f642d8 diff --git a/src/main/java/net/pterodactylus/sone/main/SonePlugin.java b/src/main/java/net/pterodactylus/sone/main/SonePlugin.java index a57a71e..6d9e3a0 100644 --- a/src/main/java/net/pterodactylus/sone/main/SonePlugin.java +++ b/src/main/java/net/pterodactylus/sone/main/SonePlugin.java @@ -148,14 +148,20 @@ public class SonePlugin implements FredPlugin, FredPluginL10n, FredPluginBaseL10 /* create a configuration. */ Configuration configuration; + Configuration xmlConfiguration = null; try { - configuration = new Configuration(new PluginStoreConfigurationBackend(pluginRespirator)); - } catch (DatabaseDisabledException dde1) { - logger.log(Level.WARNING, "Could not load plugin store, using XML files."); + configuration = new Configuration(new XMLConfigurationBackend(new File("sone.xml"), false)); + xmlConfiguration = configuration; + } catch (ConfigurationException ce1) { try { - configuration = new Configuration(new XMLConfigurationBackend(new File("sone.xml"), true)); - } catch (ConfigurationException ce1) { - logger.log(Level.SEVERE, "Could not load or create the “sone.xml” configuration file!"); + xmlConfiguration = new Configuration(new XMLConfigurationBackend(new File("sone.xml"), true)); + } catch (ConfigurationException ce2) { + logger.log(Level.SEVERE, "Could not create XML file, using Plugin Store!"); + } + try { + configuration = new Configuration(new PluginStoreConfigurationBackend(pluginRespirator)); + } catch (DatabaseDisabledException dde1) { + logger.log(Level.SEVERE, "Could not load any configuration, using in-memory configuration!"); configuration = new Configuration(new MapConfigurationBackend(Collections. emptyMap())); } } @@ -183,6 +189,9 @@ public class SonePlugin implements FredPlugin, FredPluginL10n, FredPluginBaseL10 boolean startupFailed = true; try { core.start(); + if ((xmlConfiguration != null) && (configuration != xmlConfiguration)) { + core.setConfiguration(xmlConfiguration); + } webInterface.start(); identityManager.start(); startupFailed = false;