Class: Embulk::InputPlugin::JavaAdapter
- Inherits:
-
Object
- Object
- Embulk::InputPlugin::JavaAdapter
- Includes:
- Java::InputPlugin
- Defined in:
- lib/embulk/input_plugin.rb
Instance Method Summary collapse
- #cleanup(java_task_source, java_schema, processor_count, java_commit_reports) ⇒ Object
-
#initialize(ruby_class) ⇒ JavaAdapter
constructor
A new instance of JavaAdapter.
- #resume(java_task_source, java_schema, processor_count, java_control) ⇒ Object
- #run(java_task_source, java_schema, processor_index, java_output) ⇒ Object
- #transaction(java_config, java_control) ⇒ Object
Constructor Details
#initialize(ruby_class) ⇒ JavaAdapter
Returns a new instance of JavaAdapter.
39 40 41 |
# File 'lib/embulk/input_plugin.rb', line 39 def initialize(ruby_class) @ruby_class = ruby_class end |
Instance Method Details
#cleanup(java_task_source, java_schema, processor_count, java_commit_reports) ⇒ Object
72 73 74 75 76 77 78 |
# File 'lib/embulk/input_plugin.rb', line 72 def cleanup(java_task_source, java_schema, processor_count, java_commit_reports) task_source = DataSource.from_java_object(java_task_source) schema = Schema.from_java_object(java_schema) commit_reports = java_commit_reports.map {|c| DataSource.from_java_object(c) } @ruby_class.cleanup(task_source, schema, processor_count, commit_reports) return nil end |
#resume(java_task_source, java_schema, processor_count, java_control) ⇒ Object
57 58 59 60 61 62 63 64 65 66 67 68 69 70 |
# File 'lib/embulk/input_plugin.rb', line 57 def resume(java_task_source, java_schema, processor_count, java_control) task_source = DataSource.from_java_object(java_task_source) schema = Schema.from_java_object(java_schema) next_config_hash = @ruby_class.resume(task_source, schema, processor_count) do |task_source_hash,columns,processor_count| java_task_source = DataSource.from_ruby_hash(task_source_hash).java_object java_schema = Schema.new(columns).java_object java_commit_reports = java_control.run(java_task_source, java_schema, processor_count) java_commit_reports.map {|java_commit_report| DataSource.from_java_object(java_commit_report) } end # TODO check return type of #resume return DataSource.from_ruby_hash(next_config_hash).java_object end |
#run(java_task_source, java_schema, processor_index, java_output) ⇒ Object
80 81 82 83 84 85 86 87 88 89 90 |
# File 'lib/embulk/input_plugin.rb', line 80 def run(java_task_source, java_schema, processor_index, java_output) task_source = DataSource.from_java_object(java_task_source) schema = Schema.from_java_object(java_schema) page_builder = PageBuilder.new(schema, java_output) begin commit_report_hash = @ruby_class.new(task_source, schema, processor_index, page_builder).run return DataSource.from_ruby_hash(commit_report_hash).java_object ensure page_builder.close end end |
#transaction(java_config, java_control) ⇒ Object
43 44 45 46 47 48 49 50 51 52 53 54 55 |
# File 'lib/embulk/input_plugin.rb', line 43 def transaction(java_config, java_control) config = DataSource.from_java_object(java_config) next_config_hash = @ruby_class.transaction(config) do |task_source_hash,columns,processor_count| java_task_source = DataSource.from_ruby_hash(task_source_hash).java_object java_schema = Schema.new(columns).java_object java_commit_reports = java_control.run(java_task_source, java_schema, processor_count) java_commit_reports.map {|java_commit_report| DataSource.from_java_object(java_commit_report) } end # TODO check return type of #transaction return DataSource.from_ruby_hash(next_config_hash).java_object end |