class Embulk::ParserPlugin::JavaAdapter
Public Class Methods
new(ruby_class)
click to toggle source
# File lib/embulk/parser_plugin.rb, line 36 def initialize(ruby_class) @ruby_class = ruby_class end
Public Instance Methods
run(java_task_source, java_schema, java_file_input, java_output)
click to toggle source
# File lib/embulk/parser_plugin.rb, line 50 def run(java_task_source, java_schema, java_file_input, java_output) task_source = DataSource.from_java(java_task_source) schema = Schema.from_java(java_schema) file_input = FileInput.new(java_file_input) page_builder = PageBuilder.new(schema, java_output) begin @ruby_class.new(task_source, schema, page_builder).run(file_input) nil ensure page_builder.close # FileInput is closed by FileInputRunner end end
transaction(java_config, java_control)
click to toggle source
# File lib/embulk/parser_plugin.rb, line 40 def transaction(java_config, java_control) config = DataSource.from_java(java_config) @ruby_class.transaction(config) do |task_source_hash,columns| java_task_source = DataSource.from_ruby_hash(task_source_hash).to_java java_schema = Schema.new(columns).to_java java_control.run(java_task_source, java_schema) end nil end