Sha256: 50b45d396b6e3418904438c8bbfe6ba885604e082c520b5198c01694005c10cd

Contents?: true

Size: 1.92 KB

Versions: 12

Compression:

Stored size: 1.92 KB

Contents

package org.embulk.parser;

import java.nio.charset.StandardCharsets;
import java.util.List;

import org.embulk.config.ConfigDiff;
import org.embulk.config.ConfigSource;
import org.embulk.config.Task;
import org.embulk.config.TaskReport;
import org.embulk.config.TaskSource;
import org.embulk.spi.Buffer;
import org.embulk.spi.Exec;
import org.embulk.spi.FileInputPlugin;
import org.embulk.spi.TransactionalFileInput;

public class EmbulkTestFileInputPlugin implements FileInputPlugin {

	public static final String TYPE = "EmbulkTestFileInputPlugin";

	public interface PluginTask extends Task {
	}

	private List<String> list;

	public void setText(List<String> list) {
		this.list = list;
	}

	@Override
	public ConfigDiff transaction(ConfigSource config, FileInputPlugin.Control control) {
		PluginTask task = config.loadConfig(PluginTask.class);

		int taskCount = 1;
		return resume(task.dump(), taskCount, control);
	}

	@Override
	public ConfigDiff resume(TaskSource taskSource, int taskCount, FileInputPlugin.Control control) {
		control.run(taskSource, taskCount);
		return Exec.newConfigDiff();
	}

	@Override
	public void cleanup(TaskSource taskSource, int taskCount, List<TaskReport> successTaskReports) {
	}

	@Override
	public TransactionalFileInput open(TaskSource taskSource, int taskIndex) {
		return new TransactionalFileInput() {
			private boolean eof = false;
			private int index = 0;

			@Override
			public Buffer poll() {
				if (index < list.size()) {
					String s = list.get(index++) + "\n";
					return Buffer.copyOf(s.getBytes(StandardCharsets.UTF_8));
				}

				eof = true;
				return null;
			}

			@Override
			public boolean nextFile() {
				return !eof;
			}

			@Override
			public void close() {
			}

			@Override
			public void abort() {
			}

			@Override
			public TaskReport commit() {
				return Exec.newTaskReport();
			}
		};
	}
}

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
embulk-parser-poi_excel-0.1.13 src/test/java/org/embulk/parser/EmbulkTestFileInputPlugin.java
embulk-parser-poi_excel-0.1.12 src/test/java/org/embulk/parser/EmbulkTestFileInputPlugin.java
embulk-parser-poi_excel-0.1.11 src/test/java/org/embulk/parser/EmbulkTestFileInputPlugin.java
embulk-parser-poi_excel-0.1.10 src/test/java/org/embulk/parser/EmbulkTestFileInputPlugin.java
embulk-parser-poi_excel-0.1.7 src/test/java/org/embulk/parser/EmbulkTestFileInputPlugin.java
embulk-parser-poi_excel-0.1.6 src/test/java/org/embulk/parser/EmbulkTestFileInputPlugin.java
embulk-parser-poi_excel-0.1.5 src/test/java/org/embulk/parser/EmbulkTestFileInputPlugin.java
embulk-parser-poi_excel-0.1.4 src/test/java/org/embulk/parser/EmbulkTestFileInputPlugin.java
embulk-parser-poi_excel-0.1.3 src/test/java/org/embulk/parser/EmbulkTestFileInputPlugin.java
embulk-parser-poi_excel-0.1.2 src/test/java/org/embulk/parser/EmbulkTestFileInputPlugin.java
embulk-parser-poi_excel-0.1.1 src/test/java/org/embulk/parser/EmbulkTestFileInputPlugin.java
embulk-parser-poi_excel-0.1.0 src/test/java/org/embulk/parser/EmbulkTestFileInputPlugin.java