Don’t change the configuration after starting the core.
authorDavid ‘Bombe’ Roden <bombe@pterodactylus.net>
Wed, 25 Jun 2014 18:26:07 +0000 (20:26 +0200)
committerDavid ‘Bombe’ Roden <bombe@pterodactylus.net>
Wed, 25 Jun 2014 18:26:07 +0000 (20:26 +0200)
src/main/java/net/pterodactylus/sone/core/Core.java
src/main/java/net/pterodactylus/sone/main/SonePlugin.java

index ce16e6f..f1130fb 100644 (file)
@@ -127,7 +127,7 @@ public class Core extends AbstractService implements SoneProvider, PostProvider,
        private final EventBus eventBus;
 
        /** The configuration. */
-       private Configuration configuration;
+       private final Configuration configuration;
 
        /** Whether we’re currently saving the configuration. */
        private boolean storingConfiguration = false;
@@ -241,18 +241,6 @@ public class Core extends AbstractService implements SoneProvider, PostProvider,
        }
 
        /**
-        * Sets the configuration to use. This will automatically save the current
-        * configuration to the given configuration.
-        *
-        * @param configuration
-        *            The new configuration to use
-        */
-       public void setConfiguration(Configuration configuration) {
-               this.configuration = configuration;
-               touchConfiguration();
-       }
-
-       /**
         * Returns the options used by the core.
         *
         * @return The options of the core
index 42eeb45..9d31b35 100644 (file)
@@ -195,7 +195,13 @@ public class SonePlugin implements FredPlugin, FredPluginFCP, FredPluginL10n, Fr
                        }
                }
 
-               final Configuration startConfiguration = oldConfiguration;
+               final Configuration startConfiguration;
+               if ((newConfiguration != null) && (oldConfiguration != newConfiguration)) {
+                       logger.log(Level.INFO, "Setting configuration to file-based configuration.");
+                       startConfiguration = newConfiguration;
+               } else {
+                       startConfiguration = oldConfiguration;
+               }
                final EventBus eventBus = new EventBus();
 
                /* Freenet injector configuration. */
@@ -264,10 +270,6 @@ public class SonePlugin implements FredPlugin, FredPluginFCP, FredPluginL10n, Fr
 
                        /* start core! */
                        core.start();
-                       if ((newConfiguration != null) && (oldConfiguration != newConfiguration)) {
-                               logger.log(Level.INFO, "Setting configuration to file-based configuration.");
-                               core.setConfiguration(newConfiguration);
-                       }
                        webInterface.start();
                        webInterface.setFirstStart(firstStart);
                        webInterface.setNewConfig(newConfig);