From 48d220003f4a0b66171fefd0dad54e4827b9915c Mon Sep 17 00:00:00 2001 From: Gregor Jarisch Date: Mon, 17 Jul 2017 14:47:40 +0200 Subject: [PATCH] improved initialization of parser and callback module --- conversationcallback-impl/pom.xml | 5 +++++ .../callback/bootstrap/ConversationCallbackModule.java | 8 ++++++++ .../src/main/java/ai/labs/core/bootstrap/CoreModule.java | 4 ---- .../ai/labs/parser/bootstrap/SemanticParserModule.java | 6 ++++++ 4 files changed, 19 insertions(+), 4 deletions(-) diff --git a/conversationcallback-impl/pom.xml b/conversationcallback-impl/pom.xml index 162d62dcc..6eae8b5f7 100644 --- a/conversationcallback-impl/pom.xml +++ b/conversationcallback-impl/pom.xml @@ -41,6 +41,11 @@ httpclient-definition ${project.version} + + com.google.inject.extensions + guice-multibindings + 4.1.0 + diff --git a/conversationcallback-impl/src/main/java/ai/labs/callback/bootstrap/ConversationCallbackModule.java b/conversationcallback-impl/src/main/java/ai/labs/callback/bootstrap/ConversationCallbackModule.java index af2cd22cf..3e42f5370 100644 --- a/conversationcallback-impl/src/main/java/ai/labs/callback/bootstrap/ConversationCallbackModule.java +++ b/conversationcallback-impl/src/main/java/ai/labs/callback/bootstrap/ConversationCallbackModule.java @@ -2,8 +2,11 @@ import ai.labs.callback.IConversationCallback; import ai.labs.callback.http.ConversationCallback; +import ai.labs.callback.impl.ConversationCallbackTask; +import ai.labs.lifecycle.ILifecycleTask; import ai.labs.runtime.bootstrap.AbstractBaseModule; import com.google.inject.Scopes; +import com.google.inject.multibindings.MapBinder; import java.io.InputStream; @@ -20,5 +23,10 @@ protected void configure() { registerConfigFiles(configFiles); bind(IConversationCallback.class).to(ConversationCallback.class).in(Scopes.SINGLETON); + + MapBinder lifecycleTaskPlugins + = MapBinder.newMapBinder(binder(), String.class, ILifecycleTask.class); + lifecycleTaskPlugins.addBinding("ai.labs.callback").to(ConversationCallbackTask.class); + } } diff --git a/coreserver/src/main/java/ai/labs/core/bootstrap/CoreModule.java b/coreserver/src/main/java/ai/labs/core/bootstrap/CoreModule.java index 1b0790dd8..cc9be7015 100644 --- a/coreserver/src/main/java/ai/labs/core/bootstrap/CoreModule.java +++ b/coreserver/src/main/java/ai/labs/core/bootstrap/CoreModule.java @@ -1,6 +1,5 @@ package ai.labs.core.bootstrap; -import ai.labs.callback.impl.ConversationCallbackTask; import ai.labs.core.CoreRuntime; import ai.labs.core.behavior.BehaviorRulesEvaluationTask; import ai.labs.core.behavior.BehaviorSerialization; @@ -10,7 +9,6 @@ import ai.labs.core.rest.internal.RestBotAdministration; import ai.labs.core.rest.internal.RestBotEngine; import ai.labs.lifecycle.ILifecycleTask; -import ai.labs.parser.InputParserTask; import ai.labs.rest.rest.IRestBotAdministration; import ai.labs.rest.rest.IRestBotEngine; import ai.labs.runtime.IConversationCoordinator; @@ -41,10 +39,8 @@ protected void configure() { MapBinder lifecycleTaskPlugins = MapBinder.newMapBinder(binder(), String.class, ILifecycleTask.class); lifecycleTaskPlugins.addBinding("ai.labs.normalizer").to(NormalizeInputTask.class); - lifecycleTaskPlugins.addBinding("ai.labs.parser").to(InputParserTask.class); lifecycleTaskPlugins.addBinding("ai.labs.behavior").to(BehaviorRulesEvaluationTask.class); lifecycleTaskPlugins.addBinding("ai.labs.output").to(SimpleOutputTask.class); - lifecycleTaskPlugins.addBinding("ai.labs.callback").to(ConversationCallbackTask.class); bind(CoreRuntime.class).asEagerSingleton(); } diff --git a/semanticparser-impl/src/main/java/ai/labs/parser/bootstrap/SemanticParserModule.java b/semanticparser-impl/src/main/java/ai/labs/parser/bootstrap/SemanticParserModule.java index f11e7c339..c4c99bb54 100644 --- a/semanticparser-impl/src/main/java/ai/labs/parser/bootstrap/SemanticParserModule.java +++ b/semanticparser-impl/src/main/java/ai/labs/parser/bootstrap/SemanticParserModule.java @@ -1,8 +1,11 @@ package ai.labs.parser.bootstrap; +import ai.labs.lifecycle.ILifecycleTask; +import ai.labs.parser.InputParserTask; import ai.labs.parser.rest.IRestSemanticParser; import ai.labs.parser.rest.impl.RestSemanticParser; import ai.labs.runtime.bootstrap.AbstractBaseModule; +import com.google.inject.multibindings.MapBinder; /** * @author ginccc @@ -12,5 +15,8 @@ public class SemanticParserModule extends AbstractBaseModule { @Override protected void configure() { bind(IRestSemanticParser.class).to(RestSemanticParser.class); + MapBinder lifecycleTaskPlugins + = MapBinder.newMapBinder(binder(), String.class, ILifecycleTask.class); + lifecycleTaskPlugins.addBinding("ai.labs.parser").to(InputParserTask.class); } }