Sha256: 6da641da6ff1270c84a9bdfbd8135ce10a862a3abb5a449852eb8690d92179c1

Contents?: true

Size: 1.74 KB

Versions: 23

Compression:

Stored size: 1.74 KB

Contents

package org.embulk.exec;

import org.slf4j.ILoggerFactory;
import com.google.common.base.Preconditions;
import com.google.inject.Module;
import com.google.inject.name.Names;
import com.google.inject.Binder;
import com.google.inject.Scopes;
import com.fasterxml.jackson.module.guice.ObjectMapperModule;
import com.fasterxml.jackson.datatype.guava.GuavaModule;
import com.fasterxml.jackson.datatype.joda.JodaModule;
import org.embulk.config.ModelManager;
import org.embulk.spi.time.DateTimeZoneSerDe;
import org.embulk.spi.time.TimestampSerDe;
import org.embulk.spi.ParserPlugin;
import org.embulk.spi.BufferAllocator;
import org.embulk.spi.util.CharsetSerDe;
import static org.embulk.plugin.InjectedPluginSource.registerPluginTo;

public class ExecModule
        implements Module
{
    @Override
    public void configure(Binder binder)
    {
        Preconditions.checkNotNull(binder, "binder is null.");

        binder.bind(ILoggerFactory.class).toProvider(LoggerProvider.class);
        binder.bind(ModelManager.class).in(Scopes.SINGLETON);
        binder.bind(BufferAllocator.class).to(PooledBufferAllocator.class).in(Scopes.SINGLETON);

        // GuessExecutor
        registerPluginTo(binder, ParserPlugin.class, "system_guess", GuessExecutor.GuessParserPlugin.class);
        registerPluginTo(binder, ParserPlugin.class, "system_sampling", SamplingParserPlugin.class);

        // serde
        ObjectMapperModule mapper = new ObjectMapperModule();
        DateTimeZoneSerDe.configure(mapper);
        TimestampSerDe.configure(mapper);
        CharsetSerDe.configure(mapper);
        mapper.registerModule(new GuavaModule());  // jackson-datatype-guava
        mapper.registerModule(new JodaModule());  // jackson-datatype-joda
        mapper.configure(binder);
    }
}

Version data entries

23 entries across 23 versions & 1 rubygems

Version Path
embulk-0.5.5 embulk-core/src/main/java/org/embulk/exec/ExecModule.java
embulk-0.5.4 embulk-core/src/main/java/org/embulk/exec/ExecModule.java
embulk-0.5.3 embulk-core/src/main/java/org/embulk/exec/ExecModule.java
embulk-0.5.2 embulk-core/src/main/java/org/embulk/exec/ExecModule.java
embulk-0.5.1 embulk-core/src/main/java/org/embulk/exec/ExecModule.java
embulk-0.5.0 embulk-core/src/main/java/org/embulk/exec/ExecModule.java
embulk-0.4.10 embulk-core/src/main/java/org/embulk/exec/ExecModule.java
embulk-0.4.9 embulk-core/src/main/java/org/embulk/exec/ExecModule.java
embulk-0.4.8 embulk-core/src/main/java/org/embulk/exec/ExecModule.java
embulk-0.4.7 embulk-core/src/main/java/org/embulk/exec/ExecModule.java
embulk-0.4.6 embulk-core/src/main/java/org/embulk/exec/ExecModule.java
embulk-0.4.5 embulk-core/src/main/java/org/embulk/exec/ExecModule.java
embulk-0.4.4 embulk-core/src/main/java/org/embulk/exec/ExecModule.java
embulk-0.4.3 embulk-core/src/main/java/org/embulk/exec/ExecModule.java
embulk-0.4.2 embulk-core/src/main/java/org/embulk/exec/ExecModule.java
embulk-0.4.1 embulk-core/src/main/java/org/embulk/exec/ExecModule.java
embulk-0.4.0 embulk-core/src/main/java/org/embulk/exec/ExecModule.java
embulk-0.3.2 embulk-core/src/main/java/org/embulk/exec/ExecModule.java
embulk-0.3.1 embulk-core/src/main/java/org/embulk/exec/ExecModule.java
embulk-0.3.0 embulk-core/src/main/java/org/embulk/exec/ExecModule.java