Fix ALL the logging!
[Sone.git] / src / main / java / net / pterodactylus / sone / main / SonePlugin.java
index 2d53e8b..951b54f 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * FreenetSone - SonePlugin.java - Copyright © 2010 David Roden
+ * Sone - SonePlugin.java - Copyright © 2010 David Roden
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -24,6 +24,7 @@ import java.util.logging.Logger;
 
 import net.pterodactylus.sone.core.Core;
 import net.pterodactylus.sone.core.FreenetInterface;
+import net.pterodactylus.sone.fcp.FcpInterface;
 import net.pterodactylus.sone.freenet.PluginStoreConfigurationBackend;
 import net.pterodactylus.sone.freenet.plugin.PluginConnector;
 import net.pterodactylus.sone.freenet.wot.IdentityManager;
@@ -40,10 +41,14 @@ import freenet.l10n.BaseL10n.LANGUAGE;
 import freenet.l10n.PluginL10n;
 import freenet.pluginmanager.FredPlugin;
 import freenet.pluginmanager.FredPluginBaseL10n;
+import freenet.pluginmanager.FredPluginFCP;
 import freenet.pluginmanager.FredPluginL10n;
 import freenet.pluginmanager.FredPluginThreadless;
 import freenet.pluginmanager.FredPluginVersioned;
+import freenet.pluginmanager.PluginReplySender;
 import freenet.pluginmanager.PluginRespirator;
+import freenet.support.SimpleFieldSet;
+import freenet.support.api.Bucket;
 
 /**
  * This class interfaces with Freenet. It is the class that is loaded by the
@@ -51,7 +56,7 @@ import freenet.pluginmanager.PluginRespirator;
  *
  * @author <a href="mailto:bombe@pterodactylus.net">David ‘Bombe’ Roden</a>
  */
-public class SonePlugin implements FredPlugin, FredPluginL10n, FredPluginBaseL10n, FredPluginThreadless, FredPluginVersioned {
+public class SonePlugin implements FredPlugin, FredPluginFCP, FredPluginL10n, FredPluginBaseL10n, FredPluginThreadless, FredPluginVersioned {
 
        static {
                /* initialize logging. */
@@ -63,22 +68,22 @@ public class SonePlugin implements FredPlugin, FredPluginL10n, FredPluginBaseL10
                                Class<?> loggerClass = Logging.getLoggerClass(logRecord.getLoggerName());
                                int recordLevel = logRecord.getLevel().intValue();
                                if (recordLevel < Level.FINE.intValue()) {
-                                       freenet.support.Logger.debug(loggerClass, String.format(logRecord.getMessage(), logRecord.getParameters()), logRecord.getThrown());
+                                       freenet.support.Logger.debug(loggerClass, logRecord.getMessage(), logRecord.getThrown());
                                } else if (recordLevel < Level.INFO.intValue()) {
-                                       freenet.support.Logger.minor(loggerClass, String.format(logRecord.getMessage(), logRecord.getParameters()), logRecord.getThrown());
+                                       freenet.support.Logger.minor(loggerClass, logRecord.getMessage(), logRecord.getThrown());
                                } else if (recordLevel < Level.WARNING.intValue()) {
-                                       freenet.support.Logger.normal(loggerClass, String.format(logRecord.getMessage(), logRecord.getParameters()), logRecord.getThrown());
+                                       freenet.support.Logger.normal(loggerClass, logRecord.getMessage(), logRecord.getThrown());
                                } else if (recordLevel < Level.SEVERE.intValue()) {
-                                       freenet.support.Logger.warning(loggerClass, String.format(logRecord.getMessage(), logRecord.getParameters()), logRecord.getThrown());
+                                       freenet.support.Logger.warning(loggerClass, logRecord.getMessage(), logRecord.getThrown());
                                } else {
-                                       freenet.support.Logger.error(loggerClass, String.format(logRecord.getMessage(), logRecord.getParameters()), logRecord.getThrown());
+                                       freenet.support.Logger.error(loggerClass, logRecord.getMessage(), logRecord.getThrown());
                                }
                        }
                });
        }
 
        /** The version. */
-       public static final Version VERSION = new Version(0, 4, 1);
+       public static final Version VERSION = new Version(0, 8);
 
        /** The logger. */
        private static final Logger logger = Logging.getLogger(SonePlugin.class);
@@ -92,9 +97,15 @@ public class SonePlugin implements FredPlugin, FredPluginL10n, FredPluginBaseL10
        /** The web interface. */
        private WebInterface webInterface;
 
+       /** The FCP interface. */
+       private FcpInterface fcpInterface;
+
        /** The l10n helper. */
        private PluginL10n l10n;
 
+       /** The web of trust connector. */
+       private WebOfTrustConnector webOfTrustConnector;
+
        /** The identity manager. */
        private IdentityManager identityManager;
 
@@ -173,7 +184,7 @@ public class SonePlugin implements FredPlugin, FredPluginL10n, FredPluginBaseL10
 
                        /* create web of trust connector. */
                        PluginConnector pluginConnector = new PluginConnector(pluginRespirator);
-                       WebOfTrustConnector webOfTrustConnector = new WebOfTrustConnector(pluginConnector);
+                       webOfTrustConnector = new WebOfTrustConnector(pluginConnector);
                        identityManager = new IdentityManager(webOfTrustConnector);
                        identityManager.setContext("Sone");
 
@@ -184,6 +195,10 @@ public class SonePlugin implements FredPlugin, FredPluginL10n, FredPluginBaseL10
                        webInterface = new WebInterface(this);
                        core.addCoreListener(webInterface);
 
+                       /* create FCP interface. */
+                       fcpInterface = new FcpInterface(core);
+                       core.setFcpInterface(fcpInterface);
+
                        /* create the identity manager. */
                        identityManager.addIdentityListener(core);
 
@@ -224,6 +239,9 @@ public class SonePlugin implements FredPlugin, FredPluginL10n, FredPluginBaseL10
 
                        /* stop the identity manager. */
                        identityManager.stop();
+
+                       /* stop the web of trust connector. */
+                       webOfTrustConnector.stop();
                } catch (Throwable t1) {
                        logger.log(Level.SEVERE, "Error while shutting down!", t1);
                } finally {
@@ -233,6 +251,18 @@ public class SonePlugin implements FredPlugin, FredPluginL10n, FredPluginBaseL10
        }
 
        //
+       // INTERFACE FredPluginFCP
+       //
+
+       /**
+        * {@inheritDoc}
+        */
+       @Override
+       public void handle(PluginReplySender pluginReplySender, SimpleFieldSet parameters, Bucket data, int accessType) {
+               fcpInterface.handle(pluginReplySender, parameters, data, accessType);
+       }
+
+       //
        // INTERFACE FredPluginL10n
        //