X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fmain%2Fkotlin%2Fnet%2Fpterodactylus%2Fsone%2Fmain%2FSoneModule.kt;h=8a3b0c21e02758854c1eee6669428a3096e248b5;hb=c72d9f81be5d2f996fc30ac1c4dd01d1ea46a5fa;hp=a3fe9be9abd52c4dc65e41bbf7b9caa6a0e9f331;hpb=04709e23f38e9d447337682ba27201da5dc19bd9;p=Sone.git diff --git a/src/main/kotlin/net/pterodactylus/sone/main/SoneModule.kt b/src/main/kotlin/net/pterodactylus/sone/main/SoneModule.kt index a3fe9be..8a3b0c2 100644 --- a/src/main/kotlin/net/pterodactylus/sone/main/SoneModule.kt +++ b/src/main/kotlin/net/pterodactylus/sone/main/SoneModule.kt @@ -1,5 +1,6 @@ package net.pterodactylus.sone.main +import com.codahale.metrics.* import com.google.common.base.* import com.google.common.eventbus.* import com.google.inject.* @@ -8,13 +9,16 @@ import com.google.inject.name.Names.* import com.google.inject.spi.* import net.pterodactylus.sone.database.* import net.pterodactylus.sone.database.memory.* +import net.pterodactylus.sone.freenet.* import net.pterodactylus.sone.freenet.wot.* import net.pterodactylus.util.config.* import net.pterodactylus.util.config.ConfigurationException +import net.pterodactylus.util.logging.* import net.pterodactylus.util.version.Version import java.io.* +import java.util.logging.* -class SoneModule(private val sonePlugin: SonePlugin) : AbstractModule() { +open class SoneModule(private val sonePlugin: SonePlugin, private val eventBus: EventBus) : AbstractModule() { override fun configure() { val sonePropertiesFile = File("sone.properties") @@ -35,7 +39,6 @@ class SoneModule(private val sonePlugin: SonePlugin) : AbstractModule() { .getValue(null) ?.let { DebugLoaders(it) } } - val eventBus = EventBus() bind(Configuration::class.java).toInstance(configuration) bind(EventBus::class.java).toInstance(eventBus) @@ -44,20 +47,28 @@ class SoneModule(private val sonePlugin: SonePlugin) : AbstractModule() { bind(Context::class.java).toInstance(context) bind(object : TypeLiteral>() {}).toInstance(Optional.of(context)) bind(SonePlugin::class.java).toInstance(sonePlugin) - bind(Version::class.java).toInstance(sonePlugin.version.parseVersion()) + bind(Version::class.java).toInstance(sonePlugin.version.drop(1).parseVersion()) bind(PluginVersion::class.java).toInstance(PluginVersion(sonePlugin.version)) bind(PluginYear::class.java).toInstance(PluginYear(sonePlugin.year)) bind(PluginHomepage::class.java).toInstance(PluginHomepage(sonePlugin.homepage)) bind(Database::class.java).to(MemoryDatabase::class.java).`in`(Singleton::class.java) + bind(Translation::class.java).toInstance(BaseL10nTranslation(sonePlugin.l10n().base)) loaders?.let { bind(Loaders::class.java).toInstance(it) } + bind(MetricRegistry::class.java).`in`(Singleton::class.java) + bind(WebOfTrustConnector::class.java).to(PluginWebOfTrustConnector::class.java).`in`(Singleton::class.java) bindListener(Matchers.any(), object : TypeListener { override fun hear(typeLiteral: TypeLiteral, typeEncounter: TypeEncounter) { - typeEncounter.register(InjectionListener { injectee -> eventBus.register(injectee) }) + typeEncounter.register(InjectionListener { injectee -> + logger.fine { "Injecting $injectee..." } + eventBus.register(injectee) + }) } }) } + private val logger: Logger = Logging.getLogger(javaClass) + } private fun String.parseVersion(): Version = Version.parse(this)