import net.pterodactylus.sone.core.Core;
import net.pterodactylus.sone.core.FreenetInterface;
import net.pterodactylus.sone.core.WebOfTrustUpdater;
-import net.pterodactylus.sone.data.PostBuilderFactory;
-import net.pterodactylus.sone.data.impl.DefaultPostBuilderFactory;
+import net.pterodactylus.sone.database.Database;
+import net.pterodactylus.sone.database.PostBuilderFactory;
+import net.pterodactylus.sone.database.PostProvider;
+import net.pterodactylus.sone.database.PostReplyBuilderFactory;
+import net.pterodactylus.sone.database.SoneProvider;
+import net.pterodactylus.sone.database.memory.MemoryDatabase;
import net.pterodactylus.sone.fcp.FcpInterface;
import net.pterodactylus.sone.freenet.PluginStoreConfigurationBackend;
import net.pterodactylus.sone.freenet.plugin.PluginConnector;
}
/** The version. */
- public static final Version VERSION = new Version(0, 8, 4);
+ public static final Version VERSION = new Version(0, 8, 9);
/** The logger. */
private static final Logger logger = Logging.getLogger(SonePlugin.class);
}
}
- 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. */
@Override
protected void configure() {
+ bind(Core.class).in(Singleton.class);
+ bind(MemoryDatabase.class).in(Singleton.class);
bind(EventBus.class).toInstance(eventBus);
bind(Configuration.class).toInstance(startConfiguration);
bind(FreenetInterface.class).in(Singleton.class);
bind(String.class).annotatedWith(Names.named("WebOfTrustContext")).toInstance("Sone");
bind(SonePlugin.class).toInstance(SonePlugin.this);
bind(FcpInterface.class).in(Singleton.class);
- bind(PostBuilderFactory.class).to(DefaultPostBuilderFactory.class).in(Singleton.class);
+ bind(Database.class).to(MemoryDatabase.class);
+ bind(PostBuilderFactory.class).to(MemoryDatabase.class);
+ bind(PostReplyBuilderFactory.class).to(MemoryDatabase.class);
+ bind(SoneProvider.class).to(Core.class).in(Singleton.class);
+ bind(PostProvider.class).to(MemoryDatabase.class);
bindListener(Matchers.any(), new TypeListener() {
@Override
/* 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);