embulk 0.8.35-java → 0.10.24-java

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.
Files changed (595) hide show
  1. checksums.yaml +5 -5
  2. data/Gemfile +1 -1
  3. data/LICENSE +202 -0
  4. data/embulk.gemspec +34 -33
  5. data/lib/embulk.rb +5 -61
  6. data/lib/embulk/buffer.rb +1 -2
  7. data/lib/embulk/guess/charset.rb +2 -11
  8. data/lib/embulk/guess/schema_guess.rb +1 -1
  9. data/lib/embulk/input_plugin.rb +8 -1
  10. data/lib/embulk/java/bootstrap.rb +1 -2
  11. data/lib/embulk/java_plugin.rb +9 -1
  12. data/lib/embulk/page_builder.rb +38 -5
  13. data/lib/embulk/plugin.rb +2 -2
  14. data/lib/embulk/schema.rb +5 -7
  15. data/lib/embulk/version.rb +3 -22
  16. metadata +23 -752
  17. data/.gitignore +0 -15
  18. data/.ruby-version +0 -1
  19. data/.travis.yml +0 -28
  20. data/COPYING +0 -14
  21. data/Gemfile.lock +0 -30
  22. data/README.md +0 -225
  23. data/Rakefile +0 -26
  24. data/appveyor.yml +0 -28
  25. data/bin/embulk +0 -139
  26. data/build.gradle +0 -415
  27. data/embulk-cli/build.gradle +0 -9
  28. data/embulk-cli/src/main/bat/selfrun.bat +0 -107
  29. data/embulk-cli/src/main/java/org/embulk/cli/EmbulkArguments.java +0 -54
  30. data/embulk-cli/src/main/java/org/embulk/cli/EmbulkCommandLine.java +0 -227
  31. data/embulk-cli/src/main/java/org/embulk/cli/EmbulkCommandLineException.java +0 -25
  32. data/embulk-cli/src/main/java/org/embulk/cli/EmbulkExample.java +0 -82
  33. data/embulk-cli/src/main/java/org/embulk/cli/EmbulkMigrate.java +0 -480
  34. data/embulk-cli/src/main/java/org/embulk/cli/EmbulkNew.java +0 -419
  35. data/embulk-cli/src/main/java/org/embulk/cli/EmbulkRun.java +0 -774
  36. data/embulk-cli/src/main/java/org/embulk/cli/EmbulkSelfUpdate.java +0 -235
  37. data/embulk-cli/src/main/java/org/embulk/cli/EmbulkSubcommand.java +0 -47
  38. data/embulk-cli/src/main/java/org/embulk/cli/Main.java +0 -31
  39. data/embulk-cli/src/main/java/org/embulk/cli/parse/AbstractHelpLineDefinition.java +0 -15
  40. data/embulk-cli/src/main/java/org/embulk/cli/parse/CliHelpFormatterWithHelpMessages.java +0 -141
  41. data/embulk-cli/src/main/java/org/embulk/cli/parse/CliOptionsWithHelpMessages.java +0 -45
  42. data/embulk-cli/src/main/java/org/embulk/cli/parse/EmbulkCommandLineHelpRequired.java +0 -10
  43. data/embulk-cli/src/main/java/org/embulk/cli/parse/EmbulkCommandLineParseException.java +0 -25
  44. data/embulk-cli/src/main/java/org/embulk/cli/parse/EmbulkCommandLineParser.java +0 -187
  45. data/embulk-cli/src/main/java/org/embulk/cli/parse/HelpMessageAsCliOption.java +0 -36
  46. data/embulk-cli/src/main/java/org/embulk/cli/parse/HelpMessageLineDefinition.java +0 -20
  47. data/embulk-cli/src/main/java/org/embulk/cli/parse/OptionBehavior.java +0 -39
  48. data/embulk-cli/src/main/java/org/embulk/cli/parse/OptionDefinition.java +0 -120
  49. data/embulk-cli/src/main/sh/selfrun.sh +0 -60
  50. data/embulk-cli/src/test/java/org/embulk/cli/DummyMain.java +0 -23
  51. data/embulk-cli/src/test/java/org/embulk/cli/SelfrunTest.java +0 -296
  52. data/embulk-core/build.gradle +0 -83
  53. data/embulk-core/src/main/java/org/embulk/EmbulkEmbed.java +0 -321
  54. data/embulk-core/src/main/java/org/embulk/EmbulkRunner.java +0 -582
  55. data/embulk-core/src/main/java/org/embulk/EmbulkService.java +0 -78
  56. data/embulk-core/src/main/java/org/embulk/EmbulkSetup.java +0 -49
  57. data/embulk-core/src/main/java/org/embulk/EmbulkVersion.java +0 -109
  58. data/embulk-core/src/main/java/org/embulk/command/PreviewPrinter.java +0 -87
  59. data/embulk-core/src/main/java/org/embulk/command/TablePreviewPrinter.java +0 -107
  60. data/embulk-core/src/main/java/org/embulk/command/VerticalPreviewPrinter.java +0 -47
  61. data/embulk-core/src/main/java/org/embulk/config/CommitReport.java +0 -36
  62. data/embulk-core/src/main/java/org/embulk/config/Config.java +0 -15
  63. data/embulk-core/src/main/java/org/embulk/config/ConfigDefault.java +0 -15
  64. data/embulk-core/src/main/java/org/embulk/config/ConfigDiff.java +0 -32
  65. data/embulk-core/src/main/java/org/embulk/config/ConfigException.java +0 -26
  66. data/embulk-core/src/main/java/org/embulk/config/ConfigInject.java +0 -14
  67. data/embulk-core/src/main/java/org/embulk/config/ConfigLoader.java +0 -149
  68. data/embulk-core/src/main/java/org/embulk/config/ConfigSource.java +0 -34
  69. data/embulk-core/src/main/java/org/embulk/config/DataSource.java +0 -41
  70. data/embulk-core/src/main/java/org/embulk/config/DataSourceImpl.java +0 -243
  71. data/embulk-core/src/main/java/org/embulk/config/DataSourceSerDe.java +0 -84
  72. data/embulk-core/src/main/java/org/embulk/config/GenericTypeReference.java +0 -20
  73. data/embulk-core/src/main/java/org/embulk/config/ModelManager.java +0 -123
  74. data/embulk-core/src/main/java/org/embulk/config/Task.java +0 -10
  75. data/embulk-core/src/main/java/org/embulk/config/TaskInvocationHandler.java +0 -180
  76. data/embulk-core/src/main/java/org/embulk/config/TaskReport.java +0 -32
  77. data/embulk-core/src/main/java/org/embulk/config/TaskSerDe.java +0 -349
  78. data/embulk-core/src/main/java/org/embulk/config/TaskSource.java +0 -34
  79. data/embulk-core/src/main/java/org/embulk/config/TaskValidationException.java +0 -38
  80. data/embulk-core/src/main/java/org/embulk/config/TaskValidator.java +0 -24
  81. data/embulk-core/src/main/java/org/embulk/config/UserDataException.java +0 -4
  82. data/embulk-core/src/main/java/org/embulk/config/UserDataExceptions.java +0 -17
  83. data/embulk-core/src/main/java/org/embulk/config/YamlTagResolver.java +0 -53
  84. data/embulk-core/src/main/java/org/embulk/exec/BufferFileInputPlugin.java +0 -88
  85. data/embulk-core/src/main/java/org/embulk/exec/BulkLoader.java +0 -754
  86. data/embulk-core/src/main/java/org/embulk/exec/ConfigurableGuessInputPlugin.java +0 -9
  87. data/embulk-core/src/main/java/org/embulk/exec/ExecModule.java +0 -53
  88. data/embulk-core/src/main/java/org/embulk/exec/ExecutionInterruptedException.java +0 -10
  89. data/embulk-core/src/main/java/org/embulk/exec/ExecutionResult.java +0 -33
  90. data/embulk-core/src/main/java/org/embulk/exec/ExtensionServiceLoaderModule.java +0 -43
  91. data/embulk-core/src/main/java/org/embulk/exec/ForGuess.java +0 -16
  92. data/embulk-core/src/main/java/org/embulk/exec/ForSystemConfig.java +0 -16
  93. data/embulk-core/src/main/java/org/embulk/exec/GuessExecutor.java +0 -309
  94. data/embulk-core/src/main/java/org/embulk/exec/LocalExecutorPlugin.java +0 -563
  95. data/embulk-core/src/main/java/org/embulk/exec/LoggerProvider.java +0 -68
  96. data/embulk-core/src/main/java/org/embulk/exec/NoSampleException.java +0 -10
  97. data/embulk-core/src/main/java/org/embulk/exec/PartialExecutionException.java +0 -26
  98. data/embulk-core/src/main/java/org/embulk/exec/PooledBufferAllocator.java +0 -77
  99. data/embulk-core/src/main/java/org/embulk/exec/PreviewExecutor.java +0 -222
  100. data/embulk-core/src/main/java/org/embulk/exec/PreviewResult.java +0 -27
  101. data/embulk-core/src/main/java/org/embulk/exec/PreviewedNoticeError.java +0 -17
  102. data/embulk-core/src/main/java/org/embulk/exec/ResumeState.java +0 -100
  103. data/embulk-core/src/main/java/org/embulk/exec/SamplingParserPlugin.java +0 -215
  104. data/embulk-core/src/main/java/org/embulk/exec/SetCurrentThreadName.java +0 -22
  105. data/embulk-core/src/main/java/org/embulk/exec/SkipTransactionException.java +0 -23
  106. data/embulk-core/src/main/java/org/embulk/exec/SystemConfigModule.java +0 -24
  107. data/embulk-core/src/main/java/org/embulk/exec/TempFileAllocator.java +0 -35
  108. data/embulk-core/src/main/java/org/embulk/exec/TransactionStage.java +0 -27
  109. data/embulk-core/src/main/java/org/embulk/jruby/JRubyPluginSource.java +0 -76
  110. data/embulk-core/src/main/java/org/embulk/jruby/JRubyScriptingModule.java +0 -395
  111. data/embulk-core/src/main/java/org/embulk/plugin/BuiltinPluginSourceModule.java +0 -17
  112. data/embulk-core/src/main/java/org/embulk/plugin/DefaultPluginType.java +0 -50
  113. data/embulk-core/src/main/java/org/embulk/plugin/InjectedPluginSource.java +0 -100
  114. data/embulk-core/src/main/java/org/embulk/plugin/MavenPluginType.java +0 -112
  115. data/embulk-core/src/main/java/org/embulk/plugin/PluginClassLoader.java +0 -208
  116. data/embulk-core/src/main/java/org/embulk/plugin/PluginClassLoaderFactory.java +0 -9
  117. data/embulk-core/src/main/java/org/embulk/plugin/PluginClassLoaderModule.java +0 -71
  118. data/embulk-core/src/main/java/org/embulk/plugin/PluginManager.java +0 -78
  119. data/embulk-core/src/main/java/org/embulk/plugin/PluginSource.java +0 -49
  120. data/embulk-core/src/main/java/org/embulk/plugin/PluginSourceNotMatchException.java +0 -25
  121. data/embulk-core/src/main/java/org/embulk/plugin/PluginType.java +0 -122
  122. data/embulk-core/src/main/java/org/embulk/plugin/compat/InputPluginWrapper.java +0 -102
  123. data/embulk-core/src/main/java/org/embulk/plugin/compat/PluginWrappers.java +0 -30
  124. data/embulk-core/src/main/java/org/embulk/plugin/compat/TransactionalFileInputWrapper.java +0 -96
  125. data/embulk-core/src/main/java/org/embulk/plugin/compat/TransactionalFileOutputWrapper.java +0 -102
  126. data/embulk-core/src/main/java/org/embulk/plugin/compat/TransactionalPageOutputWrapper.java +0 -95
  127. data/embulk-core/src/main/java/org/embulk/plugin/jar/InvalidJarPluginException.java +0 -14
  128. data/embulk-core/src/main/java/org/embulk/plugin/jar/JarPluginLoader.java +0 -205
  129. data/embulk-core/src/main/java/org/embulk/plugin/maven/MavenArtifactFinder.java +0 -134
  130. data/embulk-core/src/main/java/org/embulk/plugin/maven/MavenArtifactNotFoundException.java +0 -20
  131. data/embulk-core/src/main/java/org/embulk/plugin/maven/MavenPluginSource.java +0 -187
  132. data/embulk-core/src/main/java/org/embulk/plugin/maven/MavenPluginSourceModule.java +0 -22
  133. data/embulk-core/src/main/java/org/embulk/plugin/maven/MavenRepositoryNotFoundException.java +0 -31
  134. data/embulk-core/src/main/java/org/embulk/spi/AbortTransactionResource.java +0 -36
  135. data/embulk-core/src/main/java/org/embulk/spi/Buffer.java +0 -148
  136. data/embulk-core/src/main/java/org/embulk/spi/BufferAllocator.java +0 -8
  137. data/embulk-core/src/main/java/org/embulk/spi/CloseResource.java +0 -42
  138. data/embulk-core/src/main/java/org/embulk/spi/Column.java +0 -95
  139. data/embulk-core/src/main/java/org/embulk/spi/ColumnConfig.java +0 -112
  140. data/embulk-core/src/main/java/org/embulk/spi/ColumnVisitor.java +0 -16
  141. data/embulk-core/src/main/java/org/embulk/spi/DataException.java +0 -23
  142. data/embulk-core/src/main/java/org/embulk/spi/DecoderPlugin.java +0 -16
  143. data/embulk-core/src/main/java/org/embulk/spi/EncoderPlugin.java +0 -16
  144. data/embulk-core/src/main/java/org/embulk/spi/Exec.java +0 -113
  145. data/embulk-core/src/main/java/org/embulk/spi/ExecAction.java +0 -6
  146. data/embulk-core/src/main/java/org/embulk/spi/ExecSession.java +0 -225
  147. data/embulk-core/src/main/java/org/embulk/spi/ExecutorPlugin.java +0 -19
  148. data/embulk-core/src/main/java/org/embulk/spi/Extension.java +0 -44
  149. data/embulk-core/src/main/java/org/embulk/spi/FileInput.java +0 -11
  150. data/embulk-core/src/main/java/org/embulk/spi/FileInputPlugin.java +0 -30
  151. data/embulk-core/src/main/java/org/embulk/spi/FileInputRunner.java +0 -169
  152. data/embulk-core/src/main/java/org/embulk/spi/FileOutput.java +0 -13
  153. data/embulk-core/src/main/java/org/embulk/spi/FileOutputPlugin.java +0 -28
  154. data/embulk-core/src/main/java/org/embulk/spi/FileOutputRunner.java +0 -199
  155. data/embulk-core/src/main/java/org/embulk/spi/FilterPlugin.java +0 -18
  156. data/embulk-core/src/main/java/org/embulk/spi/FormatterPlugin.java +0 -18
  157. data/embulk-core/src/main/java/org/embulk/spi/GuessPlugin.java +0 -9
  158. data/embulk-core/src/main/java/org/embulk/spi/InputPlugin.java +0 -33
  159. data/embulk-core/src/main/java/org/embulk/spi/OutputPlugin.java +0 -29
  160. data/embulk-core/src/main/java/org/embulk/spi/Page.java +0 -86
  161. data/embulk-core/src/main/java/org/embulk/spi/PageBuilder.java +0 -696
  162. data/embulk-core/src/main/java/org/embulk/spi/PageFormat.java +0 -47
  163. data/embulk-core/src/main/java/org/embulk/spi/PageOutput.java +0 -11
  164. data/embulk-core/src/main/java/org/embulk/spi/PageReader.java +0 -248
  165. data/embulk-core/src/main/java/org/embulk/spi/ParserPlugin.java +0 -17
  166. data/embulk-core/src/main/java/org/embulk/spi/ProcessState.java +0 -10
  167. data/embulk-core/src/main/java/org/embulk/spi/ProcessTask.java +0 -117
  168. data/embulk-core/src/main/java/org/embulk/spi/Schema.java +0 -139
  169. data/embulk-core/src/main/java/org/embulk/spi/SchemaConfig.java +0 -93
  170. data/embulk-core/src/main/java/org/embulk/spi/SchemaConfigException.java +0 -22
  171. data/embulk-core/src/main/java/org/embulk/spi/TaskState.java +0 -81
  172. data/embulk-core/src/main/java/org/embulk/spi/TempFileException.java +0 -19
  173. data/embulk-core/src/main/java/org/embulk/spi/TempFileSpace.java +0 -88
  174. data/embulk-core/src/main/java/org/embulk/spi/Transactional.java +0 -10
  175. data/embulk-core/src/main/java/org/embulk/spi/TransactionalFileInput.java +0 -17
  176. data/embulk-core/src/main/java/org/embulk/spi/TransactionalFileOutput.java +0 -19
  177. data/embulk-core/src/main/java/org/embulk/spi/TransactionalPageOutput.java +0 -17
  178. data/embulk-core/src/main/java/org/embulk/spi/json/JsonParseException.java +0 -17
  179. data/embulk-core/src/main/java/org/embulk/spi/json/JsonParser.java +0 -233
  180. data/embulk-core/src/main/java/org/embulk/spi/json/RubyValueApi.java +0 -62
  181. data/embulk-core/src/main/java/org/embulk/spi/time/DateTimeZoneSerDe.java +0 -55
  182. data/embulk-core/src/main/java/org/embulk/spi/time/JRubyTimeParserHelper.java +0 -8
  183. data/embulk-core/src/main/java/org/embulk/spi/time/JRubyTimeParserHelperFactory.java +0 -6
  184. data/embulk-core/src/main/java/org/embulk/spi/time/Timestamp.java +0 -159
  185. data/embulk-core/src/main/java/org/embulk/spi/time/TimestampFormat.java +0 -100
  186. data/embulk-core/src/main/java/org/embulk/spi/time/TimestampFormatter.java +0 -125
  187. data/embulk-core/src/main/java/org/embulk/spi/time/TimestampParseException.java +0 -12
  188. data/embulk-core/src/main/java/org/embulk/spi/time/TimestampParser.java +0 -283
  189. data/embulk-core/src/main/java/org/embulk/spi/time/TimestampSerDe.java +0 -49
  190. data/embulk-core/src/main/java/org/embulk/spi/type/AbstractType.java +0 -58
  191. data/embulk-core/src/main/java/org/embulk/spi/type/BooleanType.java +0 -12
  192. data/embulk-core/src/main/java/org/embulk/spi/type/DoubleType.java +0 -12
  193. data/embulk-core/src/main/java/org/embulk/spi/type/JsonType.java +0 -14
  194. data/embulk-core/src/main/java/org/embulk/spi/type/LongType.java +0 -12
  195. data/embulk-core/src/main/java/org/embulk/spi/type/StringType.java +0 -12
  196. data/embulk-core/src/main/java/org/embulk/spi/type/TimestampType.java +0 -41
  197. data/embulk-core/src/main/java/org/embulk/spi/type/Type.java +0 -15
  198. data/embulk-core/src/main/java/org/embulk/spi/type/TypeDeserializer.java +0 -45
  199. data/embulk-core/src/main/java/org/embulk/spi/type/Types.java +0 -16
  200. data/embulk-core/src/main/java/org/embulk/spi/unit/ByteSize.java +0 -156
  201. data/embulk-core/src/main/java/org/embulk/spi/unit/LocalFile.java +0 -106
  202. data/embulk-core/src/main/java/org/embulk/spi/unit/LocalFileSerDe.java +0 -113
  203. data/embulk-core/src/main/java/org/embulk/spi/unit/ToString.java +0 -54
  204. data/embulk-core/src/main/java/org/embulk/spi/unit/ToStringMap.java +0 -34
  205. data/embulk-core/src/main/java/org/embulk/spi/util/CharsetSerDe.java +0 -55
  206. data/embulk-core/src/main/java/org/embulk/spi/util/Decoders.java +0 -81
  207. data/embulk-core/src/main/java/org/embulk/spi/util/DynamicColumnNotFoundException.java +0 -10
  208. data/embulk-core/src/main/java/org/embulk/spi/util/DynamicColumnSetter.java +0 -21
  209. data/embulk-core/src/main/java/org/embulk/spi/util/DynamicColumnSetterFactory.java +0 -100
  210. data/embulk-core/src/main/java/org/embulk/spi/util/DynamicPageBuilder.java +0 -162
  211. data/embulk-core/src/main/java/org/embulk/spi/util/Encoders.java +0 -81
  212. data/embulk-core/src/main/java/org/embulk/spi/util/Executors.java +0 -93
  213. data/embulk-core/src/main/java/org/embulk/spi/util/FileInputInputStream.java +0 -111
  214. data/embulk-core/src/main/java/org/embulk/spi/util/FileOutputOutputStream.java +0 -119
  215. data/embulk-core/src/main/java/org/embulk/spi/util/Filters.java +0 -100
  216. data/embulk-core/src/main/java/org/embulk/spi/util/InputStreamFileInput.java +0 -189
  217. data/embulk-core/src/main/java/org/embulk/spi/util/InputStreamTransactionalFileInput.java +0 -25
  218. data/embulk-core/src/main/java/org/embulk/spi/util/Inputs.java +0 -65
  219. data/embulk-core/src/main/java/org/embulk/spi/util/LineDecoder.java +0 -157
  220. data/embulk-core/src/main/java/org/embulk/spi/util/LineEncoder.java +0 -123
  221. data/embulk-core/src/main/java/org/embulk/spi/util/ListFileInput.java +0 -52
  222. data/embulk-core/src/main/java/org/embulk/spi/util/Newline.java +0 -38
  223. data/embulk-core/src/main/java/org/embulk/spi/util/OutputStreamFileOutput.java +0 -88
  224. data/embulk-core/src/main/java/org/embulk/spi/util/PagePrinter.java +0 -108
  225. data/embulk-core/src/main/java/org/embulk/spi/util/Pages.java +0 -149
  226. data/embulk-core/src/main/java/org/embulk/spi/util/ResumableInputStream.java +0 -168
  227. data/embulk-core/src/main/java/org/embulk/spi/util/RetryExecutor.java +0 -130
  228. data/embulk-core/src/main/java/org/embulk/spi/util/Timestamps.java +0 -53
  229. data/embulk-core/src/main/java/org/embulk/spi/util/dynamic/AbstractDynamicColumnSetter.java +0 -83
  230. data/embulk-core/src/main/java/org/embulk/spi/util/dynamic/BooleanColumnSetter.java +0 -71
  231. data/embulk-core/src/main/java/org/embulk/spi/util/dynamic/DefaultValueSetter.java +0 -20
  232. data/embulk-core/src/main/java/org/embulk/spi/util/dynamic/DoubleColumnSetter.java +0 -68
  233. data/embulk-core/src/main/java/org/embulk/spi/util/dynamic/JsonColumnSetter.java +0 -64
  234. data/embulk-core/src/main/java/org/embulk/spi/util/dynamic/LongColumnSetter.java +0 -78
  235. data/embulk-core/src/main/java/org/embulk/spi/util/dynamic/NullDefaultValueSetter.java +0 -39
  236. data/embulk-core/src/main/java/org/embulk/spi/util/dynamic/SkipColumnSetter.java +0 -57
  237. data/embulk-core/src/main/java/org/embulk/spi/util/dynamic/StringColumnSetter.java +0 -63
  238. data/embulk-core/src/main/java/org/embulk/spi/util/dynamic/TimestampColumnSetter.java +0 -72
  239. data/embulk-core/src/main/resources/embulk/logback-color.xml +0 -72
  240. data/embulk-core/src/main/resources/embulk/logback-console.xml +0 -14
  241. data/embulk-core/src/main/resources/embulk/logback-file.xml +0 -23
  242. data/embulk-core/src/main/resources/embulk/parent_first_packages.properties +0 -72
  243. data/embulk-core/src/main/resources/embulk/parent_first_resources.properties +0 -29
  244. data/embulk-core/src/test/java/org/embulk/EmbulkTestRuntime.java +0 -122
  245. data/embulk-core/src/test/java/org/embulk/GuiceBinder.java +0 -72
  246. data/embulk-core/src/test/java/org/embulk/RandomManager.java +0 -53
  247. data/embulk-core/src/test/java/org/embulk/TestPluginSourceModule.java +0 -23
  248. data/embulk-core/src/test/java/org/embulk/TestUtilityModule.java +0 -17
  249. data/embulk-core/src/test/java/org/embulk/config/TestConfigLoader.java +0 -66
  250. data/embulk-core/src/test/java/org/embulk/config/TestConfigSource.java +0 -114
  251. data/embulk-core/src/test/java/org/embulk/config/TestTaskSource.java +0 -70
  252. data/embulk-core/src/test/java/org/embulk/plugin/MockPluginSource.java +0 -58
  253. data/embulk-core/src/test/java/org/embulk/plugin/TestPluginType.java +0 -83
  254. data/embulk-core/src/test/java/org/embulk/plugin/TestPluginTypeSerDe.java +0 -67
  255. data/embulk-core/src/test/java/org/embulk/plugin/jar/ExampleJarSpiV0.java +0 -9
  256. data/embulk-core/src/test/java/org/embulk/plugin/jar/JarBuilder.java +0 -101
  257. data/embulk-core/src/test/java/org/embulk/plugin/jar/TestJarPluginLoader.java +0 -60
  258. data/embulk-core/src/test/java/org/embulk/plugin/maven/TestMavenArtifactFinder.java +0 -41
  259. data/embulk-core/src/test/java/org/embulk/spi/MockFileOutput.java +0 -63
  260. data/embulk-core/src/test/java/org/embulk/spi/MockFormatterPlugin.java +0 -108
  261. data/embulk-core/src/test/java/org/embulk/spi/MockParserPlugin.java +0 -80
  262. data/embulk-core/src/test/java/org/embulk/spi/PageTestUtils.java +0 -59
  263. data/embulk-core/src/test/java/org/embulk/spi/TestBuffer.java +0 -24
  264. data/embulk-core/src/test/java/org/embulk/spi/TestFileInputInputStream.java +0 -89
  265. data/embulk-core/src/test/java/org/embulk/spi/TestFileInputRunner.java +0 -199
  266. data/embulk-core/src/test/java/org/embulk/spi/TestFileOutputRunner.java +0 -221
  267. data/embulk-core/src/test/java/org/embulk/spi/TestInputStreamFileInput.java +0 -188
  268. data/embulk-core/src/test/java/org/embulk/spi/TestPageBuilderReader.java +0 -411
  269. data/embulk-core/src/test/java/org/embulk/spi/json/TestJsonParser.java +0 -102
  270. data/embulk-core/src/test/java/org/embulk/spi/time/TestTimestamp.java +0 -116
  271. data/embulk-core/src/test/java/org/embulk/spi/time/TestTimestampFormatterParser.java +0 -75
  272. data/embulk-core/src/test/java/org/embulk/spi/time/TestTimestampFormatterParserDeprecated.java +0 -67
  273. data/embulk-core/src/test/java/org/embulk/spi/type/TestTypeSerDe.java +0 -45
  274. data/embulk-core/src/test/java/org/embulk/spi/unit/TestByteSize.java +0 -79
  275. data/embulk-core/src/test/java/org/embulk/spi/util/TestLineDecoder.java +0 -237
  276. data/embulk-core/src/test/java/org/embulk/spi/util/TestLineEncoder.java +0 -123
  277. data/embulk-core/src/test/resources/m2.test/.gitignore +0 -1
  278. data/embulk-core/src/test/resources/m2.test/org/embulk/example/embulk-example-maven-artifact/0.1.2/embulk-example-maven-artifact-0.1.2.jar +0 -0
  279. data/embulk-core/src/test/resources/m2.test/org/embulk/example/embulk-example-maven-artifact/0.1.2/embulk-example-maven-artifact-0.1.2.jar.sha1 +0 -1
  280. data/embulk-core/src/test/resources/m2.test/org/embulk/example/embulk-example-maven-artifact/0.1.2/embulk-example-maven-artifact-0.1.2.pom +0 -9
  281. data/embulk-core/src/test/resources/m2.test/org/embulk/example/embulk-example-maven-artifact/0.1.2/embulk-example-maven-artifact-0.1.2.pom.sha1 +0 -1
  282. data/embulk-docs/Makefile +0 -178
  283. data/embulk-docs/build.gradle +0 -33
  284. data/embulk-docs/make.bat +0 -243
  285. data/embulk-docs/push-gh-pages.sh +0 -49
  286. data/embulk-docs/src/_static/embulk-architecture.png +0 -0
  287. data/embulk-docs/src/_static/embulk-logo-v2/embulk-logo-v2-oneline-tr.png +0 -0
  288. data/embulk-docs/src/_static/embulk-logo-v2/embulk-logo-v2-oneline-wt.png +0 -0
  289. data/embulk-docs/src/_static/embulk-logo-v2/embulk-logo-v2-oneline.ai +0 -396
  290. data/embulk-docs/src/_static/embulk-logo-v2/embulk-logo-v2-sq-tr-small.png +0 -0
  291. data/embulk-docs/src/_static/embulk-logo-v2/embulk-logo-v2-sq-tr.png +0 -0
  292. data/embulk-docs/src/_static/embulk-logo-v2/embulk-logo-v2-sq-wt.png +0 -0
  293. data/embulk-docs/src/_static/embulk-logo-v2/embulk-logo-v2-sq.ai +0 -417
  294. data/embulk-docs/src/_static/embulk-logo-v2/embulk-logo-v2-sq.svg +0 -1
  295. data/embulk-docs/src/_static/embulk-logo-v2/embulk-logo-v2-symbol-tr.png +0 -0
  296. data/embulk-docs/src/_static/embulk-logo-v2/embulk-logo-v2-symbol-wt.png +0 -0
  297. data/embulk-docs/src/_static/embulk-logo-v2/embulk-logo-v2-symbol.ai +1 -394
  298. data/embulk-docs/src/_static/embulk-logo.svg +0 -133
  299. data/embulk-docs/src/built-in.rst +0 -1005
  300. data/embulk-docs/src/conf.py +0 -260
  301. data/embulk-docs/src/customization.rst +0 -184
  302. data/embulk-docs/src/developers/index.rst +0 -45
  303. data/embulk-docs/src/index.rst +0 -94
  304. data/embulk-docs/src/logo.rst +0 -27
  305. data/embulk-docs/src/recipe.rst +0 -8
  306. data/embulk-docs/src/recipe/scheduled-csv-load-to-elasticsearch-kibana5.rst +0 -163
  307. data/embulk-docs/src/release.rst +0 -105
  308. data/embulk-docs/src/release/release-0.1.0.rst +0 -8
  309. data/embulk-docs/src/release/release-0.2.0.rst +0 -16
  310. data/embulk-docs/src/release/release-0.2.1.rst +0 -19
  311. data/embulk-docs/src/release/release-0.3.0.rst +0 -34
  312. data/embulk-docs/src/release/release-0.3.1.rst +0 -11
  313. data/embulk-docs/src/release/release-0.3.2.rst +0 -15
  314. data/embulk-docs/src/release/release-0.4.0.rst +0 -74
  315. data/embulk-docs/src/release/release-0.4.1.rst +0 -18
  316. data/embulk-docs/src/release/release-0.4.10.rst +0 -17
  317. data/embulk-docs/src/release/release-0.4.2.rst +0 -18
  318. data/embulk-docs/src/release/release-0.4.3.rst +0 -34
  319. data/embulk-docs/src/release/release-0.4.4.rst +0 -39
  320. data/embulk-docs/src/release/release-0.4.5.rst +0 -24
  321. data/embulk-docs/src/release/release-0.4.6.rst +0 -30
  322. data/embulk-docs/src/release/release-0.4.7.rst +0 -16
  323. data/embulk-docs/src/release/release-0.4.8.rst +0 -15
  324. data/embulk-docs/src/release/release-0.4.9.rst +0 -23
  325. data/embulk-docs/src/release/release-0.5.0.rst +0 -89
  326. data/embulk-docs/src/release/release-0.5.1.rst +0 -13
  327. data/embulk-docs/src/release/release-0.5.2.rst +0 -30
  328. data/embulk-docs/src/release/release-0.5.3.rst +0 -22
  329. data/embulk-docs/src/release/release-0.5.4.rst +0 -24
  330. data/embulk-docs/src/release/release-0.5.5.rst +0 -18
  331. data/embulk-docs/src/release/release-0.6.0.rst +0 -34
  332. data/embulk-docs/src/release/release-0.6.1.rst +0 -11
  333. data/embulk-docs/src/release/release-0.6.10.rst +0 -15
  334. data/embulk-docs/src/release/release-0.6.11.rst +0 -19
  335. data/embulk-docs/src/release/release-0.6.12.rst +0 -31
  336. data/embulk-docs/src/release/release-0.6.13.rst +0 -23
  337. data/embulk-docs/src/release/release-0.6.14.rst +0 -47
  338. data/embulk-docs/src/release/release-0.6.15.rst +0 -26
  339. data/embulk-docs/src/release/release-0.6.16.rst +0 -26
  340. data/embulk-docs/src/release/release-0.6.17.rst +0 -39
  341. data/embulk-docs/src/release/release-0.6.18.rst +0 -14
  342. data/embulk-docs/src/release/release-0.6.19.rst +0 -18
  343. data/embulk-docs/src/release/release-0.6.2.rst +0 -17
  344. data/embulk-docs/src/release/release-0.6.20.rst +0 -19
  345. data/embulk-docs/src/release/release-0.6.21.rst +0 -20
  346. data/embulk-docs/src/release/release-0.6.22.rst +0 -26
  347. data/embulk-docs/src/release/release-0.6.23.rst +0 -17
  348. data/embulk-docs/src/release/release-0.6.24.rst +0 -13
  349. data/embulk-docs/src/release/release-0.6.25.rst +0 -12
  350. data/embulk-docs/src/release/release-0.6.26.rst +0 -17
  351. data/embulk-docs/src/release/release-0.6.27.rst +0 -11
  352. data/embulk-docs/src/release/release-0.6.3.rst +0 -23
  353. data/embulk-docs/src/release/release-0.6.4.rst +0 -13
  354. data/embulk-docs/src/release/release-0.6.5.rst +0 -17
  355. data/embulk-docs/src/release/release-0.6.6.rst +0 -17
  356. data/embulk-docs/src/release/release-0.6.7.rst +0 -17
  357. data/embulk-docs/src/release/release-0.6.8.rst +0 -24
  358. data/embulk-docs/src/release/release-0.6.9.rst +0 -24
  359. data/embulk-docs/src/release/release-0.7.0.rst +0 -96
  360. data/embulk-docs/src/release/release-0.7.1.rst +0 -22
  361. data/embulk-docs/src/release/release-0.7.10.rst +0 -13
  362. data/embulk-docs/src/release/release-0.7.11.rst +0 -12
  363. data/embulk-docs/src/release/release-0.7.2.rst +0 -25
  364. data/embulk-docs/src/release/release-0.7.3.rst +0 -21
  365. data/embulk-docs/src/release/release-0.7.4.rst +0 -14
  366. data/embulk-docs/src/release/release-0.7.5.rst +0 -22
  367. data/embulk-docs/src/release/release-0.7.6.rst +0 -18
  368. data/embulk-docs/src/release/release-0.7.7.rst +0 -13
  369. data/embulk-docs/src/release/release-0.7.8.rst +0 -14
  370. data/embulk-docs/src/release/release-0.7.9.rst +0 -14
  371. data/embulk-docs/src/release/release-0.8.0.rst +0 -74
  372. data/embulk-docs/src/release/release-0.8.1.rst +0 -18
  373. data/embulk-docs/src/release/release-0.8.10.rst +0 -35
  374. data/embulk-docs/src/release/release-0.8.11.rst +0 -12
  375. data/embulk-docs/src/release/release-0.8.12.rst +0 -12
  376. data/embulk-docs/src/release/release-0.8.13.rst +0 -12
  377. data/embulk-docs/src/release/release-0.8.14.rst +0 -31
  378. data/embulk-docs/src/release/release-0.8.15.rst +0 -17
  379. data/embulk-docs/src/release/release-0.8.16.rst +0 -43
  380. data/embulk-docs/src/release/release-0.8.17.rst +0 -11
  381. data/embulk-docs/src/release/release-0.8.18.rst +0 -27
  382. data/embulk-docs/src/release/release-0.8.19.rst +0 -43
  383. data/embulk-docs/src/release/release-0.8.2.rst +0 -19
  384. data/embulk-docs/src/release/release-0.8.20.rst +0 -11
  385. data/embulk-docs/src/release/release-0.8.21.rst +0 -17
  386. data/embulk-docs/src/release/release-0.8.22.rst +0 -15
  387. data/embulk-docs/src/release/release-0.8.23.rst +0 -14
  388. data/embulk-docs/src/release/release-0.8.24.rst +0 -15
  389. data/embulk-docs/src/release/release-0.8.25.rst +0 -14
  390. data/embulk-docs/src/release/release-0.8.26.rst +0 -16
  391. data/embulk-docs/src/release/release-0.8.27.rst +0 -15
  392. data/embulk-docs/src/release/release-0.8.28.rst +0 -14
  393. data/embulk-docs/src/release/release-0.8.29.rst +0 -14
  394. data/embulk-docs/src/release/release-0.8.3.rst +0 -15
  395. data/embulk-docs/src/release/release-0.8.30.rst +0 -14
  396. data/embulk-docs/src/release/release-0.8.31.rst +0 -12
  397. data/embulk-docs/src/release/release-0.8.32.rst +0 -14
  398. data/embulk-docs/src/release/release-0.8.33.rst +0 -13
  399. data/embulk-docs/src/release/release-0.8.34.rst +0 -12
  400. data/embulk-docs/src/release/release-0.8.35.rst +0 -12
  401. data/embulk-docs/src/release/release-0.8.4.rst +0 -18
  402. data/embulk-docs/src/release/release-0.8.5.rst +0 -11
  403. data/embulk-docs/src/release/release-0.8.6.rst +0 -14
  404. data/embulk-docs/src/release/release-0.8.7.rst +0 -18
  405. data/embulk-docs/src/release/release-0.8.8.rst +0 -18
  406. data/embulk-docs/src/release/release-0.8.9.rst +0 -14
  407. data/embulk-jruby-strptime/build.gradle +0 -3
  408. data/embulk-jruby-strptime/src/main/java/org/embulk/spi/time/RubyDateParser.java +0 -121
  409. data/embulk-jruby-strptime/src/main/java/org/embulk/spi/time/StrptimeFormat.java +0 -53
  410. data/embulk-jruby-strptime/src/main/java/org/embulk/spi/time/StrptimeParser.java +0 -884
  411. data/embulk-jruby-strptime/src/main/java/org/embulk/spi/time/StrptimeToken.java +0 -111
  412. data/embulk-jruby-strptime/src/main/java/org/embulk/spi/time/TimeZoneConverter.java +0 -466
  413. data/embulk-jruby-strptime/src/main/java/org/embulk/spi/time/lexer/StrptimeLexer.flex +0 -62
  414. data/embulk-jruby-strptime/src/main/java/org/embulk/spi/time/lexer/StrptimeLexer.java +0 -577
  415. data/embulk-standards/build.gradle +0 -7
  416. data/embulk-standards/src/main/java/org/embulk/standards/Bzip2FileDecoderPlugin.java +0 -55
  417. data/embulk-standards/src/main/java/org/embulk/standards/Bzip2FileEncoderPlugin.java +0 -67
  418. data/embulk-standards/src/main/java/org/embulk/standards/ConfigInputPlugin.java +0 -170
  419. data/embulk-standards/src/main/java/org/embulk/standards/CsvFormatterPlugin.java +0 -295
  420. data/embulk-standards/src/main/java/org/embulk/standards/CsvParserPlugin.java +0 -394
  421. data/embulk-standards/src/main/java/org/embulk/standards/CsvTokenizer.java +0 -512
  422. data/embulk-standards/src/main/java/org/embulk/standards/GzipFileDecoderPlugin.java +0 -55
  423. data/embulk-standards/src/main/java/org/embulk/standards/GzipFileEncoderPlugin.java +0 -71
  424. data/embulk-standards/src/main/java/org/embulk/standards/JsonParserPlugin.java +0 -235
  425. data/embulk-standards/src/main/java/org/embulk/standards/LocalFileInputPlugin.java +0 -232
  426. data/embulk-standards/src/main/java/org/embulk/standards/LocalFileOutputPlugin.java +0 -148
  427. data/embulk-standards/src/main/java/org/embulk/standards/NullOutputPlugin.java +0 -59
  428. data/embulk-standards/src/main/java/org/embulk/standards/RemoveColumnsFilterPlugin.java +0 -268
  429. data/embulk-standards/src/main/java/org/embulk/standards/RenameFilterPlugin.java +0 -479
  430. data/embulk-standards/src/main/java/org/embulk/standards/StandardPluginExtension.java +0 -16
  431. data/embulk-standards/src/main/java/org/embulk/standards/StandardPluginModule.java +0 -60
  432. data/embulk-standards/src/main/java/org/embulk/standards/StdoutOutputPlugin.java +0 -85
  433. data/embulk-standards/src/main/resources/META-INF/services/org.embulk.spi.Extension +0 -1
  434. data/embulk-standards/src/test/java/org/embulk/standards/TestCsvFormatterPlugin.java +0 -312
  435. data/embulk-standards/src/test/java/org/embulk/standards/TestCsvParserPlugin.java +0 -75
  436. data/embulk-standards/src/test/java/org/embulk/standards/TestCsvTokenizer.java +0 -381
  437. data/embulk-standards/src/test/java/org/embulk/standards/TestJsonParserPlugin.java +0 -351
  438. data/embulk-standards/src/test/java/org/embulk/standards/TestRemoveColumnsFilterPlugin.java +0 -121
  439. data/embulk-standards/src/test/java/org/embulk/standards/TestRenameFilterPlugin.java +0 -1020
  440. data/embulk-standards/src/test/java/org/embulk/standards/guess/TestCsvAllStringsGuessPlugin.java +0 -38
  441. data/embulk-standards/src/test/java/org/embulk/standards/guess/TestCsvGuessPlugin.java +0 -248
  442. data/embulk-standards/src/test/java/org/embulk/standards/preview/TestFilePreview.java +0 -73
  443. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_1_int_single_column_row.csv +0 -1
  444. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_1_int_single_column_row_and_header.csv +0 -2
  445. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_1_int_single_column_row_and_header_guessed.yml +0 -12
  446. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_1_int_single_column_row_and_header_seed.yml +0 -1
  447. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_1_int_single_column_row_guessed.yml +0 -12
  448. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_1_int_single_column_row_seed.yml +0 -1
  449. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_1_rows.csv +0 -1
  450. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_1_rows_and_header.csv +0 -2
  451. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_1_rows_and_header_guessed.yml +0 -16
  452. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_1_rows_and_header_seed.yml +0 -1
  453. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_1_rows_and_header_with_trim_needed.csv +0 -2
  454. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_1_rows_and_header_with_trim_needed_guessed.yml +0 -16
  455. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_1_rows_and_header_with_trim_needed_seed.yml +0 -1
  456. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_1_rows_guessed.yml +0 -16
  457. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_1_rows_seed.yml +0 -1
  458. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_1_rows_with_trim_needed.csv +0 -1
  459. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_1_rows_with_trim_needed_guessed.yml +0 -16
  460. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_1_rows_with_trim_needed_seed.yml +0 -1
  461. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_1_string_single_column_row.csv +0 -1
  462. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_1_string_single_column_row_and_header.csv +0 -2
  463. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_1_string_single_column_row_and_header_guessed.yml +0 -12
  464. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_1_string_single_column_row_and_header_seed.yml +0 -1
  465. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_1_string_single_column_row_guessed.yml +0 -12
  466. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_1_string_single_column_row_seed.yml +0 -1
  467. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_2_int_single_column_rows.csv +0 -2
  468. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_2_int_single_column_rows_guessed.yml +0 -12
  469. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_2_int_single_column_rows_seed.yml +0 -1
  470. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_2_rows.csv +0 -2
  471. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_2_rows_and_header.csv +0 -3
  472. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_2_rows_and_header_guessed.yml +0 -16
  473. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_2_rows_and_header_seed.yml +0 -1
  474. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_2_rows_guessed.yml +0 -16
  475. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_2_rows_seed.yml +0 -1
  476. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_2_string_single_column_rows.csv +0 -2
  477. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_2_string_single_column_rows_guessed.yml +0 -12
  478. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_2_string_single_column_rows_seed.yml +0 -1
  479. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_backslash_escape.csv +0 -5
  480. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_backslash_escape_guessed.yml +0 -17
  481. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_backslash_escape_seed.yml +0 -1
  482. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_double_single_column.csv +0 -12
  483. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_double_single_column_guessed.yml +0 -12
  484. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_double_single_column_seed.yml +0 -1
  485. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_int_single_column.csv +0 -4
  486. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_int_single_column_guessed.yml +0 -12
  487. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_int_single_column_seed.yml +0 -1
  488. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_int_single_column_with_header.csv +0 -5
  489. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_int_single_column_with_header_guessed.yml +0 -12
  490. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_int_single_column_with_header_seed.yml +0 -1
  491. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_semicolon_delimiter.csv +0 -5
  492. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_semicolon_delimiter_guessed.yml +0 -17
  493. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_semicolon_delimiter_seed.yml +0 -1
  494. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_simple.csv +0 -5
  495. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_simple_guessed.yml +0 -17
  496. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_simple_seed.yml +0 -1
  497. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_single_quote.csv +0 -5
  498. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_single_quote_guessed.yml +0 -17
  499. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_single_quote_seed.yml +0 -1
  500. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_skip_suggest_if_empty_sample_records.csv +0 -5
  501. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_skip_suggest_if_empty_sample_records_guessed.yml +0 -2
  502. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_skip_suggest_if_empty_sample_records_seed.yml +0 -1
  503. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_string_single_column.csv +0 -4
  504. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_string_single_column_guessed.yml +0 -12
  505. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_string_single_column_seed.yml +0 -1
  506. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_string_single_column_with_header.csv +0 -5
  507. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_string_single_column_with_header_guessed.yml +0 -12
  508. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_string_single_column_with_header_seed.yml +0 -1
  509. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_tab_delimiter.csv +0 -4
  510. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_tab_delimiter_guessed.yml +0 -16
  511. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_tab_delimiter_seed.yml +0 -1
  512. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv_all_strings/test/test_simple.csv +0 -5
  513. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv_all_strings/test/test_simple_guessed.yml +0 -17
  514. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv_all_strings/test/test_simple_seed.yml +0 -1
  515. data/embulk-standards/src/test/resources/org/embulk/standards/preview/file/test/test_sample_buffer_bytes.csv +0 -5
  516. data/embulk-standards/src/test/resources/org/embulk/standards/preview/file/test/test_sample_buffer_bytes_exec.yml +0 -1
  517. data/embulk-standards/src/test/resources/org/embulk/standards/preview/file/test/test_sample_buffer_bytes_load.yml +0 -19
  518. data/embulk-standards/src/test/resources/org/embulk/standards/preview/file/test/test_sample_buffer_bytes_previewed.csv +0 -1
  519. data/embulk-standards/src/test/resources/org/embulk/standards/preview/file/test/test_simple.csv +0 -5
  520. data/embulk-standards/src/test/resources/org/embulk/standards/preview/file/test/test_simple_load.yml +0 -19
  521. data/embulk-standards/src/test/resources/org/embulk/standards/preview/file/test/test_simple_previewed.csv +0 -4
  522. data/embulk-standards/src/test/resources/org/embulk/standards/remove_columns/test/test_keep.csv +0 -5
  523. data/embulk-standards/src/test/resources/org/embulk/standards/remove_columns/test/test_keep_expected.csv +0 -4
  524. data/embulk-standards/src/test/resources/org/embulk/standards/remove_columns/test/test_keep_filter.yml +0 -2
  525. data/embulk-standards/src/test/resources/org/embulk/standards/remove_columns/test/test_keep_in.yml +0 -18
  526. data/embulk-standards/src/test/resources/org/embulk/standards/remove_columns/test/test_keep_with_duplicated_column_names.csv +0 -5
  527. data/embulk-standards/src/test/resources/org/embulk/standards/remove_columns/test/test_keep_with_duplicated_column_names.yml +0 -2
  528. data/embulk-standards/src/test/resources/org/embulk/standards/remove_columns/test/test_keep_with_duplicated_column_names_expected.csv +0 -4
  529. data/embulk-standards/src/test/resources/org/embulk/standards/remove_columns/test/test_keep_with_duplicated_column_names_in.yml +0 -17
  530. data/embulk-standards/src/test/resources/org/embulk/standards/remove_columns/test/test_keep_with_unmatched_filter.yml +0 -3
  531. data/embulk-standards/src/test/resources/org/embulk/standards/remove_columns/test/test_keep_without_unmatched_filter.yml +0 -2
  532. data/embulk-standards/src/test/resources/org/embulk/standards/remove_columns/test/test_remove.csv +0 -5
  533. data/embulk-standards/src/test/resources/org/embulk/standards/remove_columns/test/test_remove_expected.csv +0 -4
  534. data/embulk-standards/src/test/resources/org/embulk/standards/remove_columns/test/test_remove_filter.yml +0 -2
  535. data/embulk-standards/src/test/resources/org/embulk/standards/remove_columns/test/test_remove_in.yml +0 -18
  536. data/embulk-standards/src/test/resources/org/embulk/standards/remove_columns/test/test_remove_with_unmatched_filter.yml +0 -3
  537. data/embulk-standards/src/test/resources/org/embulk/standards/remove_columns/test/test_remove_without_unmatched_filter.yml +0 -2
  538. data/embulk-test/build.gradle +0 -6
  539. data/embulk-test/src/main/java/org/embulk/test/EmbulkTests.java +0 -75
  540. data/embulk-test/src/main/java/org/embulk/test/PreviewResultInputPlugin.java +0 -65
  541. data/embulk-test/src/main/java/org/embulk/test/TestingBulkLoader.java +0 -129
  542. data/embulk-test/src/main/java/org/embulk/test/TestingEmbulk.java +0 -710
  543. data/gradle/wrapper/gradle-wrapper.jar +0 -0
  544. data/gradle/wrapper/gradle-wrapper.properties +0 -5
  545. data/gradlew +0 -172
  546. data/gradlew.bat +0 -84
  547. data/lib/embulk/data/bundle/.bundle/config +0 -3
  548. data/lib/embulk/data/bundle/.ruby-version +0 -1
  549. data/lib/embulk/data/bundle/Gemfile +0 -31
  550. data/lib/embulk/data/bundle/embulk/filter/example.rb +0 -42
  551. data/lib/embulk/data/bundle/embulk/input/example.rb +0 -54
  552. data/lib/embulk/data/bundle/embulk/output/example.rb +0 -58
  553. data/lib/embulk/data/new/LICENSE.txt +0 -21
  554. data/lib/embulk/data/new/README.md.vm +0 -106
  555. data/lib/embulk/data/new/gitignore.vm +0 -17
  556. data/lib/embulk/data/new/java/build.gradle.vm +0 -96
  557. data/lib/embulk/data/new/java/config/checkstyle/checkstyle.xml +0 -128
  558. data/lib/embulk/data/new/java/config/checkstyle/default.xml +0 -108
  559. data/lib/embulk/data/new/java/decoder.java.vm +0 -86
  560. data/lib/embulk/data/new/java/encoder.java.vm +0 -88
  561. data/lib/embulk/data/new/java/file_input.java.vm +0 -145
  562. data/lib/embulk/data/new/java/file_output.java.vm +0 -95
  563. data/lib/embulk/data/new/java/filter.java.vm +0 -57
  564. data/lib/embulk/data/new/java/formatter.java.vm +0 -55
  565. data/lib/embulk/data/new/java/gradle/wrapper/gradle-wrapper.jar +0 -0
  566. data/lib/embulk/data/new/java/gradle/wrapper/gradle-wrapper.properties +0 -5
  567. data/lib/embulk/data/new/java/gradlew +0 -172
  568. data/lib/embulk/data/new/java/gradlew.bat +0 -84
  569. data/lib/embulk/data/new/java/input.java.vm +0 -89
  570. data/lib/embulk/data/new/java/output.java.vm +0 -79
  571. data/lib/embulk/data/new/java/parser.java.vm +0 -61
  572. data/lib/embulk/data/new/java/plugin_loader.rb.vm +0 -3
  573. data/lib/embulk/data/new/java/test.java.vm +0 -5
  574. data/lib/embulk/data/new/ruby/.ruby-version +0 -1
  575. data/lib/embulk/data/new/ruby/Gemfile +0 -2
  576. data/lib/embulk/data/new/ruby/Rakefile +0 -3
  577. data/lib/embulk/data/new/ruby/decoder_guess.rb.vm +0 -25
  578. data/lib/embulk/data/new/ruby/filter.rb.vm +0 -50
  579. data/lib/embulk/data/new/ruby/formatter.rb.vm +0 -49
  580. data/lib/embulk/data/new/ruby/gemspec.vm +0 -20
  581. data/lib/embulk/data/new/ruby/input.rb.vm +0 -59
  582. data/lib/embulk/data/new/ruby/output.rb.vm +0 -61
  583. data/lib/embulk/data/new/ruby/parser.rb.vm +0 -44
  584. data/lib/embulk/data/new/ruby/parser_guess.rb.vm +0 -65
  585. data/lib/embulk/data/package_data.rb +0 -59
  586. data/lib/embulk/java/time_helper.rb +0 -79
  587. data/lib/embulk/runner.rb +0 -53
  588. data/settings.gradle +0 -8
  589. data/test/guess/test_csv_all_strings.rb +0 -43
  590. data/test/guess/test_csv_guess.rb +0 -170
  591. data/test/guess/test_schema_guess.rb +0 -29
  592. data/test/guess/test_time_format_guess.rb +0 -135
  593. data/test/helper.rb +0 -23
  594. data/test/mri/date/test_date_strptime.rb +0 -515
  595. data/test/run-test.rb +0 -28
