X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fsone%2Fmain%2FSonePlugin.java;h=e6a71f06b74feb88b89986e43243b8d83ebdb52b;hb=ff4bc3606b33e9796ff4fbae087b4224d02cf0d0;hp=bff0a491070bd09f016bf94bb710ab6bdf4e1a54;hpb=127c9254bf50131e57e5e1313cb92c86dccbfa6c;p=Sone.git diff --git a/src/main/java/net/pterodactylus/sone/main/SonePlugin.java b/src/main/java/net/pterodactylus/sone/main/SonePlugin.java index bff0a49..e6a71f0 100644 --- a/src/main/java/net/pterodactylus/sone/main/SonePlugin.java +++ b/src/main/java/net/pterodactylus/sone/main/SonePlugin.java @@ -26,7 +26,11 @@ import java.util.logging.Level; import java.util.logging.LogRecord; import java.util.logging.Logger; +import javax.inject.Singleton; + import net.pterodactylus.sone.core.Core; +import net.pterodactylus.sone.database.Database; +import net.pterodactylus.sone.database.memory.MemoryDatabase; import net.pterodactylus.sone.fcp.FcpInterface; import net.pterodactylus.sone.freenet.PluginStoreConfigurationBackend; import net.pterodactylus.sone.freenet.wot.Context; @@ -54,7 +58,6 @@ import com.google.inject.spi.TypeListener; import freenet.client.async.PersistenceDisabledException; import freenet.l10n.BaseL10n.LANGUAGE; import freenet.l10n.PluginL10n; -import freenet.node.Node; import freenet.pluginmanager.FredPlugin; import freenet.pluginmanager.FredPluginBaseL10n; import freenet.pluginmanager.FredPluginFCP; @@ -115,13 +118,10 @@ public class SonePlugin implements FredPlugin, FredPluginFCP, FredPluginL10n, Fr }); } - /** The version. */ - public static final Version VERSION = new Version(0, 9, 5); - /** The current year at time of release. */ - private static final int YEAR = 2016; + private static final int YEAR = 2017; private static final String SONE_HOMEPAGE = "USK@nwa8lHa271k2QvJ8aa0Ov7IHAV-DFOCFgmDt3X6BpCI,DuQSUZiI~agF8c-6tjsFFGuZ8eICrzWCILB60nT8KKo,AQACAAE/sone/"; - private static final int LATEST_EDITION = 72; + private static final int LATEST_EDITION = 76; /** The logger. */ private static final Logger logger = getLogger(SonePlugin.class.getName()); @@ -175,6 +175,11 @@ public class SonePlugin implements FredPlugin, FredPluginFCP, FredPluginL10n, Fr return l10n; } + public static String getPluginVersion() { + net.pterodactylus.sone.main.Version version = VersionParserKt.getParsedVersion(); + return (version == null) ? "unknown" : version.getNice(); + } + public static int getYear() { return YEAR; } @@ -234,15 +239,8 @@ public class SonePlugin implements FredPlugin, FredPluginFCP, FredPluginL10n, Fr final EventBus eventBus = new EventBus(); /* Freenet injector configuration. */ - AbstractModule freenetModule = new AbstractModule() { + FreenetModule freenetModule = new FreenetModule(pluginRespirator); - @Override - @SuppressWarnings("synthetic-access") - protected void configure() { - bind(PluginRespirator.class).toInstance(SonePlugin.this.pluginRespirator); - bind(Node.class).toInstance(SonePlugin.this.pluginRespirator.getNode()); - } - }; /* Sone injector configuration. */ AbstractModule soneModule = new AbstractModule() { @@ -254,7 +252,11 @@ public class SonePlugin implements FredPlugin, FredPluginFCP, FredPluginL10n, Fr bind(Context.class).toInstance(context); bind(getOptionalContextTypeLiteral()).toInstance(of(context)); bind(SonePlugin.class).toInstance(SonePlugin.this); - bind(Version.class).toInstance(VERSION); + bind(Version.class).toInstance(Version.parse(getVersion())); + bind(PluginVersion.class).toInstance(new PluginVersion(getVersion())); + bind(PluginYear.class).toInstance(new PluginYear(getYear())); + bind(PluginHomepage.class).toInstance(new PluginHomepage(getHomepage())); + bind(Database.class).to(MemoryDatabase.class).in(Singleton.class); if (startConfiguration.getBooleanValue("Developer.LoadFromFilesystem").getValue(false)) { String path = startConfiguration.getStringValue("Developer.FilesystemPath").getValue(null); if (path != null) { @@ -405,7 +407,49 @@ public class SonePlugin implements FredPlugin, FredPluginFCP, FredPluginL10n, Fr */ @Override public String getVersion() { - return VERSION.toString(); + return getPluginVersion(); + } + + public static class PluginVersion { + + private final String version; + + public PluginVersion(String version) { + this.version = version; + } + + public String getVersion() { + return version; + } + + } + + public static class PluginYear { + + private final int year; + + public PluginYear(int year) { + this.year = year; + } + + public int getYear() { + return year; + } + + } + + public static class PluginHomepage { + + private final String homepage; + + public PluginHomepage(String homepage) { + this.homepage = homepage; + } + + public String getHomepage() { + return homepage; + } + } }