embulk 0.6.27 → 0.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.ruby-version +1 -0
- data/Gemfile.lock +6 -1
- data/README.md +4 -4
- data/bin/embulk +39 -17
- data/build.gradle +23 -8
- data/embulk-cli/src/main/java/org/embulk/cli/Main.java +11 -2
- data/embulk-core/build.gradle +9 -4
- data/embulk-core/src/main/java/org/embulk/EmbulkEmbed.java +160 -61
- data/embulk-core/src/main/java/org/embulk/EmbulkService.java +1 -0
- data/embulk-core/src/main/java/org/embulk/command/TablePreviewPrinter.java +0 -1
- data/embulk-core/src/main/java/org/embulk/config/CommitReport.java +5 -1
- data/embulk-core/src/main/java/org/embulk/config/ConfigLoader.java +28 -7
- data/embulk-core/src/main/java/org/embulk/config/DataSourceImpl.java +1 -4
- data/embulk-core/src/main/java/org/embulk/config/DataSourceSerDe.java +6 -3
- data/embulk-core/src/main/java/org/embulk/config/ModelManager.java +0 -2
- data/embulk-core/src/main/java/org/embulk/config/TaskReport.java +29 -0
- data/embulk-core/src/main/java/org/embulk/exec/BulkLoader.java +42 -45
- data/embulk-core/src/main/java/org/embulk/exec/ExecModule.java +0 -1
- data/embulk-core/src/main/java/org/embulk/exec/GuessExecutor.java +4 -7
- data/embulk-core/src/main/java/org/embulk/exec/LocalExecutorPlugin.java +5 -6
- data/embulk-core/src/main/java/org/embulk/exec/LoggerProvider.java +0 -1
- data/embulk-core/src/main/java/org/embulk/exec/PooledBufferAllocator.java +0 -3
- data/embulk-core/src/main/java/org/embulk/exec/PreviewExecutor.java +2 -2
- data/embulk-core/src/main/java/org/embulk/exec/ResumeState.java +26 -9
- data/embulk-core/src/main/java/org/embulk/exec/SamplingParserPlugin.java +2 -4
- data/embulk-core/src/main/java/org/embulk/guice/Bootstrap.java +12 -5
- data/embulk-core/src/main/java/org/embulk/guice/CloseableInjector.java +1 -1
- data/embulk-core/src/main/java/org/embulk/guice/LifeCycleInjector.java +26 -0
- data/embulk-core/src/main/java/org/embulk/guice/{CloseableInjectorProxy.java → LifeCycleInjectorProxy.java} +20 -6
- data/embulk-core/src/main/java/org/embulk/jruby/JRubyScriptingModule.java +10 -12
- data/embulk-core/src/main/java/org/embulk/plugin/PluginClassLoaderModule.java +0 -1
- data/embulk-core/src/main/java/org/embulk/plugin/PluginManager.java +14 -1
- data/embulk-core/src/main/java/org/embulk/plugin/compat/InputPluginWrapper.java +102 -0
- data/embulk-core/src/main/java/org/embulk/plugin/compat/PluginWrappers.java +30 -0
- data/embulk-core/src/main/java/org/embulk/plugin/compat/TransactionalFileInputWrapper.java +96 -0
- data/embulk-core/src/main/java/org/embulk/plugin/compat/TransactionalFileOutputWrapper.java +102 -0
- data/embulk-core/src/main/java/org/embulk/plugin/compat/TransactionalPageOutputWrapper.java +95 -0
- data/embulk-core/src/main/java/org/embulk/spi/ColumnConfig.java +0 -2
- data/embulk-core/src/main/java/org/embulk/spi/Exec.java +8 -2
- data/embulk-core/src/main/java/org/embulk/spi/ExecSession.java +7 -1
- data/embulk-core/src/main/java/org/embulk/spi/Extension.java +2 -2
- data/embulk-core/src/main/java/org/embulk/spi/FileInputPlugin.java +3 -3
- data/embulk-core/src/main/java/org/embulk/spi/FileInputRunner.java +12 -10
- data/embulk-core/src/main/java/org/embulk/spi/FileOutputPlugin.java +3 -3
- data/embulk-core/src/main/java/org/embulk/spi/FileOutputRunner.java +11 -9
- data/embulk-core/src/main/java/org/embulk/spi/FilterPlugin.java +0 -3
- data/embulk-core/src/main/java/org/embulk/spi/InputPlugin.java +4 -4
- data/embulk-core/src/main/java/org/embulk/spi/OutputPlugin.java +3 -3
- data/embulk-core/src/main/java/org/embulk/spi/PageReader.java +0 -1
- data/embulk-core/src/main/java/org/embulk/spi/ProcessTask.java +0 -5
- data/embulk-core/src/main/java/org/embulk/spi/SchemaConfig.java +0 -1
- data/embulk-core/src/main/java/org/embulk/spi/TaskState.java +19 -4
- data/embulk-core/src/main/java/org/embulk/spi/TempFileSpace.java +0 -3
- data/embulk-core/src/main/java/org/embulk/spi/Transactional.java +2 -2
- data/embulk-core/src/main/java/org/embulk/spi/TransactionalFileInput.java +2 -2
- data/embulk-core/src/main/java/org/embulk/spi/TransactionalFileOutput.java +2 -2
- data/embulk-core/src/main/java/org/embulk/spi/TransactionalPageOutput.java +2 -2
- data/embulk-core/src/main/java/org/embulk/spi/time/DateTimeZoneSerDe.java +0 -2
- data/embulk-core/src/main/java/org/embulk/spi/time/TimestampFormat.java +0 -3
- data/embulk-core/src/main/java/org/embulk/spi/time/TimestampFormatter.java +0 -1
- data/embulk-core/src/main/java/org/embulk/spi/time/TimestampParser.java +0 -1
- data/embulk-core/src/main/java/org/embulk/spi/time/TimestampSerDe.java +0 -1
- data/embulk-core/src/main/java/org/embulk/spi/type/TypeDeserializer.java +0 -3
- data/embulk-core/src/main/java/org/embulk/spi/unit/LocalFileSerDe.java +0 -3
- data/embulk-core/src/main/java/org/embulk/spi/unit/ToStringMap.java +0 -1
- data/embulk-core/src/main/java/org/embulk/spi/util/Executors.java +15 -12
- data/embulk-core/src/main/java/org/embulk/spi/util/Filters.java +0 -1
- data/embulk-core/src/test/java/org/embulk/spi/TestFileInputRunner.java +7 -7
- data/embulk-core/src/test/java/org/embulk/spi/TestFileOutputRunner.java +8 -8
- data/embulk-docs/src/built-in.rst +27 -30
- data/embulk-docs/src/conf.py +2 -2
- data/embulk-docs/src/release.rst +1 -2
- data/embulk-docs/src/release/release-0.7.0.rst +96 -0
- data/embulk-standards/src/main/java/org/embulk/standards/CsvFormatterPlugin.java +0 -4
- data/embulk-standards/src/main/java/org/embulk/standards/CsvParserPlugin.java +0 -10
- data/embulk-standards/src/main/java/org/embulk/standards/CsvTokenizer.java +1 -5
- data/embulk-standards/src/main/java/org/embulk/standards/LocalFileInputPlugin.java +4 -5
- data/embulk-standards/src/main/java/org/embulk/standards/LocalFileOutputPlugin.java +4 -5
- data/embulk-standards/src/main/java/org/embulk/standards/NullOutputPlugin.java +4 -4
- data/embulk-standards/src/main/java/org/embulk/standards/StandardPluginModule.java +0 -3
- data/embulk-standards/src/main/java/org/embulk/standards/StdoutOutputPlugin.java +4 -6
- data/embulk.gemspec +14 -1
- data/lib/embulk.rb +59 -4
- data/lib/embulk/command/embulk_bundle.rb +56 -0
- data/lib/embulk/command/embulk_main.rb +2 -0
- data/lib/embulk/command/embulk_migrate_plugin.rb +170 -0
- data/lib/embulk/command/embulk_new_plugin.rb +4 -1
- data/lib/embulk/command/embulk_run.rb +188 -227
- data/lib/embulk/data/bundle/.ruby-version +1 -0
- data/lib/embulk/data/bundle/Gemfile +4 -1
- data/lib/embulk/data/bundle/embulk/input/example.rb +4 -4
- data/lib/embulk/data/bundle/embulk/output/example.rb +4 -4
- data/lib/embulk/data/new/README.md.erb +1 -1
- data/lib/embulk/data/new/java/file_input.java.erb +4 -4
- data/lib/embulk/data/new/java/file_output.java.erb +2 -2
- data/lib/embulk/data/new/java/gradle/wrapper/gradle-wrapper.jar +0 -0
- data/lib/embulk/data/new/java/gradle/wrapper/gradle-wrapper.properties +2 -2
- data/lib/embulk/data/new/java/input.java.erb +3 -3
- data/lib/embulk/data/new/java/output.java.erb +2 -2
- data/lib/embulk/data/new/ruby/.ruby-version +1 -0
- data/lib/embulk/data/new/ruby/gemspec.erb +1 -0
- data/lib/embulk/data/new/ruby/input.rb.erb +3 -3
- data/lib/embulk/data/new/ruby/output.rb.erb +4 -4
- data/lib/embulk/data/package_data.rb +1 -15
- data/lib/embulk/guess/charset.rb +10 -1
- data/lib/embulk/input_plugin.rb +12 -12
- data/lib/embulk/java/bootstrap.rb +7 -4
- data/lib/embulk/java/imports.rb +34 -2
- data/lib/embulk/logger.rb +2 -0
- data/lib/embulk/output_plugin.rb +12 -12
- data/lib/embulk/page_builder.rb +1 -1
- data/lib/embulk/plugin.rb +0 -1
- data/lib/embulk/runner.rb +184 -0
- data/lib/embulk/version.rb +1 -1
- metadata +76 -55
- data/embulk-core/src/main/java/org/embulk/command/LiquidTemplate.java +0 -8
- data/embulk-core/src/main/java/org/embulk/command/Runner.java +0 -369
- data/embulk-docs/src/release/release-0.6.26.rst +0 -17
- data/embulk-docs/src/release/release-0.6.27.rst +0 -11
- data/lib/embulk/command/embulk.rb +0 -47
- data/lib/embulk/data/bundle/Gemfile.lock +0 -8
- data/lib/embulk/exec.rb +0 -8
- data/lib/embulk/gems.rb +0 -29
- data/lib/embulk/java/liquid_helper.rb +0 -16
|
@@ -4,13 +4,13 @@ import java.util.List;
|
|
|
4
4
|
import org.embulk.config.TaskSource;
|
|
5
5
|
import org.embulk.config.ConfigSource;
|
|
6
6
|
import org.embulk.config.ConfigDiff;
|
|
7
|
-
import org.embulk.config.
|
|
7
|
+
import org.embulk.config.TaskReport;
|
|
8
8
|
|
|
9
9
|
public interface FileOutputPlugin
|
|
10
10
|
{
|
|
11
11
|
interface Control
|
|
12
12
|
{
|
|
13
|
-
List<
|
|
13
|
+
List<TaskReport> run(TaskSource taskSource);
|
|
14
14
|
}
|
|
15
15
|
|
|
16
16
|
ConfigDiff transaction(ConfigSource config, int taskCount,
|
|
@@ -22,7 +22,7 @@ public interface FileOutputPlugin
|
|
|
22
22
|
|
|
23
23
|
void cleanup(TaskSource taskSource,
|
|
24
24
|
int taskCount,
|
|
25
|
-
List<
|
|
25
|
+
List<TaskReport> successTaskReports);
|
|
26
26
|
|
|
27
27
|
TransactionalFileOutput open(TaskSource taskSource, int taskIndex);
|
|
28
28
|
}
|
|
@@ -6,10 +6,11 @@ import org.embulk.config.Task;
|
|
|
6
6
|
import org.embulk.config.TaskSource;
|
|
7
7
|
import org.embulk.config.ConfigSource;
|
|
8
8
|
import org.embulk.config.ConfigDiff;
|
|
9
|
-
import org.embulk.config.
|
|
9
|
+
import org.embulk.config.TaskReport;
|
|
10
10
|
import org.embulk.config.Config;
|
|
11
11
|
import org.embulk.config.ConfigDefault;
|
|
12
12
|
import org.embulk.plugin.PluginType;
|
|
13
|
+
import org.embulk.plugin.compat.PluginWrappers;
|
|
13
14
|
import org.embulk.spi.util.Encoders;
|
|
14
15
|
|
|
15
16
|
public class FileOutputRunner
|
|
@@ -91,9 +92,9 @@ public class FileOutputRunner
|
|
|
91
92
|
}
|
|
92
93
|
|
|
93
94
|
@Override
|
|
94
|
-
public List<
|
|
95
|
+
public List<TaskReport> run(final TaskSource fileOutputTaskSource)
|
|
95
96
|
{
|
|
96
|
-
final List<
|
|
97
|
+
final List<TaskReport> taskReports = new ArrayList<TaskReport>();
|
|
97
98
|
Encoders.transaction(encoderPlugins, task.getEncoderConfigs(), new Encoders.Control() {
|
|
98
99
|
public void run(final List<TaskSource> encoderTaskSources)
|
|
99
100
|
{
|
|
@@ -103,20 +104,20 @@ public class FileOutputRunner
|
|
|
103
104
|
task.setFileOutputTaskSource(fileOutputTaskSource);
|
|
104
105
|
task.setEncoderTaskSources(encoderTaskSources);
|
|
105
106
|
task.setFormatterTaskSource(formatterTaskSource);
|
|
106
|
-
|
|
107
|
+
taskReports.addAll(nextControl.run(task.dump()));
|
|
107
108
|
}
|
|
108
109
|
});
|
|
109
110
|
}
|
|
110
111
|
});
|
|
111
|
-
return
|
|
112
|
+
return taskReports;
|
|
112
113
|
}
|
|
113
114
|
}
|
|
114
115
|
|
|
115
116
|
public void cleanup(TaskSource taskSource,
|
|
116
117
|
Schema schema, int taskCount,
|
|
117
|
-
List<
|
|
118
|
+
List<TaskReport> successtaskReports)
|
|
118
119
|
{
|
|
119
|
-
fileOutputPlugin.cleanup(taskSource, taskCount,
|
|
120
|
+
fileOutputPlugin.cleanup(taskSource, taskCount, successtaskReports);
|
|
120
121
|
}
|
|
121
122
|
|
|
122
123
|
@Override
|
|
@@ -130,7 +131,8 @@ public class FileOutputRunner
|
|
|
130
131
|
FileOutput fileOutput = null;
|
|
131
132
|
PageOutput output = null;
|
|
132
133
|
try {
|
|
133
|
-
fileOutput = tran =
|
|
134
|
+
fileOutput = tran = PluginWrappers.transactionalFileOutput(
|
|
135
|
+
fileOutputPlugin.open(task.getFileOutputTaskSource(), taskIndex));
|
|
134
136
|
|
|
135
137
|
fileOutput = Encoders.open(encoderPlugins, task.getEncoderTaskSources(), fileOutput);
|
|
136
138
|
output = formatterPlugin.open(task.getFormatterTaskSource(), schema, fileOutput);
|
|
@@ -191,7 +193,7 @@ public class FileOutputRunner
|
|
|
191
193
|
}
|
|
192
194
|
|
|
193
195
|
@Override
|
|
194
|
-
public
|
|
196
|
+
public TaskReport commit()
|
|
195
197
|
{
|
|
196
198
|
// TODO check finished
|
|
197
199
|
return tran.commit();
|
|
@@ -4,13 +4,13 @@ import java.util.List;
|
|
|
4
4
|
import org.embulk.config.TaskSource;
|
|
5
5
|
import org.embulk.config.ConfigSource;
|
|
6
6
|
import org.embulk.config.ConfigDiff;
|
|
7
|
-
import org.embulk.config.
|
|
7
|
+
import org.embulk.config.TaskReport;
|
|
8
8
|
|
|
9
9
|
public interface InputPlugin
|
|
10
10
|
{
|
|
11
11
|
interface Control
|
|
12
12
|
{
|
|
13
|
-
List<
|
|
13
|
+
List<TaskReport> run(TaskSource taskSource,
|
|
14
14
|
Schema schema, int taskCount);
|
|
15
15
|
}
|
|
16
16
|
|
|
@@ -23,9 +23,9 @@ public interface InputPlugin
|
|
|
23
23
|
|
|
24
24
|
void cleanup(TaskSource taskSource,
|
|
25
25
|
Schema schema, int taskCount,
|
|
26
|
-
List<
|
|
26
|
+
List<TaskReport> successTaskReports);
|
|
27
27
|
|
|
28
|
-
|
|
28
|
+
TaskReport run(TaskSource taskSource,
|
|
29
29
|
Schema schema, int taskIndex,
|
|
30
30
|
PageOutput output);
|
|
31
31
|
|
|
@@ -4,13 +4,13 @@ import java.util.List;
|
|
|
4
4
|
import org.embulk.config.TaskSource;
|
|
5
5
|
import org.embulk.config.ConfigSource;
|
|
6
6
|
import org.embulk.config.ConfigDiff;
|
|
7
|
-
import org.embulk.config.
|
|
7
|
+
import org.embulk.config.TaskReport;
|
|
8
8
|
|
|
9
9
|
public interface OutputPlugin
|
|
10
10
|
{
|
|
11
11
|
interface Control
|
|
12
12
|
{
|
|
13
|
-
List<
|
|
13
|
+
List<TaskReport> run(TaskSource taskSource);
|
|
14
14
|
}
|
|
15
15
|
|
|
16
16
|
ConfigDiff transaction(ConfigSource config,
|
|
@@ -23,7 +23,7 @@ public interface OutputPlugin
|
|
|
23
23
|
|
|
24
24
|
void cleanup(TaskSource taskSource,
|
|
25
25
|
Schema schema, int taskCount,
|
|
26
|
-
List<
|
|
26
|
+
List<TaskReport> successTaskReports);
|
|
27
27
|
|
|
28
28
|
TransactionalPageOutput open(TaskSource taskSource, Schema schema, int taskIndex);
|
|
29
29
|
}
|
|
@@ -1,17 +1,12 @@
|
|
|
1
1
|
package org.embulk.spi;
|
|
2
2
|
|
|
3
3
|
import java.util.List;
|
|
4
|
-
import com.google.common.base.Function;
|
|
5
|
-
import com.google.common.collect.Lists;
|
|
6
|
-
import com.google.common.collect.ImmutableList;
|
|
7
4
|
import com.fasterxml.jackson.annotation.JsonCreator;
|
|
8
5
|
import com.fasterxml.jackson.annotation.JsonProperty;
|
|
9
6
|
import com.fasterxml.jackson.annotation.JsonIgnore;
|
|
10
7
|
import org.embulk.plugin.PluginType;
|
|
11
8
|
import org.embulk.config.TaskSource;
|
|
12
|
-
import org.embulk.spi.Schema;
|
|
13
9
|
import org.embulk.spi.util.Executors;
|
|
14
|
-
import org.embulk.spi.type.TimestampType;
|
|
15
10
|
|
|
16
11
|
public class ProcessTask
|
|
17
12
|
{
|
|
@@ -2,7 +2,6 @@ package org.embulk.spi;
|
|
|
2
2
|
|
|
3
3
|
import java.util.List;
|
|
4
4
|
import java.util.Objects;
|
|
5
|
-
import com.google.common.base.Optional;
|
|
6
5
|
import com.google.common.collect.ImmutableList;
|
|
7
6
|
import com.fasterxml.jackson.annotation.JsonCreator;
|
|
8
7
|
import com.fasterxml.jackson.annotation.JsonValue;
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
package org.embulk.spi;
|
|
2
2
|
|
|
3
3
|
import com.google.common.base.Optional;
|
|
4
|
+
import org.embulk.config.TaskReport;
|
|
4
5
|
import org.embulk.config.CommitReport;
|
|
5
6
|
|
|
6
7
|
public class TaskState
|
|
7
8
|
{
|
|
8
9
|
private volatile boolean started = false;
|
|
9
10
|
private volatile boolean finished = false;
|
|
10
|
-
private volatile Optional<
|
|
11
|
+
private volatile Optional<TaskReport> taskReport = Optional.absent();
|
|
11
12
|
private volatile Optional<Throwable> exception = Optional.absent();
|
|
12
13
|
|
|
13
14
|
public void start()
|
|
@@ -21,10 +22,17 @@ public class TaskState
|
|
|
21
22
|
this.finished = true;
|
|
22
23
|
}
|
|
23
24
|
|
|
25
|
+
public void setTaskReport(TaskReport taskReport)
|
|
26
|
+
{
|
|
27
|
+
this.started = true;
|
|
28
|
+
this.taskReport = Optional.of(taskReport);
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
@Deprecated
|
|
24
32
|
public void setCommitReport(CommitReport commitReport)
|
|
25
33
|
{
|
|
26
34
|
this.started = true;
|
|
27
|
-
this.
|
|
35
|
+
this.taskReport = Optional.<TaskReport>of(commitReport);
|
|
28
36
|
}
|
|
29
37
|
|
|
30
38
|
public void setException(Throwable exception)
|
|
@@ -51,12 +59,19 @@ public class TaskState
|
|
|
51
59
|
|
|
52
60
|
public boolean isCommitted()
|
|
53
61
|
{
|
|
54
|
-
return
|
|
62
|
+
return taskReport.isPresent();
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
public Optional<TaskReport> getTaskReport()
|
|
66
|
+
{
|
|
67
|
+
return taskReport;
|
|
55
68
|
}
|
|
56
69
|
|
|
70
|
+
@Deprecated
|
|
71
|
+
@SuppressWarnings("unchecked")
|
|
57
72
|
public Optional<CommitReport> getCommitReport()
|
|
58
73
|
{
|
|
59
|
-
return
|
|
74
|
+
return (Optional) taskReport; // the only implementation of TaskReport is DataSourceImpl which implements CommitReport;
|
|
60
75
|
}
|
|
61
76
|
|
|
62
77
|
public Optional<Throwable> getException()
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
package org.embulk.spi;
|
|
2
2
|
|
|
3
|
-
import org.embulk.config.
|
|
3
|
+
import org.embulk.config.TaskReport;
|
|
4
4
|
|
|
5
5
|
public interface TransactionalFileInput
|
|
6
6
|
extends Transactional, FileInput
|
|
@@ -13,5 +13,5 @@ public interface TransactionalFileInput
|
|
|
13
13
|
|
|
14
14
|
void abort();
|
|
15
15
|
|
|
16
|
-
|
|
16
|
+
TaskReport commit();
|
|
17
17
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
package org.embulk.spi;
|
|
2
2
|
|
|
3
|
-
import org.embulk.config.
|
|
3
|
+
import org.embulk.config.TaskReport;
|
|
4
4
|
|
|
5
5
|
public interface TransactionalFileOutput
|
|
6
6
|
extends Transactional, FileOutput
|
|
@@ -15,5 +15,5 @@ public interface TransactionalFileOutput
|
|
|
15
15
|
|
|
16
16
|
void abort();
|
|
17
17
|
|
|
18
|
-
|
|
18
|
+
TaskReport commit();
|
|
19
19
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
package org.embulk.spi;
|
|
2
2
|
|
|
3
|
-
import org.embulk.config.
|
|
3
|
+
import org.embulk.config.TaskReport;
|
|
4
4
|
|
|
5
5
|
public interface TransactionalPageOutput
|
|
6
6
|
extends Transactional, PageOutput
|
|
@@ -13,5 +13,5 @@ public interface TransactionalPageOutput
|
|
|
13
13
|
|
|
14
14
|
void abort();
|
|
15
15
|
|
|
16
|
-
|
|
16
|
+
TaskReport commit();
|
|
17
17
|
}
|
|
@@ -3,7 +3,6 @@ package org.embulk.spi.time;
|
|
|
3
3
|
import java.io.IOException;
|
|
4
4
|
import org.joda.time.DateTimeZone;
|
|
5
5
|
import com.fasterxml.jackson.core.JsonGenerator;
|
|
6
|
-
import com.fasterxml.jackson.databind.Module;
|
|
7
6
|
import com.fasterxml.jackson.databind.module.SimpleModule;
|
|
8
7
|
import com.fasterxml.jackson.databind.SerializerProvider;
|
|
9
8
|
import com.fasterxml.jackson.databind.DeserializationContext;
|
|
@@ -11,7 +10,6 @@ import com.fasterxml.jackson.databind.JsonSerializer;
|
|
|
11
10
|
import com.fasterxml.jackson.databind.JsonMappingException;
|
|
12
11
|
import com.fasterxml.jackson.databind.deser.std.FromStringDeserializer;
|
|
13
12
|
import com.fasterxml.jackson.module.guice.ObjectMapperModule;
|
|
14
|
-
import org.embulk.config.ModelManager;
|
|
15
13
|
|
|
16
14
|
public class DateTimeZoneSerDe
|
|
17
15
|
{
|
|
@@ -1,9 +1,6 @@
|
|
|
1
1
|
package org.embulk.spi.time;
|
|
2
2
|
|
|
3
3
|
import java.util.Set;
|
|
4
|
-
import java.util.Date;
|
|
5
|
-
import java.text.SimpleDateFormat;
|
|
6
|
-
import java.text.ParsePosition;
|
|
7
4
|
import com.google.common.collect.ImmutableSet;
|
|
8
5
|
import com.fasterxml.jackson.annotation.JsonValue;
|
|
9
6
|
import com.fasterxml.jackson.annotation.JsonCreator;
|
|
@@ -9,7 +9,6 @@ import org.jruby.util.RubyDateFormat;
|
|
|
9
9
|
import org.embulk.config.Config;
|
|
10
10
|
import org.embulk.config.ConfigInject;
|
|
11
11
|
import org.embulk.config.ConfigDefault;
|
|
12
|
-
import org.embulk.config.ConfigException;
|
|
13
12
|
import org.embulk.spi.util.LineEncoder;
|
|
14
13
|
|
|
15
14
|
public class TimestampFormatter
|
|
@@ -6,7 +6,6 @@ import org.jruby.embed.ScriptingContainer;
|
|
|
6
6
|
import org.embulk.config.Config;
|
|
7
7
|
import org.embulk.config.ConfigInject;
|
|
8
8
|
import org.embulk.config.ConfigDefault;
|
|
9
|
-
import org.embulk.config.ConfigException;
|
|
10
9
|
import static org.embulk.spi.time.TimestampFormat.parseDateTimeZone;
|
|
11
10
|
|
|
12
11
|
public class TimestampParser
|
|
@@ -2,7 +2,6 @@ package org.embulk.spi.time;
|
|
|
2
2
|
|
|
3
3
|
import java.io.IOException;
|
|
4
4
|
import com.fasterxml.jackson.core.JsonGenerator;
|
|
5
|
-
import com.fasterxml.jackson.databind.Module;
|
|
6
5
|
import com.fasterxml.jackson.databind.module.SimpleModule;
|
|
7
6
|
import com.fasterxml.jackson.databind.SerializerProvider;
|
|
8
7
|
import com.fasterxml.jackson.databind.DeserializationContext;
|
|
@@ -1,15 +1,12 @@
|
|
|
1
1
|
package org.embulk.spi.type;
|
|
2
2
|
|
|
3
|
-
import java.util.HashMap;
|
|
4
3
|
import java.util.Map;
|
|
5
4
|
import java.io.IOException;
|
|
6
5
|
import com.google.common.base.Joiner;
|
|
7
6
|
import com.google.common.collect.ImmutableMap;
|
|
8
|
-
import com.fasterxml.jackson.databind.module.SimpleModule;
|
|
9
7
|
import com.fasterxml.jackson.databind.DeserializationContext;
|
|
10
8
|
import com.fasterxml.jackson.databind.deser.std.FromStringDeserializer;
|
|
11
9
|
import com.fasterxml.jackson.databind.JsonMappingException;
|
|
12
|
-
import org.embulk.config.ModelManager;
|
|
13
10
|
|
|
14
11
|
public class TypeDeserializer
|
|
15
12
|
extends FromStringDeserializer<Type>
|
|
@@ -11,9 +11,6 @@ import com.fasterxml.jackson.databind.JsonSerializer;
|
|
|
11
11
|
import com.fasterxml.jackson.databind.JsonDeserializer;
|
|
12
12
|
import com.fasterxml.jackson.databind.SerializerProvider;
|
|
13
13
|
import com.fasterxml.jackson.databind.DeserializationContext;
|
|
14
|
-
import com.fasterxml.jackson.databind.JsonNode;
|
|
15
|
-
import com.fasterxml.jackson.databind.JsonMappingException;
|
|
16
|
-
import com.fasterxml.jackson.databind.node.ObjectNode;
|
|
17
14
|
import com.fasterxml.jackson.module.guice.ObjectMapperModule;
|
|
18
15
|
|
|
19
16
|
public class LocalFileSerDe
|
|
@@ -6,7 +6,6 @@ import java.util.Properties;
|
|
|
6
6
|
import com.google.common.base.Function;
|
|
7
7
|
import com.google.common.collect.Maps;
|
|
8
8
|
import com.fasterxml.jackson.annotation.JsonCreator;
|
|
9
|
-
import com.fasterxml.jackson.annotation.JsonValue;
|
|
10
9
|
|
|
11
10
|
public class ToStringMap
|
|
12
11
|
extends HashMap<String, String>
|
|
@@ -2,7 +2,7 @@ package org.embulk.spi.util;
|
|
|
2
2
|
|
|
3
3
|
import java.util.List;
|
|
4
4
|
import org.embulk.config.TaskSource;
|
|
5
|
-
import org.embulk.config.
|
|
5
|
+
import org.embulk.config.TaskReport;
|
|
6
6
|
import org.embulk.spi.ExecSession;
|
|
7
7
|
import org.embulk.spi.ProcessState;
|
|
8
8
|
import org.embulk.spi.Schema;
|
|
@@ -12,6 +12,7 @@ import org.embulk.spi.InputPlugin;
|
|
|
12
12
|
import org.embulk.spi.FilterPlugin;
|
|
13
13
|
import org.embulk.spi.OutputPlugin;
|
|
14
14
|
import org.embulk.spi.ProcessTask;
|
|
15
|
+
import org.embulk.plugin.compat.PluginWrappers;
|
|
15
16
|
|
|
16
17
|
public abstract class Executors
|
|
17
18
|
{
|
|
@@ -21,9 +22,9 @@ public abstract class Executors
|
|
|
21
22
|
{
|
|
22
23
|
public void started();
|
|
23
24
|
|
|
24
|
-
public void inputCommitted(
|
|
25
|
+
public void inputCommitted(TaskReport report);
|
|
25
26
|
|
|
26
|
-
public void outputCommitted(
|
|
27
|
+
public void outputCommitted(TaskReport report);
|
|
27
28
|
}
|
|
28
29
|
|
|
29
30
|
public static void process(ExecSession exec,
|
|
@@ -49,25 +50,27 @@ public abstract class Executors
|
|
|
49
50
|
OutputPlugin outputPlugin, Schema outputSchema, TaskSource outputTaskSource,
|
|
50
51
|
ProcessStateCallback callback)
|
|
51
52
|
{
|
|
52
|
-
TransactionalPageOutput tran =
|
|
53
|
+
TransactionalPageOutput tran = PluginWrappers.transactionalPageOutput(
|
|
54
|
+
outputPlugin.open(outputTaskSource, outputSchema, taskIndex));
|
|
53
55
|
|
|
54
56
|
PageOutput closeThis = tran;
|
|
55
57
|
callback.started();
|
|
56
58
|
try {
|
|
57
59
|
PageOutput filtered = closeThis = Filters.open(filterPlugins, filterTaskSources, filterSchemas, tran);
|
|
58
60
|
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
61
|
+
TaskReport inputTaskReport = inputPlugin.run(inputTaskSource, inputSchema, taskIndex, filtered);
|
|
62
|
+
|
|
63
|
+
if (inputTaskReport == null) {
|
|
64
|
+
inputTaskReport = exec.newTaskReport();
|
|
62
65
|
}
|
|
63
|
-
callback.inputCommitted(
|
|
66
|
+
callback.inputCommitted(inputTaskReport);
|
|
64
67
|
|
|
65
|
-
|
|
68
|
+
TaskReport outputTaskReport = tran.commit();
|
|
66
69
|
tran = null;
|
|
67
|
-
if (
|
|
68
|
-
|
|
70
|
+
if (outputTaskReport == null) {
|
|
71
|
+
outputTaskReport = exec.newTaskReport();
|
|
69
72
|
}
|
|
70
|
-
callback.outputCommitted(
|
|
73
|
+
callback.outputCommitted(outputTaskReport); // TODO check output.finish() is called. wrap or abstract
|
|
71
74
|
|
|
72
75
|
} finally {
|
|
73
76
|
try {
|