Sha256: c6b4b2054663eafe176e671af351e3ccce2e93c87054dd5e729dca483a0df634

Contents?: true

Size: 1.99 KB

Versions: 3

Compression:

Stored size: 1.99 KB

Contents

package org.embulk.standards;

import org.embulk.config.ConfigSource;
import org.embulk.config.TaskSource;
import org.embulk.config.NextConfig;
import org.embulk.config.CommitReport;
import org.embulk.config.Task;
import org.embulk.spi.time.TimestampFormatter;
import org.embulk.spi.Schema;
import org.embulk.spi.SchemaVisitor;
import org.embulk.spi.Column;
import org.embulk.spi.Page;
import org.embulk.spi.Exec;
import org.embulk.spi.OutputPlugin;
import org.embulk.spi.TransactionalPageOutput;
import org.embulk.spi.PageReader;
import org.embulk.spi.util.PagePrinter;

public class StdoutOutputPlugin
        implements OutputPlugin
{
    public interface PluginTask
            extends Task, TimestampFormatter.FormatterTask
    {
    }

    @Override
    public NextConfig transaction(ConfigSource config,
            Schema schema, int processorCount,
            OutputPlugin.Control control)
    {
        final PluginTask task = config.loadConfig(PluginTask.class);
        control.run(task.dump());
        return Exec.newNextConfig();
    }

    @Override
    public TransactionalPageOutput open(TaskSource taskSource, final Schema schema,
            int processorIndex)
    {
        final PluginTask task = taskSource.loadTask(PluginTask.class);

        return new TransactionalPageOutput() {
            private final PageReader reader = new PageReader(schema);
            private final PagePrinter printer = new PagePrinter(schema, task);

            public void add(Page page)
            {
                reader.setPage(page);
                while (reader.nextRecord()) {
                    System.out.println(printer.printRecord(reader, ","));
                }
                page.release();
            }

            public void finish()
            {
                System.out.flush();
            }

            public void close() { }

            public void abort() { }

            public CommitReport commit()
            {
                return Exec.newCommitReport();
            }
        };
    }
}

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
embulk-0.2.1 embulk-standards/src/main/java/org/embulk/standards/StdoutOutputPlugin.java
embulk-0.2.0 embulk-standards/src/main/java/org/embulk/standards/StdoutOutputPlugin.java
embulk-0.1.0 embulk-standards/src/main/java/org/embulk/standards/StdoutOutputPlugin.java