diff --git a/graylog-plugin-function-base64inflate/src/main/java/org/graylog/plugins/custom/Base64InflateFunctionModule.java b/graylog-plugin-function-base64inflate/src/main/java/org/graylog/plugins/custom/Base64InflateFunctionModule.java index eee45e3..8b97531 100644 --- a/graylog-plugin-function-base64inflate/src/main/java/org/graylog/plugins/custom/Base64InflateFunctionModule.java +++ b/graylog-plugin-function-base64inflate/src/main/java/org/graylog/plugins/custom/Base64InflateFunctionModule.java @@ -16,9 +16,14 @@ */ package org.graylog.plugins.custom; +import com.google.inject.Binder; +import com.google.inject.TypeLiteral; +import com.google.inject.multibindings.MapBinder; +import org.graylog.plugins.pipelineprocessor.ast.functions.Function; import org.graylog2.plugin.PluginConfigBean; import org.graylog2.plugin.PluginModule; + import java.util.Collections; import java.util.Set; @@ -31,6 +36,7 @@ public class Base64InflateFunctionModule extends PluginModule { * * Implementing this method is optional. The default method returns an empty {@link Set}. */ + @Override public Set getConfigBeans() { return Collections.emptySet(); @@ -38,23 +44,17 @@ public class Base64InflateFunctionModule extends PluginModule { @Override protected void configure() { - /* - * Register your plugin types here. - * - * Examples: - * - * addMessageInput(Class); - * addMessageFilter(Class); - * addMessageOutput(Class); - * addPeriodical(Class); - * addAlarmCallback(Class); - * addInitializer(Class); - * addRestResource(Class); - * - * - * Add all configuration beans returned by getConfigBeans(): - * - * addConfigBeans(); - */ + addMessageProcessorFunction(Base64InflateFunction.NAME, Base64InflateFunction.class); + } + protected void addMessageProcessorFunction(String name, Class> functionClass) { + addMessageProcessorFunction(binder(), name, functionClass); + } + + public static MapBinder> processorFunctionBinder(Binder binder) { + return MapBinder.newMapBinder(binder, TypeLiteral.get(String.class), new TypeLiteral>() {}); + } + + public static void addMessageProcessorFunction(Binder binder, String name, Class> functionClass) { + processorFunctionBinder(binder).addBinding(name).to(functionClass); } } diff --git a/graylog-plugin-function-base64inflate/target/classes/org/graylog/plugins/custom/Base64InflateFunctionModule$1.class b/graylog-plugin-function-base64inflate/target/classes/org/graylog/plugins/custom/Base64InflateFunctionModule$1.class new file mode 100644 index 0000000..0205561 Binary files /dev/null and b/graylog-plugin-function-base64inflate/target/classes/org/graylog/plugins/custom/Base64InflateFunctionModule$1.class differ diff --git a/graylog-plugin-function-base64inflate/target/classes/org/graylog/plugins/custom/Base64InflateFunctionModule.class b/graylog-plugin-function-base64inflate/target/classes/org/graylog/plugins/custom/Base64InflateFunctionModule.class index 58b74e4..aca584e 100644 Binary files a/graylog-plugin-function-base64inflate/target/classes/org/graylog/plugins/custom/Base64InflateFunctionModule.class and b/graylog-plugin-function-base64inflate/target/classes/org/graylog/plugins/custom/Base64InflateFunctionModule.class differ diff --git a/graylog-plugin-function-base64inflate/target/graylog-plugin-function-base64inflate-1.0.0-SNAPSHOT.jar b/graylog-plugin-function-base64inflate/target/graylog-plugin-function-base64inflate-1.0.0-SNAPSHOT.jar index 9ec4c69..bc2d8ba 100644 Binary files a/graylog-plugin-function-base64inflate/target/graylog-plugin-function-base64inflate-1.0.0-SNAPSHOT.jar and b/graylog-plugin-function-base64inflate/target/graylog-plugin-function-base64inflate-1.0.0-SNAPSHOT.jar differ diff --git a/graylog-plugin-function-base64inflate/target/original-graylog-plugin-function-base64inflate-1.0.0-SNAPSHOT.jar b/graylog-plugin-function-base64inflate/target/original-graylog-plugin-function-base64inflate-1.0.0-SNAPSHOT.jar index ec2abcb..ee07719 100644 Binary files a/graylog-plugin-function-base64inflate/target/original-graylog-plugin-function-base64inflate-1.0.0-SNAPSHOT.jar and b/graylog-plugin-function-base64inflate/target/original-graylog-plugin-function-base64inflate-1.0.0-SNAPSHOT.jar differ