Add notification if the config file can not be read.
[Sone.git] / src / main / java / net / pterodactylus / sone / main / SonePlugin.java
index ff14193..a24802b 100644 (file)
@@ -79,7 +79,7 @@ public class SonePlugin implements FredPlugin, FredPluginL10n, FredPluginBaseL10
        }
 
        /** The version. */
-       public static final Version VERSION = new Version("RC3", 0, 3, 1);
+       public static final Version VERSION = new Version(0, 3, 2);
 
        /** The logger. */
        private static final Logger logger = Logging.getLogger(SonePlugin.class);
@@ -147,16 +147,19 @@ public class SonePlugin implements FredPlugin, FredPluginL10n, FredPluginBaseL10
                /* create a configuration. */
                Configuration oldConfiguration;
                Configuration newConfiguration = null;
+               boolean firstStart = !new File("sone.properties").exists();
+               boolean newConfig = false;
                try {
                        oldConfiguration = new Configuration(new MapConfigurationBackend(new File("sone.properties"), false));
                        newConfiguration = oldConfiguration;
                } catch (ConfigurationException ce1) {
-                       logger.log(Level.INFO, "Could not load configuration file, trying plugin store…");
+                       newConfig = true;
+                       logger.log(Level.INFO, "Could not load configuration file, trying plugin store…", ce1);
                        try {
                                newConfiguration = new Configuration(new MapConfigurationBackend(new File("sone.properties"), true));
                                logger.log(Level.INFO, "Created new configuration file.");
                        } catch (ConfigurationException ce2) {
-                               logger.log(Level.SEVERE, "Could not create configuration file, using Plugin Store!");
+                               logger.log(Level.SEVERE, "Could not create configuration file, using Plugin Store!", ce2);
                        }
                        try {
                                oldConfiguration = new Configuration(new PluginStoreConfigurationBackend(pluginRespirator));
@@ -181,6 +184,8 @@ public class SonePlugin implements FredPlugin, FredPluginL10n, FredPluginBaseL10
 
                /* create the web interface. */
                webInterface = new WebInterface(this);
+               webInterface.setFirstStart(firstStart);
+               webInterface.setNewConfig(newConfig);
                core.addCoreListener(webInterface);
 
                /* create the identity manager. */