@@ -1,17 +0,0 @@
1
- package org.embulk.config;
2
-
3
- public class UserDataExceptions
4
- {
5
- private UserDataExceptions() { }
6
-
7
- public static boolean isUserDataException(Throwable exception)
8
- {
9
- while (exception != null) {
10
- if (exception instanceof UserDataException) {
11
- return true;
12
- }
13
- exception = exception.getCause();
14
- }
15
- return false;
16
- }
17
- }
@@ -1,53 +0,0 @@
1
- package org.embulk.config;
2
-
3
- import java.util.List;
4
- import java.util.regex.Pattern;
5
- import org.yaml.snakeyaml.resolver.Resolver;
6
- import org.yaml.snakeyaml.nodes.Tag;
7
- import org.yaml.snakeyaml.nodes.NodeId;
8
-
9
- public class YamlTagResolver
10
- extends Resolver
11
- {
12
- // Resolver converts a node (scalar, sequence, map, or !!tag with them)
13
- // to a tag (INT, FLOAT, STR, SEQ, MAP, ...). For example, converting
14
- // "123" (scalar) to 123 (INT), or "true" (scalar) to true (BOOL).
15
- // This is called by snakeyaml Composer which converts parser events
16
- // into an object.
17
- //
18
- // jackson-dataformat-yaml doesn't use this because it traverses parser
19
- // events without using Composer.
20
-
21
- public static final Pattern FLOAT_EXCEPTING_ZERO_START = Pattern
22
- .compile("^([-+]?(\\.[0-9]+|[1-9][0-9_]*(\\.[0-9_]*)?)([eE][-+]?[0-9]+)?|[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\\.[0-9_]*|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");
23
-
24
- @Override
25
- public void addImplicitResolver(Tag tag, Pattern regexp, String first)
26
- {
27
- // This method is called by constructor through addImplicitResolvers
28
- // to setup default implicit resolvers.
29
-
30
- if (tag.equals(Tag.FLOAT)) {
31
- super.addImplicitResolver(Tag.FLOAT, FLOAT_EXCEPTING_ZERO_START, "-+0123456789.");
32
- }
33
- else if (tag.equals(Tag.BOOL)) {
34
- // use stricter rule (reject 'On', 'Off', 'Yes', 'No')
35
- super.addImplicitResolver(Tag.BOOL, Pattern.compile("^(?:[Tt]rue|[Ff]alse)$"), "TtFf");
36
- }
37
- else if (tag.equals(Tag.TIMESTAMP)) {
38
- // This solves some unexpected behavior that snakeyaml
39
- // deserializes "2015-01-01 00:00:00" to java.util.Date
40
- // but jackson serializes java.util.Date to an integer.
41
- return;
42
- }
43
- else {
44
- super.addImplicitResolver(tag, regexp, first);
45
- }
46
- }
47
-
48
- @Override
49
- public Tag resolve(NodeId kind, String value, boolean implicit)
50
- {
51
- return super.resolve(kind, value, implicit); // checks implicit resolvers
52
- }
53
- }
@@ -1,88 +0,0 @@
1
- package org.embulk.exec;
2
-
3
- import org.embulk.config.ConfigDiff;
4
- import org.embulk.config.ConfigSource;
5
- import org.embulk.config.TaskReport;
6
- import org.embulk.config.TaskSource;
7
- import org.embulk.spi.Buffer;
8
- import org.embulk.spi.Exec;
9
- import org.embulk.spi.FileInputPlugin;
10
- import org.embulk.spi.TransactionalFileInput;
11
-
12
- import java.util.List;
13
-
14
- public class BufferFileInputPlugin
15
- implements FileInputPlugin
16
- {
17
- private Buffer buffer;
18
-
19
- public BufferFileInputPlugin(Buffer buffer)
20
- {
21
- this.buffer = buffer;
22
- }
23
-
24
- public ConfigDiff transaction(ConfigSource config, FileInputPlugin.Control control)
25
- {
26
- control.run(Exec.newTaskSource(), 1);
27
- return Exec.newConfigDiff();
28
- }
29
-
30
- public ConfigDiff resume(TaskSource taskSource,
31
- int taskCount,
32
- FileInputPlugin.Control control)
33
- {
34
- throw new UnsupportedOperationException();
35
- }
36
-
37
- public void cleanup(TaskSource taskSource,
38
- int taskCount,
39
- List<TaskReport> successTaskReports)
40
- {
41
- if (buffer != null) {
42
- buffer.release();
43
- buffer = null;
44
- }
45
- }
46
-
47
- public TransactionalFileInput open(TaskSource taskSource, int taskIndex)
48
- {
49
- return new BufferTransactionalFileInput(buffer);
50
- }
51
-
52
- private static class BufferTransactionalFileInput
53
- implements TransactionalFileInput
54
- {
55
- private Buffer buffer;
56
-
57
- public BufferTransactionalFileInput(Buffer buffer)
58
- {
59
- this.buffer = buffer;
60
- }
61
-
62
- @Override
63
- public Buffer poll()
64
- {
65
- Buffer b = buffer;
66
- buffer = null;
67
- return b;
68
- }
69
-
70
- @Override
71
- public boolean nextFile()
72
- {
73
- return buffer != null;
74
- }
75
-
76
- @Override
77
- public void close() { }
78
-
79
- @Override
80
- public void abort() { }
81
-
82
- @Override
83
- public TaskReport commit()
84
- {
85
- return null;
86
- }
87
- }
88
- }
@@ -1,754 +0,0 @@
1
- package org.embulk.exec;
2
-
3
- import java.util.List;
4
- import java.util.concurrent.ExecutionException;
5
- import com.google.common.base.Optional;
6
- import com.google.common.collect.ImmutableList;
7
- import com.google.inject.Inject;
8
- import com.google.inject.Injector;
9
- import com.google.common.base.Throwables;
10
- import org.embulk.config.Task;
11
- import org.embulk.config.Config;
12
- import org.embulk.config.ConfigDefault;
13
- import org.embulk.config.ConfigSource;
14
- import org.embulk.config.ConfigException;
15
- import org.embulk.config.TaskSource;
16
- import org.embulk.config.ConfigDiff;
17
- import org.embulk.config.TaskReport;
18
- import org.embulk.plugin.PluginType;
19
- import org.embulk.spi.FileInputRunner;
20
- import org.embulk.spi.FileOutputRunner;
21
- import org.embulk.spi.Schema;
22
- import org.embulk.spi.Exec;
23
- import org.embulk.spi.ExecSession;
24
- import org.embulk.spi.ExecAction;
25
- import org.embulk.spi.ExecutorPlugin;
26
- import org.embulk.spi.ProcessTask;
27
- import org.embulk.spi.ProcessState;
28
- import org.embulk.spi.TaskState;
29
- import org.embulk.spi.InputPlugin;
30
- import org.embulk.spi.FilterPlugin;
31
- import org.embulk.spi.OutputPlugin;
32
- import org.embulk.spi.util.Filters;
33
- import org.slf4j.Logger;
34
-
35
- public class BulkLoader
36
- {
37
- private final Injector injector;
38
-
39
- public interface BulkLoaderTask
40
- extends Task
41
- {
42
- @Config("exec")
43
- @ConfigDefault("{}")
44
- public ConfigSource getExecConfig();
45
-
46
- @Config("in")
47
- public ConfigSource getInputConfig();
48
-
49
- @Config("filters")
50
- @ConfigDefault("[]")
51
- public List<ConfigSource> getFilterConfigs();
52
-
53
- @Config("out")
54
- public ConfigSource getOutputConfig();
55
-
56
- public TaskSource getOutputTask();
57
- public void setOutputTask(TaskSource taskSource);
58
- }
59
-
60
- @Inject
61
- public BulkLoader(Injector injector,
62
- @ForSystemConfig ConfigSource systemConfig)
63
- {
64
- this.injector = injector;
65
- }
66
-
67
- protected static class LoaderState
68
- implements ProcessState
69
- {
70
- private final Logger logger;
71
-
72
- private final ProcessPluginSet plugins;
73
-
74
- private volatile TaskSource inputTaskSource;
75
- private volatile TaskSource outputTaskSource;
76
- private volatile List<TaskSource> filterTaskSources;
77
- private volatile List<Schema> schemas;
78
- private volatile Schema executorSchema;
79
- private volatile TransactionStage transactionStage;
80
-
81
- private volatile ConfigDiff inputConfigDiff;
82
- private volatile ConfigDiff outputConfigDiff;
83
-
84
- private volatile List<TaskState> inputTaskStates;
85
- private volatile List<TaskState> outputTaskStates;
86
-
87
- public LoaderState(Logger logger, ProcessPluginSet plugins)
88
- {
89
- this.logger = logger;
90
- this.plugins = plugins;
91
- }
92
-
93
- public Logger getLogger()
94
- {
95
- return logger;
96
- }
97
-
98
- public void setSchemas(List<Schema> schemas)
99
- {
100
- this.schemas = schemas;
101
- }
102
-
103
- public void setExecutorSchema(Schema executorSchema)
104
- {
105
- this.executorSchema = executorSchema;
106
- }
107
-
108
- public void setTransactionStage(TransactionStage transactionStage)
109
- {
110
- this.transactionStage = transactionStage;
111
- }
112
-
113
- public void setInputTaskSource(TaskSource inputTaskSource)
114
- {
115
- this.inputTaskSource = inputTaskSource;
116
- }
117
-
118
- public void setOutputTaskSource(TaskSource outputTaskSource)
119
- {
120
- this.outputTaskSource = outputTaskSource;
121
- }
122
-
123
- public void setFilterTaskSources(List<TaskSource> filterTaskSources)
124
- {
125
- this.filterTaskSources = filterTaskSources;
126
- }
127
-
128
- public ProcessTask buildProcessTask()
129
- {
130
- return new ProcessTask(
131
- plugins.getInputPluginType(), plugins.getOutputPluginType(), plugins.getFilterPluginTypes(),
132
- inputTaskSource, outputTaskSource, filterTaskSources,
133
- schemas, executorSchema, Exec.newTaskSource());
134
- }
135
-
136
- @Override
137
- public void initialize(int inputTaskCount, int outputTaskCount)
138
- {
139
- if (inputTaskStates != null || outputTaskStates != null) {
140
- // initialize is called twice if resume (by restoreResumedTaskReports and ExecutorPlugin.execute)
141
- if (inputTaskStates.size() != inputTaskCount || outputTaskStates.size() != outputTaskCount) {
142
- throw new ConfigException(String.format(
143
- "input task count and output task (%d and %d) must be same with the first execution (%d and %d) whenre resumed",
144
- inputTaskCount, outputTaskCount, inputTaskStates.size(), outputTaskStates.size()));
145
- }
146
- } else {
147
- ImmutableList.Builder<TaskState> inputTaskStates = ImmutableList.builder();
148
- ImmutableList.Builder<TaskState> outputTaskStates = ImmutableList.builder();
149
- for (int i=0; i < inputTaskCount; i++) {
150
- inputTaskStates.add(new TaskState());
151
- }
152
- for (int i=0; i < outputTaskCount; i++) {
153
- outputTaskStates.add(new TaskState());
154
- }
155
- this.inputTaskStates = inputTaskStates.build();
156
- this.outputTaskStates = outputTaskStates.build();
157
- }
158
- }
159
-
160
- @Override
161
- public TaskState getInputTaskState(int inputTaskIndex)
162
- {
163
- return inputTaskStates.get(inputTaskIndex);
164
- }
165
-
166
- @Override
167
- public TaskState getOutputTaskState(int outputTaskIndex)
168
- {
169
- return outputTaskStates.get(outputTaskIndex);
170
- }
171
-
172
- public boolean isAllTasksCommitted()
173
- {
174
- // here can't assume that input tasks are committed when output tasks are
175
- // committed because that's controlled by executor plugins. some executor
176
- // plugins (especially mapreduce executor) may commit output tasks even
177
- // when some input tasks failed. This is asemantically allowed behavior for
178
- // executor plugins (as long as output plugin is atomic and idempotent).
179
- if (inputTaskStates == null || outputTaskStates == null) {
180
- // not initialized
181
- return false;
182
- }
183
- for (TaskState inputTaskState : inputTaskStates) {
184
- if (!inputTaskState.isCommitted()) {
185
- return false;
186
- }
187
- }
188
- for (TaskState outputTaskState : outputTaskStates) {
189
- if (!outputTaskState.isCommitted()) {
190
- return false;
191
- }
192
- }
193
- return true;
194
- }
195
-
196
- public int countUncommittedInputTasks()
197
- {
198
- if (inputTaskStates == null) {
199
- // not initialized
200
- return 0;
201
- }
202
- int count = 0;
203
- for (TaskState inputTaskState : inputTaskStates) {
204
- if (!inputTaskState.isCommitted()) {
205
- count++;
206
- }
207
- }
208
- return count;
209
- }
210
-
211
- public int countUncommittedOutputTasks()
212
- {
213
- if (outputTaskStates == null) {
214
- // not initialized
215
- return 0;
216
- }
217
- int count = 0;
218
- for (TaskState outputTaskState : outputTaskStates) {
219
- if (!outputTaskState.isCommitted()) {
220
- count++;
221
- }
222
- }
223
- return count;
224
- }
225
-
226
- public boolean isAllTransactionsCommitted()
227
- {
228
- return inputConfigDiff != null && outputConfigDiff != null;
229
- }
230
-
231
- public void setOutputConfigDiff(ConfigDiff outputConfigDiff)
232
- {
233
- if (outputConfigDiff == null) {
234
- outputConfigDiff = Exec.newConfigDiff();
235
- }
236
- this.outputConfigDiff = outputConfigDiff;
237
- }
238
-
239
- public void setInputConfigDiff(ConfigDiff inputConfigDiff)
240
- {
241
- if (inputConfigDiff == null) {
242
- inputConfigDiff = Exec.newConfigDiff();
243
- }
244
- this.inputConfigDiff = inputConfigDiff;
245
- }
246
-
247
- private List<Optional<TaskReport>> getInputTaskReports()
248
- {
249
- ImmutableList.Builder<Optional<TaskReport>> builder = ImmutableList.builder();
250
- for (TaskState inputTaskState : inputTaskStates) {
251
- builder.add(inputTaskState.getTaskReport());
252
- }
253
- return builder.build();
254
- }
255
-
256
- private List<Optional<TaskReport>> getOutputTaskReports()
257
- {
258
- ImmutableList.Builder<Optional<TaskReport>> builder = ImmutableList.builder();
259
- for (TaskState outputTaskState : outputTaskStates) {
260
- builder.add(outputTaskState.getTaskReport());
261
- }
262
- return builder.build();
263
- }
264
-
265
- public List<TaskReport> getAllInputTaskReports()
266
- {
267
- ImmutableList.Builder<TaskReport> builder = ImmutableList.builder();
268
- for (TaskState inputTaskState : inputTaskStates) {
269
- builder.add(inputTaskState.getTaskReport().get());
270
- }
271
- return builder.build();
272
- }
273
-
274
- public List<TaskReport> getAllOutputTaskReports()
275
- {
276
- ImmutableList.Builder<TaskReport> builder = ImmutableList.builder();
277
- for (TaskState outputTaskState : outputTaskStates) {
278
- builder.add(outputTaskState.getTaskReport().get());
279
- }
280
- return builder.build();
281
- }
282
-
283
- public List<Throwable> getExceptions()
284
- {
285
- ImmutableList.Builder<Throwable> builder = ImmutableList.builder();
286
- if (inputTaskStates != null) { // null if not initialized yet
287
- for (TaskState inputTaskState : inputTaskStates) {
288
- Optional<Throwable> exception = inputTaskState.getException();
289
- if (exception.isPresent()) {
290
- builder.add(exception.get());
291
- }
292
- }
293
- }
294
- if (outputTaskStates != null) { // null if not initialized yet
295
- for (TaskState outputTaskState : outputTaskStates) {
296
- Optional<Throwable> exception = outputTaskState.getException();
297
- if (exception.isPresent()) {
298
- builder.add(exception.get());
299
- }
300
- }
301
- }
302
- return builder.build();
303
- }
304
-
305
- public RuntimeException getRepresentativeException()
306
- {
307
- RuntimeException top = null;
308
- for (Throwable ex : getExceptions()) {
309
- if (top != null) {
310
- top.addSuppressed(ex);
311
- } else {
312
- if (ex instanceof RuntimeException) {
313
- top = (RuntimeException) ex;
314
- } else {
315
- top = new RuntimeException(ex);
316
- }
317
- }
318
- }
319
- if (top == null) {
320
- top = new RuntimeException("Some transactions are not committed");
321
- }
322
- return top;
323
- }
324
-
325
- public ExecutionResult buildExecuteResult()
326
- {
327
- return buildExecuteResultWithWarningException(null);
328
- }
329
-
330
- public ExecutionResult buildExecuteResultWithWarningException(Throwable ex)
331
- {
332
- ConfigDiff configDiff = Exec.newConfigDiff();
333
- if (inputConfigDiff != null) {
334
- configDiff.getNestedOrSetEmpty("in").merge(inputConfigDiff);
335
- }
336
- if (outputConfigDiff != null) {
337
- configDiff.getNestedOrSetEmpty("out").merge(outputConfigDiff);
338
- }
339
-
340
- ImmutableList.Builder<Throwable> ignoredExceptions = ImmutableList.builder();
341
- for (Throwable e : getExceptions()) {
342
- ignoredExceptions.add(e);
343
- }
344
- if (ex != null) {
345
- ignoredExceptions.add(ex);
346
- }
347
-
348
- return new ExecutionResult(configDiff, false, ignoredExceptions.build());
349
- }
350
-
351
- public ExecutionResult buildExecuteResultOfSkippedExecution(ConfigDiff configDiff)
352
- {
353
- ImmutableList.Builder<Throwable> ignoredExceptions = ImmutableList.builder();
354
- for (Throwable e : getExceptions()) {
355
- ignoredExceptions.add(e);
356
- }
357
-
358
- return new ExecutionResult(configDiff, true, ignoredExceptions.build());
359
- }
360
-
361
- public ResumeState buildResumeState(ExecSession exec)
362
- {
363
- Schema inputSchema = (schemas == null) ? null : schemas.get(0);
364
- List<Optional<TaskReport>> inputTaskReports = (inputTaskStates == null) ? null : getInputTaskReports();
365
- List<Optional<TaskReport>> outputTaskReports = (outputTaskStates == null) ? null : getOutputTaskReports();
366
- return new ResumeState(
367
- exec.getSessionExecConfig(),
368
- inputTaskSource, outputTaskSource,
369
- inputSchema, executorSchema,
370
- inputTaskReports, outputTaskReports);
371
- }
372
-
373
- public PartialExecutionException buildPartialExecuteException(Throwable cause, ExecSession exec)
374
- {
375
- return new PartialExecutionException(cause, buildResumeState(exec), transactionStage);
376
- }
377
- }
378
-
379
- protected LoaderState newLoaderState(Logger logger, ProcessPluginSet plugins)
380
- {
381
- return new LoaderState(logger, plugins);
382
- }
383
-
384
- public ExecutionResult run(ExecSession exec, final ConfigSource config)
385
- {
386
- try {
387
- return Exec.doWith(exec, new ExecAction<ExecutionResult>() {
388
- public ExecutionResult run()
389
- {
390
- try (SetCurrentThreadName dontCare = new SetCurrentThreadName("transaction")) {
391
- return doRun(config);
392
- }
393
- }
394
- });
395
- } catch (ExecutionException ex) {
396
- throw Throwables.propagate(ex.getCause());
397
- }
398
- }
399
-
400
- public ExecutionResult resume(final ConfigSource config, final ResumeState resume)
401
- {
402
- try {
403
- ExecSession exec = ExecSession.builder(injector).fromExecConfig(resume.getExecSessionConfigSource()).build();
404
- ExecutionResult result = Exec.doWith(exec, new ExecAction<ExecutionResult>() {
405
- public ExecutionResult run()
406
- {
407
- try (SetCurrentThreadName dontCare = new SetCurrentThreadName("resume")) {
408
- return doResume(config, resume);
409
- }
410
- }
411
- });
412
- exec.cleanup();
413
- return result;
414
- } catch (ExecutionException ex) {
415
- throw Throwables.propagate(ex.getCause());
416
- }
417
- }
418
-
419
- public void cleanup(final ConfigSource config, final ResumeState resume)
420
- {
421
- try {
422
- ExecSession exec = ExecSession.builder(injector).fromExecConfig(resume.getExecSessionConfigSource()).build();
423
- Exec.doWith(exec, new ExecAction<Void>() {
424
- public Void run()
425
- {
426
- try (SetCurrentThreadName dontCare = new SetCurrentThreadName("cleanup")) {
427
- doCleanup(config, resume);
428
- return null;
429
- }
430
- }
431
- });
432
- exec.cleanup();
433
- } catch (ExecutionException ex) {
434
- throw Throwables.propagate(ex.getCause());
435
- }
436
- }
437
-
438
- protected static class ProcessPluginSet
439
- {
440
- private final PluginType inputPluginType;
441
- private final PluginType outputPluginType;
442
- private final List<PluginType> filterPluginTypes;
443
-
444
- private final InputPlugin inputPlugin;
445
- private final OutputPlugin outputPlugin;
446
- private final List<FilterPlugin> filterPlugins;
447
-
448
- public ProcessPluginSet(BulkLoaderTask task)
449
- {
450
- this.inputPluginType = task.getInputConfig().get(PluginType.class, "type");
451
- this.outputPluginType = task.getOutputConfig().get(PluginType.class, "type");
452
- this.filterPluginTypes = Filters.getPluginTypes(task.getFilterConfigs());
453
- this.inputPlugin = Exec.newPlugin(InputPlugin.class, inputPluginType);
454
- this.outputPlugin = Exec.newPlugin(OutputPlugin.class, outputPluginType);
455
- this.filterPlugins = Filters.newFilterPlugins(Exec.session(), filterPluginTypes);
456
- }
457
-
458
- public PluginType getInputPluginType()
459
- {
460
- return inputPluginType;
461
- }
462
-
463
- public PluginType getOutputPluginType()
464
- {
465
- return outputPluginType;
466
- }
467
-
468
- public List<PluginType> getFilterPluginTypes()
469
- {
470
- return filterPluginTypes;
471
- }
472
-
473
- public InputPlugin getInputPlugin()
474
- {
475
- return inputPlugin;
476
- }
477
-
478
- public OutputPlugin getOutputPlugin()
479
- {
480
- return outputPlugin;
481
- }
482
-
483
- public List<FilterPlugin> getFilterPlugins()
484
- {
485
- return filterPlugins;
486
- }
487
- }
488
-
489
- public void doCleanup(ConfigSource config, ResumeState resume)
490
- {
491
- BulkLoaderTask task = config.loadConfig(BulkLoaderTask.class);
492
- ProcessPluginSet plugins = new ProcessPluginSet(task); // TODO don't create filter plugins
493
-
494
- ImmutableList.Builder<TaskReport> successfulInputTaskReports = ImmutableList.builder();
495
- ImmutableList.Builder<TaskReport> successfulOutputTaskReports = ImmutableList.builder();
496
- for (Optional<TaskReport> inputTaskReport : resume.getInputTaskReports()) {
497
- if (inputTaskReport.isPresent()) {
498
- successfulInputTaskReports.add(inputTaskReport.get());
499
- }
500
- }
501
- for (Optional<TaskReport> outputTaskReport : resume.getOutputTaskReports()) {
502
- if (outputTaskReport.isPresent()) {
503
- successfulOutputTaskReports.add(outputTaskReport.get());
504
- }
505
- }
506
-
507
- final TaskSource inputTaskSource;
508
- if (plugins.getInputPlugin() instanceof FileInputRunner) {
509
- inputTaskSource = FileInputRunner.getFileInputTaskSource(resume.getInputTaskSource());
510
- }
511
- else {
512
- inputTaskSource = resume.getInputTaskSource();
513
- }
514
- plugins.getInputPlugin().cleanup(inputTaskSource, resume.getInputSchema(),
515
- resume.getInputTaskReports().size(), successfulInputTaskReports.build());
516
-
517
- final TaskSource outputTaskSource;
518
- if (plugins.getOutputPlugin() instanceof FileOutputRunner) {
519
- outputTaskSource = FileOutputRunner.getFileOutputTaskSource(resume.getOutputTaskSource());
520
- }
521
- else {
522
- outputTaskSource = resume.getOutputTaskSource();
523
- }
524
- plugins.getOutputPlugin().cleanup(outputTaskSource, resume.getOutputSchema(),
525
- resume.getOutputTaskReports().size(), successfulOutputTaskReports.build());
526
- }
527
-
528
- private ExecutorPlugin newExecutorPlugin(BulkLoaderTask task)
529
- {
530
- return Exec.newPlugin(ExecutorPlugin.class,
531
- task.getExecConfig().get(PluginType.class, "type", PluginType.LOCAL));
532
- }
533
-
534
- private ExecutionResult doRun(ConfigSource config)
535
- {
536
- final BulkLoaderTask task = config.loadConfig(BulkLoaderTask.class);
537
-
538
- final ExecutorPlugin exec = newExecutorPlugin(task);
539
- final ProcessPluginSet plugins = new ProcessPluginSet(task);
540
-
541
- final LoaderState state = newLoaderState(Exec.getLogger(BulkLoader.class), plugins);
542
- state.setTransactionStage(TransactionStage.INPUT_BEGIN);
543
- try {
544
- ConfigDiff inputConfigDiff = plugins.getInputPlugin().transaction(task.getInputConfig(), new InputPlugin.Control() {
545
- public List<TaskReport> run(final TaskSource inputTask, final Schema inputSchema, final int inputTaskCount)
546
- {
547
- state.setInputTaskSource(inputTask);
548
- state.setTransactionStage(TransactionStage.FILTER_BEGIN);
549
- Filters.transaction(plugins.getFilterPlugins(), task.getFilterConfigs(), inputSchema, new Filters.Control() {
550
- public void run(final List<TaskSource> filterTasks, final List<Schema> schemas)
551
- {
552
- state.setSchemas(schemas);
553
- state.setFilterTaskSources(filterTasks);
554
- state.setTransactionStage(TransactionStage.EXECUTOR_BEGIN);
555
- exec.transaction(task.getExecConfig(), last(schemas), inputTaskCount, new ExecutorPlugin.Control() {
556
- public void transaction(final Schema executorSchema, final int outputTaskCount, final ExecutorPlugin.Executor executor)
557
- {
558
- state.setExecutorSchema(executorSchema);
559
- state.setTransactionStage(TransactionStage.OUTPUT_BEGIN);
560
- ConfigDiff outputConfigDiff = plugins.getOutputPlugin().transaction(task.getOutputConfig(), executorSchema, outputTaskCount, new OutputPlugin.Control() {
561
- public List<TaskReport> run(final TaskSource outputTask)
562
- {
563
- state.setOutputTaskSource(outputTask);
564
- state.initialize(inputTaskCount, outputTaskCount);
565
- state.setTransactionStage(TransactionStage.RUN);
566
-
567
- if (!state.isAllTasksCommitted()) { // inputTaskCount == 0
568
- execute(task, executor, state);
569
- }
570
-
571
- if (!state.isAllTasksCommitted()) {
572
- throw new RuntimeException(String.format("%d input tasks and %d output tasks failed",
573
- state.countUncommittedInputTasks(), state.countUncommittedOutputTasks()));
574
- }
575
-
576
- state.setTransactionStage(TransactionStage.OUTPUT_COMMIT);
577
- return state.getAllOutputTaskReports();
578
- }
579
- });
580
- state.setOutputConfigDiff(outputConfigDiff);
581
- state.setTransactionStage(TransactionStage.EXECUTOR_COMMIT);
582
- }
583
- });
584
- state.setTransactionStage(TransactionStage.FILTER_COMMIT);
585
- }
586
- });
587
- state.setTransactionStage(TransactionStage.INPUT_COMMIT);
588
- return state.getAllInputTaskReports();
589
- }
590
- });
591
- state.setInputConfigDiff(inputConfigDiff);
592
- state.setTransactionStage(TransactionStage.CLEANUP);
593
-
594
- cleanupCommittedTransaction(config, state);
595
-
596
- return state.buildExecuteResult();
597
-
598
- } catch (Throwable ex) {
599
- if (isSkippedTransaction(ex)) {
600
- ConfigDiff configDiff = ((SkipTransactionException) ex).getConfigDiff();
601
- return state.buildExecuteResultOfSkippedExecution(configDiff);
602
- }
603
- else if (state.isAllTasksCommitted() && state.isAllTransactionsCommitted()) {
604
- // ignore the exception
605
- return state.buildExecuteResultWithWarningException(ex);
606
- }
607
- throw state.buildPartialExecuteException(ex, Exec.session());
608
- }
609
- }
610
-
611
- private ExecutionResult doResume(ConfigSource config, final ResumeState resume)
612
- {
613
- final BulkLoaderTask task = config.loadConfig(BulkLoaderTask.class);
614
-
615
- final ExecutorPlugin exec = newExecutorPlugin(task);
616
- final ProcessPluginSet plugins = new ProcessPluginSet(task);
617
-
618
- final LoaderState state = newLoaderState(Exec.getLogger(BulkLoader.class), plugins);
619
- state.setTransactionStage(TransactionStage.INPUT_BEGIN);
620
- try {
621
- ConfigDiff inputConfigDiff = plugins.getInputPlugin().resume(resume.getInputTaskSource(), resume.getInputSchema(), resume.getInputTaskReports().size(), new InputPlugin.Control() {
622
- public List<TaskReport> run(final TaskSource inputTask, final Schema inputSchema, final int inputTaskCount)
623
- {
624
- // TODO validate inputTask?
625
- // TODO validate inputSchema
626
- state.setInputTaskSource(inputTask);
627
- state.setTransactionStage(TransactionStage.FILTER_BEGIN);
628
- Filters.transaction(plugins.getFilterPlugins(), task.getFilterConfigs(), inputSchema, new Filters.Control() {
629
- public void run(final List<TaskSource> filterTasks, final List<Schema> schemas)
630
- {
631
- state.setSchemas(schemas);
632
- state.setFilterTaskSources(filterTasks);
633
- state.setTransactionStage(TransactionStage.EXECUTOR_BEGIN);
634
- exec.transaction(task.getExecConfig(), last(schemas), inputTaskCount, new ExecutorPlugin.Control() {
635
- public void transaction(final Schema executorSchema, final int outputTaskCount, final ExecutorPlugin.Executor executor)
636
- {
637
- // TODO validate executorSchema
638
- state.setExecutorSchema(executorSchema);
639
- state.setTransactionStage(TransactionStage.OUTPUT_BEGIN);
640
- ConfigDiff outputConfigDiff = plugins.getOutputPlugin().resume(resume.getOutputTaskSource(), executorSchema, outputTaskCount, new OutputPlugin.Control() {
641
- public List<TaskReport> run(final TaskSource outputTask)
642
- {
643
- // TODO validate outputTask?
644
- state.setOutputTaskSource(outputTask);
645
- restoreResumedTaskReports(resume, state);
646
- state.setTransactionStage(TransactionStage.RUN);
647
-
648
- if (!state.isAllTasksCommitted()) {
649
- execute(task, executor, state);
650
- }
651
-
652
- if (!state.isAllTasksCommitted()) {
653
- throw new RuntimeException(String.format("%d input tasks and %d output tasks failed",
654
- state.countUncommittedInputTasks(), state.countUncommittedOutputTasks()));
655
- }
656
-
657
- state.setTransactionStage(TransactionStage.OUTPUT_COMMIT);
658
- return state.getAllOutputTaskReports();
659
- }
660
- });
661
- state.setOutputConfigDiff(outputConfigDiff);
662
- state.setTransactionStage(TransactionStage.EXECUTOR_COMMIT);
663
- }
664
- });
665
- state.setTransactionStage(TransactionStage.FILTER_COMMIT);
666
- }
667
- });
668
- state.setTransactionStage(TransactionStage.INPUT_COMMIT);
669
- return state.getAllInputTaskReports();
670
- }
671
- });
672
- state.setInputConfigDiff(inputConfigDiff);
673
- state.setTransactionStage(TransactionStage.CLEANUP);
674
-
675
- cleanupCommittedTransaction(config, state);
676
-
677
- return state.buildExecuteResult();
678
-
679
- } catch (Throwable ex) {
680
- if (isSkippedTransaction(ex)) {
681
- ConfigDiff configDiff = ((SkipTransactionException) ex).getConfigDiff();
682
- return state.buildExecuteResultOfSkippedExecution(configDiff);
683
- }
684
- else if (state.isAllTasksCommitted() && state.isAllTransactionsCommitted()) {
685
- // ignore the exception
686
- return state.buildExecuteResultWithWarningException(ex);
687
- }
688
- throw state.buildPartialExecuteException(ex, Exec.session());
689
- }
690
- }
691
-
692
- private static boolean isSkippedTransaction(Throwable ex)
693
- {
694
- return ex instanceof SkipTransactionException;
695
- }
696
-
697
- private static void restoreResumedTaskReports(ResumeState resume, LoaderState state)
698
- {
699
- int inputTaskCount = resume.getInputTaskReports().size();
700
- int outputTaskCount = resume.getOutputTaskReports().size();
701
-
702
- state.initialize(inputTaskCount, outputTaskCount);
703
-
704
- for (int i=0; i < inputTaskCount; i++) {
705
- Optional<TaskReport> report = resume.getInputTaskReports().get(i);
706
- if (report.isPresent()) {
707
- TaskState task = state.getInputTaskState(i);
708
- task.start();
709
- task.setTaskReport(report.get());
710
- task.finish();
711
- }
712
- }
713
-
714
- for (int i=0; i < outputTaskCount; i++) {
715
- Optional<TaskReport> report = resume.getOutputTaskReports().get(i);
716
- if (report.isPresent()) {
717
- TaskState task = state.getOutputTaskState(i);
718
- task.start();
719
- task.setTaskReport(report.get());
720
- task.finish();
721
- }
722
- }
723
- }
724
-
725
- private void execute(BulkLoaderTask task, ExecutorPlugin.Executor executor, LoaderState state)
726
- {
727
- ProcessTask procTask = state.buildProcessTask();
728
-
729
- executor.execute(procTask, state);
730
-
731
- if (!state.isAllTasksCommitted()) {
732
- throw state.getRepresentativeException();
733
- }
734
- }
735
-
736
- private void cleanupCommittedTransaction(ConfigSource config, LoaderState state)
737
- {
738
- try {
739
- doCleanup(config, state.buildResumeState(Exec.session()));
740
- } catch (Exception ex) {
741
- state.getLogger().warn("Commit succeeded but cleanup failed. Ignoring this exception.", ex); // TODO
742
- }
743
- }
744
-
745
- private static Schema first(List<Schema> schemas)
746
- {
747
- return schemas.get(0);
748
- }
749
-
750
- private static Schema last(List<Schema> schemas)
751
- {
752
- return schemas.get(schemas.size() - 1);
753
- }
754
- }