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
|
@@ -0,0 +1 @@
|
|
|
1
|
+
jruby-9.0.0.0
|
|
@@ -24,8 +24,8 @@ module Embulk
|
|
|
24
24
|
|
|
25
25
|
def self.resume(task, columns, count, &control)
|
|
26
26
|
puts "Example input started."
|
|
27
|
-
|
|
28
|
-
puts "Example input finished. Commit reports = #{
|
|
27
|
+
task_reports = yield(task, columns, count)
|
|
28
|
+
puts "Example input finished. Commit reports = #{task_reports.to_json}"
|
|
29
29
|
|
|
30
30
|
next_config_diff = {}
|
|
31
31
|
return next_config_diff
|
|
@@ -45,8 +45,8 @@ module Embulk
|
|
|
45
45
|
end
|
|
46
46
|
@page_builder.finish # don't forget to call finish :-)
|
|
47
47
|
|
|
48
|
-
|
|
49
|
-
return
|
|
48
|
+
task_report = {}
|
|
49
|
+
return task_report
|
|
50
50
|
end
|
|
51
51
|
end
|
|
52
52
|
|
|
@@ -15,8 +15,8 @@ module Embulk
|
|
|
15
15
|
|
|
16
16
|
def self.resume(task, schema, count, &control)
|
|
17
17
|
puts "Example output started."
|
|
18
|
-
|
|
19
|
-
puts "Example output finished. Commit reports = #{
|
|
18
|
+
task_reports = yield(task)
|
|
19
|
+
puts "Example output finished. Commit reports = #{task_reports.to_json}"
|
|
20
20
|
|
|
21
21
|
next_config_diff = {}
|
|
22
22
|
return next_config_diff
|
|
@@ -47,10 +47,10 @@ module Embulk
|
|
|
47
47
|
end
|
|
48
48
|
|
|
49
49
|
def commit
|
|
50
|
-
|
|
50
|
+
task_report = {
|
|
51
51
|
"records" => @records
|
|
52
52
|
}
|
|
53
|
-
return
|
|
53
|
+
return task_report
|
|
54
54
|
end
|
|
55
55
|
end
|
|
56
56
|
|
|
@@ -4,7 +4,7 @@ import java.util.List;
|
|
|
4
4
|
import java.util.ArrayList;
|
|
5
5
|
import com.google.common.base.Optional;
|
|
6
6
|
import com.google.common.collect.ImmutableList;
|
|
7
|
-
import org.embulk.config.
|
|
7
|
+
import org.embulk.config.TaskReport;
|
|
8
8
|
import org.embulk.config.Config;
|
|
9
9
|
import org.embulk.config.ConfigDefault;
|
|
10
10
|
import org.embulk.config.ConfigInject;
|
|
@@ -107,7 +107,7 @@ public class <%= java_class_name %>
|
|
|
107
107
|
@Override
|
|
108
108
|
public void cleanup(TaskSource taskSource,
|
|
109
109
|
int taskCount,
|
|
110
|
-
List<
|
|
110
|
+
List<TaskReport> successTaskReports)
|
|
111
111
|
{
|
|
112
112
|
}
|
|
113
113
|
|
|
@@ -129,9 +129,9 @@ public class <%= java_class_name %>
|
|
|
129
129
|
// { }
|
|
130
130
|
//
|
|
131
131
|
// @Override
|
|
132
|
-
// public
|
|
132
|
+
// public TaskReport commit()
|
|
133
133
|
// {
|
|
134
|
-
// return Exec.
|
|
134
|
+
// return Exec.newTaskReport();
|
|
135
135
|
// }
|
|
136
136
|
//}
|
|
137
137
|
}
|
|
@@ -2,7 +2,7 @@ package <%= java_package_name %>;
|
|
|
2
2
|
|
|
3
3
|
import java.util.List;
|
|
4
4
|
import com.google.common.base.Optional;
|
|
5
|
-
import org.embulk.config.
|
|
5
|
+
import org.embulk.config.TaskReport;
|
|
6
6
|
import org.embulk.config.Config;
|
|
7
7
|
import org.embulk.config.ConfigDefault;
|
|
8
8
|
import org.embulk.config.ConfigDiff;
|
|
@@ -75,7 +75,7 @@ public class <%= java_class_name %>
|
|
|
75
75
|
@Override
|
|
76
76
|
public void cleanup(TaskSource taskSource,
|
|
77
77
|
int taskCount,
|
|
78
|
-
List<
|
|
78
|
+
List<TaskReport> successTaskReports)
|
|
79
79
|
{
|
|
80
80
|
}
|
|
81
81
|
|
|
Binary file
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
#
|
|
1
|
+
#Tue Aug 11 00:26:20 PDT 2015
|
|
2
2
|
distributionBase=GRADLE_USER_HOME
|
|
3
3
|
distributionPath=wrapper/dists
|
|
4
4
|
zipStoreBase=GRADLE_USER_HOME
|
|
5
5
|
zipStorePath=wrapper/dists
|
|
6
|
-
distributionUrl=https\://services.gradle.org/distributions/gradle-2.
|
|
6
|
+
distributionUrl=https\://services.gradle.org/distributions/gradle-2.6-bin.zip
|
|
@@ -2,7 +2,7 @@ package <%= java_package_name %>;
|
|
|
2
2
|
|
|
3
3
|
import java.util.List;
|
|
4
4
|
import com.google.common.base.Optional;
|
|
5
|
-
import org.embulk.config.
|
|
5
|
+
import org.embulk.config.TaskReport;
|
|
6
6
|
import org.embulk.config.Config;
|
|
7
7
|
import org.embulk.config.ConfigDefault;
|
|
8
8
|
import org.embulk.config.ConfigDiff;
|
|
@@ -64,12 +64,12 @@ public class <%= java_class_name %>
|
|
|
64
64
|
@Override
|
|
65
65
|
public void cleanup(TaskSource taskSource,
|
|
66
66
|
Schema schema, int taskCount,
|
|
67
|
-
List<
|
|
67
|
+
List<TaskReport> successTaskReports)
|
|
68
68
|
{
|
|
69
69
|
}
|
|
70
70
|
|
|
71
71
|
@Override
|
|
72
|
-
public
|
|
72
|
+
public TaskReport run(TaskSource taskSource,
|
|
73
73
|
Schema schema, int taskIndex,
|
|
74
74
|
PageOutput output)
|
|
75
75
|
{
|
|
@@ -2,7 +2,7 @@ package <%= java_package_name %>;
|
|
|
2
2
|
|
|
3
3
|
import java.util.List;
|
|
4
4
|
import com.google.common.base.Optional;
|
|
5
|
-
import org.embulk.config.
|
|
5
|
+
import org.embulk.config.TaskReport;
|
|
6
6
|
import org.embulk.config.Config;
|
|
7
7
|
import org.embulk.config.ConfigDefault;
|
|
8
8
|
import org.embulk.config.ConfigDiff;
|
|
@@ -62,7 +62,7 @@ public class <%= java_class_name %>
|
|
|
62
62
|
@Override
|
|
63
63
|
public void cleanup(TaskSource taskSource,
|
|
64
64
|
Schema schema, int taskCount,
|
|
65
|
-
List<
|
|
65
|
+
List<TaskReport> successTaskReports)
|
|
66
66
|
{
|
|
67
67
|
}
|
|
68
68
|
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
jruby-9.0.0.0
|
|
@@ -14,6 +14,7 @@ Gem::Specification.new do |spec|
|
|
|
14
14
|
spec.require_paths = ["lib"]
|
|
15
15
|
|
|
16
16
|
#spec.add_dependency 'YOUR_GEM_DEPENDENCY', ['~> YOUR_GEM_DEPENDENCY_VERSION']
|
|
17
|
+
spec.add_development_dependency 'embulk', ['~> <%= Embulk::VERSION %>']
|
|
17
18
|
spec.add_development_dependency 'bundler', ['~> 1.0']
|
|
18
19
|
spec.add_development_dependency 'rake', ['>= 10.0']
|
|
19
20
|
end
|
|
@@ -22,7 +22,7 @@ module Embulk
|
|
|
22
22
|
end
|
|
23
23
|
|
|
24
24
|
def self.resume(task, columns, count, &control)
|
|
25
|
-
|
|
25
|
+
task_reports = yield(task, columns, count)
|
|
26
26
|
|
|
27
27
|
next_config_diff = {}
|
|
28
28
|
return next_config_diff
|
|
@@ -50,8 +50,8 @@ module Embulk
|
|
|
50
50
|
page_builder.add(["example-value", 2, 0.2])
|
|
51
51
|
page_builder.finish
|
|
52
52
|
|
|
53
|
-
|
|
54
|
-
return
|
|
53
|
+
task_report = {}
|
|
54
|
+
return task_report
|
|
55
55
|
end
|
|
56
56
|
end
|
|
57
57
|
|
|
@@ -16,13 +16,13 @@ module Embulk
|
|
|
16
16
|
# resume(task, schema, count, &control)
|
|
17
17
|
|
|
18
18
|
# non-resumable output:
|
|
19
|
-
|
|
19
|
+
task_reports = yield(task)
|
|
20
20
|
next_config_diff = {}
|
|
21
21
|
return next_config_diff
|
|
22
22
|
end
|
|
23
23
|
|
|
24
24
|
#def self.resume(task, schema, count, &control)
|
|
25
|
-
#
|
|
25
|
+
# task_reports = yield(task)
|
|
26
26
|
#
|
|
27
27
|
# next_config_diff = {}
|
|
28
28
|
# return next_config_diff
|
|
@@ -52,8 +52,8 @@ module Embulk
|
|
|
52
52
|
end
|
|
53
53
|
|
|
54
54
|
def commit
|
|
55
|
-
|
|
56
|
-
return
|
|
55
|
+
task_report = {}
|
|
56
|
+
return task_report
|
|
57
57
|
end
|
|
58
58
|
end
|
|
59
59
|
|
|
@@ -1,16 +1,6 @@
|
|
|
1
1
|
module Embulk
|
|
2
2
|
|
|
3
3
|
class PackageData
|
|
4
|
-
if __FILE__ =~ /^classpath:/ || __FILE__.include?('!/')
|
|
5
|
-
# data is in embulk-core jar
|
|
6
|
-
resource_class = org.embulk.command.Runner.java_class
|
|
7
|
-
JAVA_RESOURCE = true
|
|
8
|
-
RESOURCE_URL = resource_class.resource("/embulk/data")
|
|
9
|
-
else
|
|
10
|
-
JAVA_RESOURCE = false
|
|
11
|
-
FILE_BASE_PATH = File.join(Embulk.home('lib'), 'embulk', 'data')
|
|
12
|
-
end
|
|
13
|
-
|
|
14
4
|
def initialize(base_name, dest_dir, erb_binding=nil)
|
|
15
5
|
require 'fileutils'
|
|
16
6
|
@base_name = base_name
|
|
@@ -19,11 +9,7 @@ module Embulk
|
|
|
19
9
|
end
|
|
20
10
|
|
|
21
11
|
def path(src)
|
|
22
|
-
|
|
23
|
-
"#{RESOURCE_URL}/#{@base_name}/#{src}"
|
|
24
|
-
else
|
|
25
|
-
File.join(FILE_BASE_PATH, @base_name, src)
|
|
26
|
-
end
|
|
12
|
+
Embulk.lib_path("embulk/data/#{@base_name}/#{src}")
|
|
27
13
|
end
|
|
28
14
|
|
|
29
15
|
def content(src)
|
data/lib/embulk/guess/charset.rb
CHANGED
|
@@ -16,7 +16,16 @@ module Embulk
|
|
|
16
16
|
|
|
17
17
|
def guess(config, sample_buffer)
|
|
18
18
|
# ICU4J
|
|
19
|
-
|
|
19
|
+
begin
|
|
20
|
+
detector_class = com.ibm.icu.text.CharsetDetector
|
|
21
|
+
rescue NameError
|
|
22
|
+
# icu4j is removed from embulk.gem package explicitly at embulk.gemspec
|
|
23
|
+
# if gem is packaged for JRuby to reduce binary size. Instead, if it's
|
|
24
|
+
# packaged for JRuby, embulk.gemspec adds rjack-icu to its dependency.
|
|
25
|
+
require 'rjack-icu'
|
|
26
|
+
detector_class = com.ibm.icu.text.CharsetDetector
|
|
27
|
+
end
|
|
28
|
+
detector = detector_class.new
|
|
20
29
|
detector.setText(sample_buffer.to_java_bytes)
|
|
21
30
|
best_match = detector.detect
|
|
22
31
|
if best_match.getConfidence < 50
|
data/lib/embulk/input_plugin.rb
CHANGED
|
@@ -13,7 +13,7 @@ module Embulk
|
|
|
13
13
|
raise NotImplementedError, "#{self}.resume(task, columns, count, &control) is not implemented. This plugin is not resumable"
|
|
14
14
|
end
|
|
15
15
|
|
|
16
|
-
def self.cleanup(task, schema, count,
|
|
16
|
+
def self.cleanup(task, schema, count, task_reports)
|
|
17
17
|
# do nothing by default
|
|
18
18
|
end
|
|
19
19
|
|
|
@@ -55,9 +55,9 @@ module Embulk
|
|
|
55
55
|
config_diff_hash = @ruby_class.transaction(config) do |task_source_hash,columns,task_count|
|
|
56
56
|
java_task_source = DataSource.from_ruby_hash(task_source_hash).to_java
|
|
57
57
|
java_schema = Schema.new(columns).to_java
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
DataSource.from_java(
|
|
58
|
+
java_task_reports = java_control.run(java_task_source, java_schema, task_count)
|
|
59
|
+
java_task_reports.map {|java_task_report|
|
|
60
|
+
DataSource.from_java(java_task_report)
|
|
61
61
|
}
|
|
62
62
|
end
|
|
63
63
|
# TODO check return type of #transaction
|
|
@@ -70,20 +70,20 @@ module Embulk
|
|
|
70
70
|
config_diff_hash = @ruby_class.resume(task_source, schema, task_count) do |task_source_hash,columns,task_count|
|
|
71
71
|
java_task_source = DataSource.from_ruby_hash(task_source_hash).to_java
|
|
72
72
|
java_schema = Schema.new(columns).to_java
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
DataSource.from_java(
|
|
73
|
+
java_task_reports = java_control.run(java_task_source, java_schema, task_count)
|
|
74
|
+
java_task_reports.map {|java_task_report|
|
|
75
|
+
DataSource.from_java(java_task_report)
|
|
76
76
|
}
|
|
77
77
|
end
|
|
78
78
|
# TODO check return type of #resume
|
|
79
79
|
return DataSource.from_ruby_hash(config_diff_hash).to_java
|
|
80
80
|
end
|
|
81
81
|
|
|
82
|
-
def cleanup(java_task_source, java_schema, task_count,
|
|
82
|
+
def cleanup(java_task_source, java_schema, task_count, java_task_reports)
|
|
83
83
|
task_source = DataSource.from_java(java_task_source)
|
|
84
84
|
schema = Schema.from_java(java_schema)
|
|
85
|
-
|
|
86
|
-
@ruby_class.cleanup(task_source, schema, task_count,
|
|
85
|
+
task_reports = java_task_reports.map {|c| DataSource.from_java(c) }
|
|
86
|
+
@ruby_class.cleanup(task_source, schema, task_count, task_reports)
|
|
87
87
|
return nil
|
|
88
88
|
end
|
|
89
89
|
|
|
@@ -98,8 +98,8 @@ module Embulk
|
|
|
98
98
|
schema = Schema.from_java(java_schema)
|
|
99
99
|
page_builder = PageBuilder.new(schema, java_output)
|
|
100
100
|
begin
|
|
101
|
-
|
|
102
|
-
return DataSource.from_ruby_hash(
|
|
101
|
+
task_report_hash = @ruby_class.new(task_source, schema, processor_index, page_builder).run
|
|
102
|
+
return DataSource.from_ruby_hash(task_report_hash).to_java
|
|
103
103
|
ensure
|
|
104
104
|
page_builder.close
|
|
105
105
|
end
|
|
@@ -1,11 +1,7 @@
|
|
|
1
1
|
module Embulk
|
|
2
2
|
module Java
|
|
3
|
-
#require 'embulk/gems'
|
|
4
|
-
#Embulk.add_embedded_gem_path
|
|
5
|
-
|
|
6
3
|
require 'embulk/java/imports'
|
|
7
4
|
require 'embulk/java/time_helper'
|
|
8
|
-
require 'embulk/java/liquid_helper'
|
|
9
5
|
|
|
10
6
|
module Injected
|
|
11
7
|
# Following constats are set by org.embulk.jruby.JRubyScriptingModule:
|
|
@@ -17,5 +13,12 @@ module Embulk
|
|
|
17
13
|
def self.injector
|
|
18
14
|
Injected::Injector
|
|
19
15
|
end
|
|
16
|
+
|
|
17
|
+
require 'embulk'
|
|
18
|
+
require 'embulk/error'
|
|
19
|
+
require 'embulk/buffer'
|
|
20
|
+
require 'embulk/data_source'
|
|
21
|
+
require 'embulk/plugin'
|
|
22
|
+
require 'embulk/runner'
|
|
20
23
|
end
|
|
21
24
|
end
|
data/lib/embulk/java/imports.rb
CHANGED
|
@@ -5,8 +5,41 @@ require 'java'
|
|
|
5
5
|
#
|
|
6
6
|
|
|
7
7
|
module Embulk::Java
|
|
8
|
-
|
|
8
|
+
module Config
|
|
9
|
+
include_package 'org.embulk.config'
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
module Exec
|
|
13
|
+
include_package 'org.embulk.exec'
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
module Plugin
|
|
17
|
+
include_package 'org.embulk.plugin'
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
module SPI
|
|
21
|
+
module Time
|
|
22
|
+
include_package 'org.embulk.time'
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
module Type
|
|
26
|
+
include_package 'org.embulk.type'
|
|
27
|
+
end
|
|
9
28
|
|
|
29
|
+
module Unit
|
|
30
|
+
include_package 'org.embulk.unit'
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
module Util
|
|
34
|
+
include_package 'org.embulk.util'
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
include_package 'org.embulk.spi'
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
include_package 'org.embulk'
|
|
41
|
+
|
|
42
|
+
java_import 'org.embulk.spi.Buffer'
|
|
10
43
|
java_import 'org.embulk.config.DataSourceImpl'
|
|
11
44
|
java_import 'org.embulk.spi.time.Timestamp'
|
|
12
45
|
java_import 'org.embulk.spi.time.TimestampParseException'
|
|
@@ -30,7 +63,6 @@ module Embulk::Java
|
|
|
30
63
|
java_import 'org.embulk.spi.type.Types'
|
|
31
64
|
java_import 'org.embulk.spi.FileInputRunner'
|
|
32
65
|
java_import 'org.embulk.spi.FileOutputRunner'
|
|
33
|
-
java_import 'org.embulk.spi.Exec'
|
|
34
66
|
java_import 'org.embulk.plugin.PluginClassLoaderFactory'
|
|
35
67
|
|
|
36
68
|
# TODO
|
data/lib/embulk/logger.rb
CHANGED
data/lib/embulk/output_plugin.rb
CHANGED
|
@@ -14,7 +14,7 @@ module Embulk
|
|
|
14
14
|
raise NotImplementedError, "#{self}.resume(task, schema, count, &control) is not implemented. This plugin is not resumable"
|
|
15
15
|
end
|
|
16
16
|
|
|
17
|
-
def self.cleanup(task, schema, count,
|
|
17
|
+
def self.cleanup(task, schema, count, task_reports)
|
|
18
18
|
# do nothing by default
|
|
19
19
|
end
|
|
20
20
|
|
|
@@ -64,9 +64,9 @@ module Embulk
|
|
|
64
64
|
schema = Schema.from_java(java_schema)
|
|
65
65
|
config_diff_hash = @ruby_class.transaction(config, schema, task_count) do |task_source_hash|
|
|
66
66
|
java_task_source = DataSource.from_ruby_hash(task_source_hash).to_java
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
DataSource.from_java(
|
|
67
|
+
java_task_reports = java_control.run(java_task_source)
|
|
68
|
+
java_task_reports.map {|java_task_report|
|
|
69
|
+
DataSource.from_java(java_task_report)
|
|
70
70
|
}
|
|
71
71
|
end
|
|
72
72
|
# TODO check return type of #transaction
|
|
@@ -78,20 +78,20 @@ module Embulk
|
|
|
78
78
|
schema = Schema.from_java(java_schema)
|
|
79
79
|
config_diff_hash = @ruby_class.resume(task_source, schema, task_count) do |task_source_hash,columns,task_count|
|
|
80
80
|
java_task_source = DataSource.from_ruby_hash(task_source_hash).to_java
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
DataSource.from_java(
|
|
81
|
+
java_task_reports = java_control.run(java_task_source)
|
|
82
|
+
java_task_reports.map {|java_task_report|
|
|
83
|
+
DataSource.from_java(java_task_report)
|
|
84
84
|
}
|
|
85
85
|
end
|
|
86
86
|
# TODO check return type of #resume
|
|
87
87
|
return DataSource.from_ruby_hash(config_diff_hash).to_java
|
|
88
88
|
end
|
|
89
89
|
|
|
90
|
-
def cleanup(java_task_source, java_schema, task_count,
|
|
90
|
+
def cleanup(java_task_source, java_schema, task_count, java_task_reports)
|
|
91
91
|
task_source = DataSource.from_java(java_task_source)
|
|
92
92
|
schema = Schema.from_java(java_schema)
|
|
93
|
-
|
|
94
|
-
@ruby_class.cleanup(task_source, schema, task_count,
|
|
93
|
+
task_reports = java_task_reports.map {|c| DataSource.from_java(c) }
|
|
94
|
+
@ruby_class.cleanup(task_source, schema, task_count, task_reports)
|
|
95
95
|
return nil
|
|
96
96
|
end
|
|
97
97
|
|
|
@@ -128,8 +128,8 @@ module Embulk
|
|
|
128
128
|
end
|
|
129
129
|
|
|
130
130
|
def commit
|
|
131
|
-
|
|
132
|
-
return DataSource.from_ruby_hash(
|
|
131
|
+
task_report_hash = @ruby_object.commit
|
|
132
|
+
return DataSource.from_ruby_hash(task_report_hash).to_java
|
|
133
133
|
end
|
|
134
134
|
end
|
|
135
135
|
end
|