use of com.google.inject.assistedinject.FactoryModuleBuilder in project graylog2-server by Graylog2.
the class Graylog2Module method installSearchResponseDecorator.
protected void installSearchResponseDecorator(MapBinder<String, SearchResponseDecorator.Factory> searchResponseDecoratorBinder, Class<? extends SearchResponseDecorator> searchResponseDecoratorClass, Class<? extends SearchResponseDecorator.Factory> searchResponseDecoratorFactoryClass) {
install(new FactoryModuleBuilder().implement(SearchResponseDecorator.class, searchResponseDecoratorClass).build(searchResponseDecoratorFactoryClass));
searchResponseDecoratorBinder.addBinding(searchResponseDecoratorClass.getCanonicalName()).to(searchResponseDecoratorFactoryClass);
}
use of com.google.inject.assistedinject.FactoryModuleBuilder in project graylog2-server by Graylog2.
the class Graylog2Module method installAlertConditionWithCustomName.
protected void installAlertConditionWithCustomName(MapBinder<String, AlertCondition.Factory> alertConditionBinder, String identifier, Class<? extends AlertCondition> alertConditionClass, Class<? extends AlertCondition.Factory> alertConditionFactoryClass) {
install(new FactoryModuleBuilder().implement(AlertCondition.class, alertConditionClass).build(alertConditionFactoryClass));
alertConditionBinder.addBinding(identifier).to(alertConditionFactoryClass);
}
use of com.google.inject.assistedinject.FactoryModuleBuilder in project graylog2-server by Graylog2.
the class Graylog2Module method installOutput2.
// This should be used by plugins that have been built for 3.0.1 or later.
// See comments in MessageOutput.Factory and MessageOutput.Factory2 for details
protected <T extends MessageOutput> void installOutput2(MapBinder<String, MessageOutput.Factory2<? extends MessageOutput>> outputMapBinder, Class<T> target, Class<? extends MessageOutput.Factory2<T>> targetFactory) {
install(new FactoryModuleBuilder().implement(MessageOutput.class, target).build(targetFactory));
outputMapBinder.addBinding(target.getCanonicalName()).to(Key.get(targetFactory));
}
use of com.google.inject.assistedinject.FactoryModuleBuilder in project graylog2-server by Graylog2.
the class GenericBindings method configure.
@Override
protected void configure() {
// must not be a singleton!
bind(LocalMetricRegistry.class).in(Scopes.NO_SCOPE);
install(new FactoryModuleBuilder().build(DecodingProcessor.Factory.class));
bind(ProcessBuffer.class).asEagerSingleton();
if (isMigrationCommand) {
bind(InputBuffer.class).to(NoopInputBuffer.class);
} else {
bind(InputBuffer.class).to(InputBufferImpl.class);
}
bind(NodeId.class).toProvider(NodeIdProvider.class);
if (!isMigrationCommand) {
bind(ServiceManager.class).toProvider(ServiceManagerProvider.class).asEagerSingleton();
}
bind(ThroughputCounter.class);
bind(EventBus.class).toProvider(EventBusProvider.class).in(Scopes.SINGLETON);
bind(Semaphore.class).annotatedWith(Names.named("JournalSignal")).toInstance(new Semaphore(0));
install(new FactoryModuleBuilder().build(new TypeLiteral<IOState.Factory<MessageInput>>() {
}));
bind(InputRegistry.class).asEagerSingleton();
bind(OkHttpClient.class).toProvider(OkHttpClientProvider.class).asEagerSingleton();
bind(MimetypesFileTypeMap.class).toInstance(new MimetypesFileTypeMap());
bind(ExecutorService.class).annotatedWith(Names.named("proxiedRequestsExecutorService")).toProvider(ProxiedRequestsExecutorService.class).asEagerSingleton();
bind(FailureHandler.class).annotatedWith(Names.named("fallbackFailureHandler")).to(DefaultFailureHandler.class).asEagerSingleton();
Multibinder.newSetBinder(binder(), FailureHandler.class);
OptionalBinder.newOptionalBinder(binder(), FailureHandlingConfiguration.class).setDefault().to(DefaultFailureHandlingConfiguration.class);
final MapBinder<String, IndexTemplateProvider> indexTemplateProviderBinder = MapBinder.newMapBinder(binder(), String.class, IndexTemplateProvider.class);
indexTemplateProviderBinder.addBinding(MessageIndexTemplateProvider.MESSAGE_TEMPLATE_TYPE).to(MessageIndexTemplateProvider.class);
indexTemplateProviderBinder.addBinding(EventIndexTemplateProvider.EVENT_TEMPLATE_TYPE).to(EventIndexTemplateProvider.class);
serviceBinder().addBinding().to(FailureHandlingService.class).in(Scopes.SINGLETON);
}
use of com.google.inject.assistedinject.FactoryModuleBuilder in project graylog2-server by Graylog2.
the class SecurityBindings method configure.
@Override
protected void configure() {
bind(EncryptedValueService.class).asEagerSingleton();
bind(Permissions.class).asEagerSingleton();
bind(SessionCreator.class).in(Scopes.SINGLETON);
addPermissions(RestPermissions.class);
addInitializer(UserSessionTerminationService.class);
install(new FactoryModuleBuilder().implement(TrustManager.class, DefaultX509TrustManager.class).build(TrustManagerProvider.class));
OptionalBinder.newOptionalBinder(binder(), ActorAwareAuthenticationTokenFactory.class).setDefault().to(ActorAwareUsernamePasswordTokenFactory.class);
OptionalBinder.newOptionalBinder(binder(), SessionResponseFactory.class).setDefault().to(DefaultSessionResponseFactory.class);
}
Aggregations