package crate.elasticsearch.module.import_;
import crate.elasticsearch.action.import_.ImportAction;
import crate.elasticsearch.action.import_.TransportImportAction;
import crate.elasticsearch.action.import_.parser.ImportParser;
import crate.elasticsearch.import_.Importer;
import org.elasticsearch.action.GenericAction;
import org.elasticsearch.action.support.TransportAction;
import org.elasticsearch.common.inject.AbstractModule;
import org.elasticsearch.common.inject.multibindings.MapBinder;
public class ImportModule extends AbstractModule {
@Override
protected void configure() {
bind(TransportImportAction.class).asEagerSingleton();
bind(ImportParser.class).asEagerSingleton();
bind(Importer.class).asEagerSingleton();
MapBinder<GenericAction, TransportAction> transportActionsBinder = MapBinder.newMapBinder(binder(), GenericAction.class, TransportAction.class);
transportActionsBinder.addBinding(ImportAction.INSTANCE).to(TransportImportAction.class).asEagerSingleton();
MapBinder<String, GenericAction> actionsBinder = MapBinder.newMapBinder(binder(), String.class, GenericAction.class);
actionsBinder.addBinding(ImportAction.NAME).toInstance(ImportAction.INSTANCE);
}
}