use of io.datarouter.storage.config.guice.DatarouterStorageGuiceModule in project datarouter by hotpads.
the class DatarouterWebGuiceModule method configureServlets.
@Override
protected void configureServlets() {
install(new DatarouterSecretPluginBuilderImpl().build().getAsDefaultBinderModule());
install(new DatarouterStorageGuiceModule());
bind(ServletContextSupplier.class).toInstance(new ServletContextProvider(getServletContext()));
bind(JsonSerializer.class).annotatedWith(Names.named(HandlerEncoder.DEFAULT_HANDLER_SERIALIZER)).to(GsonJsonSerializer.class);
bind(PortIdentifier.class).annotatedWith(Names.named(CompoundPortIdentifier.COMPOUND_PORT_IDENTIFIER)).to(CompoundPortIdentifier.class);
bindDefault(DatarouterAuthenticationConfig.class, BaseDatarouterAuthenticationConfig.class);
bindDefaultInstance(ServiceName.class, new ServiceName(""));
bindDefaultInstance(PublicDomain.class, new PublicDomain(""));
bindDefaultInstance(PrivateDomain.class, new PrivateDomain(""));
bindDefaultInstance(ContextName.class, new ContextName(""));
bindDefault(BaseDatarouterSessionDao.class, NoOpDatarouterSessionDao.class);
bindDefault(BaseDatarouterSamlDao.class, NoOpDatarouterSamlDao.class);
bindDefault(ExceptionRecorder.class, NoOpExceptionRecorder.class);
optionalBinder(AppNavBar.class);
bindDefault(RoleManager.class, DatarouterRoleManager.class);
optionalBinder(SamlRegistrar.class);
bindDefault(SettingFinder.class, MemorySettingFinder.class);
bindDefault(UserSessionService.class, NoOpUserSessionService.class);
bindDefault(CurrentSessionInfo.class, NoOpCurrentSessionInfo.class);
bindDefault(LatencyMonitoringGraphLink.class, NoOpLatencyMonitoringGraphLink.class);
bindDefault(AppNavBarRegistrySupplier.class, NoOpAppNavBarRegistry.class);
bindDefault(ChangelogRecorder.class, NoOpChangelogRecorder.class);
// define as singleton for everybody
bind(Gson.class).toInstance(GsonTool.GSON);
bindDefaultInstance(DefaultEmailDistributionListZoneId.class, new DefaultEmailDistributionListZoneId(ZoneId.systemDefault()));
}
Aggregations