embulk 0.8.39-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 (597) 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/java/bootstrap.rb +0 -1
  9. data/lib/embulk/java_plugin.rb +9 -1
  10. data/lib/embulk/page_builder.rb +2 -2
  11. data/lib/embulk/plugin.rb +2 -2
  12. data/lib/embulk/schema.rb +3 -4
  13. data/lib/embulk/version.rb +3 -22
  14. metadata +22 -757
  15. data/.gitignore +0 -15
  16. data/.ruby-version +0 -1
  17. data/.travis.yml +0 -28
  18. data/COPYING +0 -14
  19. data/Gemfile.lock +0 -30
  20. data/README.md +0 -229
  21. data/Rakefile +0 -26
  22. data/appveyor.yml +0 -28
  23. data/bin/embulk +0 -139
  24. data/build.gradle +0 -419
  25. data/embulk-cli/build.gradle +0 -9
  26. data/embulk-cli/src/main/bat/selfrun.bat +0 -107
  27. data/embulk-cli/src/main/java/org/embulk/cli/EmbulkArguments.java +0 -54
  28. data/embulk-cli/src/main/java/org/embulk/cli/EmbulkCommandLine.java +0 -227
  29. data/embulk-cli/src/main/java/org/embulk/cli/EmbulkCommandLineException.java +0 -25
  30. data/embulk-cli/src/main/java/org/embulk/cli/EmbulkExample.java +0 -86
  31. data/embulk-cli/src/main/java/org/embulk/cli/EmbulkMigrate.java +0 -480
  32. data/embulk-cli/src/main/java/org/embulk/cli/EmbulkNew.java +0 -419
  33. data/embulk-cli/src/main/java/org/embulk/cli/EmbulkRun.java +0 -786
  34. data/embulk-cli/src/main/java/org/embulk/cli/EmbulkSelfUpdate.java +0 -235
  35. data/embulk-cli/src/main/java/org/embulk/cli/EmbulkSubcommand.java +0 -47
  36. data/embulk-cli/src/main/java/org/embulk/cli/Main.java +0 -31
  37. data/embulk-cli/src/main/java/org/embulk/cli/parse/AbstractHelpLineDefinition.java +0 -15
  38. data/embulk-cli/src/main/java/org/embulk/cli/parse/CliHelpFormatterWithHelpMessages.java +0 -141
  39. data/embulk-cli/src/main/java/org/embulk/cli/parse/CliOptionsWithHelpMessages.java +0 -45
  40. data/embulk-cli/src/main/java/org/embulk/cli/parse/EmbulkCommandLineHelpRequired.java +0 -10
  41. data/embulk-cli/src/main/java/org/embulk/cli/parse/EmbulkCommandLineParseException.java +0 -25
  42. data/embulk-cli/src/main/java/org/embulk/cli/parse/EmbulkCommandLineParser.java +0 -187
  43. data/embulk-cli/src/main/java/org/embulk/cli/parse/HelpMessageAsCliOption.java +0 -36
  44. data/embulk-cli/src/main/java/org/embulk/cli/parse/HelpMessageLineDefinition.java +0 -20
  45. data/embulk-cli/src/main/java/org/embulk/cli/parse/OptionBehavior.java +0 -39
  46. data/embulk-cli/src/main/java/org/embulk/cli/parse/OptionDefinition.java +0 -120
  47. data/embulk-cli/src/main/sh/selfrun.sh +0 -60
  48. data/embulk-cli/src/test/java/org/embulk/cli/DummyMain.java +0 -23
  49. data/embulk-cli/src/test/java/org/embulk/cli/SelfrunTest.java +0 -296
  50. data/embulk-core/build.gradle +0 -83
  51. data/embulk-core/src/main/java/org/embulk/EmbulkEmbed.java +0 -321
  52. data/embulk-core/src/main/java/org/embulk/EmbulkRunner.java +0 -531
  53. data/embulk-core/src/main/java/org/embulk/EmbulkService.java +0 -78
  54. data/embulk-core/src/main/java/org/embulk/EmbulkSetup.java +0 -49
  55. data/embulk-core/src/main/java/org/embulk/EmbulkVersion.java +0 -109
  56. data/embulk-core/src/main/java/org/embulk/command/PreviewPrinter.java +0 -87
  57. data/embulk-core/src/main/java/org/embulk/command/TablePreviewPrinter.java +0 -107
  58. data/embulk-core/src/main/java/org/embulk/command/VerticalPreviewPrinter.java +0 -47
  59. data/embulk-core/src/main/java/org/embulk/config/CommitReport.java +0 -36
  60. data/embulk-core/src/main/java/org/embulk/config/Config.java +0 -15
  61. data/embulk-core/src/main/java/org/embulk/config/ConfigDefault.java +0 -15
  62. data/embulk-core/src/main/java/org/embulk/config/ConfigDiff.java +0 -32
  63. data/embulk-core/src/main/java/org/embulk/config/ConfigException.java +0 -26
  64. data/embulk-core/src/main/java/org/embulk/config/ConfigInject.java +0 -14
  65. data/embulk-core/src/main/java/org/embulk/config/ConfigLoader.java +0 -149
  66. data/embulk-core/src/main/java/org/embulk/config/ConfigSource.java +0 -34
  67. data/embulk-core/src/main/java/org/embulk/config/DataSource.java +0 -41
  68. data/embulk-core/src/main/java/org/embulk/config/DataSourceImpl.java +0 -243
  69. data/embulk-core/src/main/java/org/embulk/config/DataSourceSerDe.java +0 -84
  70. data/embulk-core/src/main/java/org/embulk/config/GenericTypeReference.java +0 -20
  71. data/embulk-core/src/main/java/org/embulk/config/ModelManager.java +0 -123
  72. data/embulk-core/src/main/java/org/embulk/config/Task.java +0 -10
  73. data/embulk-core/src/main/java/org/embulk/config/TaskInvocationHandler.java +0 -180
  74. data/embulk-core/src/main/java/org/embulk/config/TaskReport.java +0 -32
  75. data/embulk-core/src/main/java/org/embulk/config/TaskSerDe.java +0 -349
  76. data/embulk-core/src/main/java/org/embulk/config/TaskSource.java +0 -34
  77. data/embulk-core/src/main/java/org/embulk/config/TaskValidationException.java +0 -38
  78. data/embulk-core/src/main/java/org/embulk/config/TaskValidator.java +0 -24
  79. data/embulk-core/src/main/java/org/embulk/config/UserDataException.java +0 -4
  80. data/embulk-core/src/main/java/org/embulk/config/UserDataExceptions.java +0 -17
  81. data/embulk-core/src/main/java/org/embulk/config/YamlTagResolver.java +0 -53
  82. data/embulk-core/src/main/java/org/embulk/exec/BufferFileInputPlugin.java +0 -88
  83. data/embulk-core/src/main/java/org/embulk/exec/BulkLoader.java +0 -754
  84. data/embulk-core/src/main/java/org/embulk/exec/ConfigurableGuessInputPlugin.java +0 -9
  85. data/embulk-core/src/main/java/org/embulk/exec/ExecModule.java +0 -53
  86. data/embulk-core/src/main/java/org/embulk/exec/ExecutionInterruptedException.java +0 -10
  87. data/embulk-core/src/main/java/org/embulk/exec/ExecutionResult.java +0 -33
  88. data/embulk-core/src/main/java/org/embulk/exec/ExtensionServiceLoaderModule.java +0 -43
  89. data/embulk-core/src/main/java/org/embulk/exec/ForGuess.java +0 -16
  90. data/embulk-core/src/main/java/org/embulk/exec/ForSystemConfig.java +0 -16
  91. data/embulk-core/src/main/java/org/embulk/exec/GuessExecutor.java +0 -309
  92. data/embulk-core/src/main/java/org/embulk/exec/LocalExecutorPlugin.java +0 -563
  93. data/embulk-core/src/main/java/org/embulk/exec/LoggerProvider.java +0 -68
  94. data/embulk-core/src/main/java/org/embulk/exec/NoSampleException.java +0 -10
  95. data/embulk-core/src/main/java/org/embulk/exec/PartialExecutionException.java +0 -26
  96. data/embulk-core/src/main/java/org/embulk/exec/PooledBufferAllocator.java +0 -77
  97. data/embulk-core/src/main/java/org/embulk/exec/PreviewExecutor.java +0 -222
  98. data/embulk-core/src/main/java/org/embulk/exec/PreviewResult.java +0 -27
  99. data/embulk-core/src/main/java/org/embulk/exec/PreviewedNoticeError.java +0 -17
  100. data/embulk-core/src/main/java/org/embulk/exec/ResumeState.java +0 -100
  101. data/embulk-core/src/main/java/org/embulk/exec/SamplingParserPlugin.java +0 -215
  102. data/embulk-core/src/main/java/org/embulk/exec/SetCurrentThreadName.java +0 -22
  103. data/embulk-core/src/main/java/org/embulk/exec/SkipTransactionException.java +0 -23
  104. data/embulk-core/src/main/java/org/embulk/exec/SystemConfigModule.java +0 -24
  105. data/embulk-core/src/main/java/org/embulk/exec/TempFileAllocator.java +0 -35
  106. data/embulk-core/src/main/java/org/embulk/exec/TransactionStage.java +0 -27
  107. data/embulk-core/src/main/java/org/embulk/jruby/JRubyPluginSource.java +0 -76
  108. data/embulk-core/src/main/java/org/embulk/jruby/JRubyScriptingModule.java +0 -395
  109. data/embulk-core/src/main/java/org/embulk/plugin/BuiltinPluginSourceModule.java +0 -17
  110. data/embulk-core/src/main/java/org/embulk/plugin/DefaultPluginType.java +0 -50
  111. data/embulk-core/src/main/java/org/embulk/plugin/InjectedPluginSource.java +0 -100
  112. data/embulk-core/src/main/java/org/embulk/plugin/MavenPluginType.java +0 -112
  113. data/embulk-core/src/main/java/org/embulk/plugin/PluginClassLoader.java +0 -993
  114. data/embulk-core/src/main/java/org/embulk/plugin/PluginClassLoaderFactory.java +0 -16
  115. data/embulk-core/src/main/java/org/embulk/plugin/PluginClassLoaderModule.java +0 -102
  116. data/embulk-core/src/main/java/org/embulk/plugin/PluginManager.java +0 -78
  117. data/embulk-core/src/main/java/org/embulk/plugin/PluginSource.java +0 -49
  118. data/embulk-core/src/main/java/org/embulk/plugin/PluginSourceNotMatchException.java +0 -25
  119. data/embulk-core/src/main/java/org/embulk/plugin/PluginType.java +0 -122
  120. data/embulk-core/src/main/java/org/embulk/plugin/compat/InputPluginWrapper.java +0 -102
  121. data/embulk-core/src/main/java/org/embulk/plugin/compat/PluginWrappers.java +0 -30
  122. data/embulk-core/src/main/java/org/embulk/plugin/compat/TransactionalFileInputWrapper.java +0 -96
  123. data/embulk-core/src/main/java/org/embulk/plugin/compat/TransactionalFileOutputWrapper.java +0 -102
  124. data/embulk-core/src/main/java/org/embulk/plugin/compat/TransactionalPageOutputWrapper.java +0 -95
  125. data/embulk-core/src/main/java/org/embulk/plugin/jar/InvalidJarPluginException.java +0 -14
  126. data/embulk-core/src/main/java/org/embulk/plugin/jar/JarPluginLoader.java +0 -232
  127. data/embulk-core/src/main/java/org/embulk/plugin/maven/MavenArtifactFinder.java +0 -134
  128. data/embulk-core/src/main/java/org/embulk/plugin/maven/MavenArtifactNotFoundException.java +0 -20
  129. data/embulk-core/src/main/java/org/embulk/plugin/maven/MavenPluginSource.java +0 -187
  130. data/embulk-core/src/main/java/org/embulk/plugin/maven/MavenPluginSourceModule.java +0 -22
  131. data/embulk-core/src/main/java/org/embulk/plugin/maven/MavenRepositoryNotFoundException.java +0 -31
  132. data/embulk-core/src/main/java/org/embulk/spi/AbortTransactionResource.java +0 -36
  133. data/embulk-core/src/main/java/org/embulk/spi/Buffer.java +0 -148
  134. data/embulk-core/src/main/java/org/embulk/spi/BufferAllocator.java +0 -8
  135. data/embulk-core/src/main/java/org/embulk/spi/CloseResource.java +0 -42
  136. data/embulk-core/src/main/java/org/embulk/spi/Column.java +0 -95
  137. data/embulk-core/src/main/java/org/embulk/spi/ColumnConfig.java +0 -112
  138. data/embulk-core/src/main/java/org/embulk/spi/ColumnVisitor.java +0 -16
  139. data/embulk-core/src/main/java/org/embulk/spi/DataException.java +0 -23
  140. data/embulk-core/src/main/java/org/embulk/spi/DecoderPlugin.java +0 -16
  141. data/embulk-core/src/main/java/org/embulk/spi/EncoderPlugin.java +0 -16
  142. data/embulk-core/src/main/java/org/embulk/spi/Exec.java +0 -113
  143. data/embulk-core/src/main/java/org/embulk/spi/ExecAction.java +0 -6
  144. data/embulk-core/src/main/java/org/embulk/spi/ExecSession.java +0 -220
  145. data/embulk-core/src/main/java/org/embulk/spi/ExecutorPlugin.java +0 -19
  146. data/embulk-core/src/main/java/org/embulk/spi/Extension.java +0 -44
  147. data/embulk-core/src/main/java/org/embulk/spi/FileInput.java +0 -11
  148. data/embulk-core/src/main/java/org/embulk/spi/FileInputPlugin.java +0 -30
  149. data/embulk-core/src/main/java/org/embulk/spi/FileInputRunner.java +0 -169
  150. data/embulk-core/src/main/java/org/embulk/spi/FileOutput.java +0 -13
  151. data/embulk-core/src/main/java/org/embulk/spi/FileOutputPlugin.java +0 -28
  152. data/embulk-core/src/main/java/org/embulk/spi/FileOutputRunner.java +0 -199
  153. data/embulk-core/src/main/java/org/embulk/spi/FilterPlugin.java +0 -18
  154. data/embulk-core/src/main/java/org/embulk/spi/FormatterPlugin.java +0 -18
  155. data/embulk-core/src/main/java/org/embulk/spi/GuessPlugin.java +0 -9
  156. data/embulk-core/src/main/java/org/embulk/spi/InputPlugin.java +0 -33
  157. data/embulk-core/src/main/java/org/embulk/spi/OutputPlugin.java +0 -29
  158. data/embulk-core/src/main/java/org/embulk/spi/Page.java +0 -86
  159. data/embulk-core/src/main/java/org/embulk/spi/PageBuilder.java +0 -696
  160. data/embulk-core/src/main/java/org/embulk/spi/PageFormat.java +0 -47
  161. data/embulk-core/src/main/java/org/embulk/spi/PageOutput.java +0 -11
  162. data/embulk-core/src/main/java/org/embulk/spi/PageReader.java +0 -248
  163. data/embulk-core/src/main/java/org/embulk/spi/ParserPlugin.java +0 -17
  164. data/embulk-core/src/main/java/org/embulk/spi/ProcessState.java +0 -10
  165. data/embulk-core/src/main/java/org/embulk/spi/ProcessTask.java +0 -117
  166. data/embulk-core/src/main/java/org/embulk/spi/Schema.java +0 -139
  167. data/embulk-core/src/main/java/org/embulk/spi/SchemaConfig.java +0 -93
  168. data/embulk-core/src/main/java/org/embulk/spi/SchemaConfigException.java +0 -22
  169. data/embulk-core/src/main/java/org/embulk/spi/TaskState.java +0 -81
  170. data/embulk-core/src/main/java/org/embulk/spi/TempFileException.java +0 -19
  171. data/embulk-core/src/main/java/org/embulk/spi/TempFileSpace.java +0 -88
  172. data/embulk-core/src/main/java/org/embulk/spi/Transactional.java +0 -10
  173. data/embulk-core/src/main/java/org/embulk/spi/TransactionalFileInput.java +0 -17
  174. data/embulk-core/src/main/java/org/embulk/spi/TransactionalFileOutput.java +0 -19
  175. data/embulk-core/src/main/java/org/embulk/spi/TransactionalPageOutput.java +0 -17
  176. data/embulk-core/src/main/java/org/embulk/spi/json/JsonParseException.java +0 -17
  177. data/embulk-core/src/main/java/org/embulk/spi/json/JsonParser.java +0 -233
  178. data/embulk-core/src/main/java/org/embulk/spi/json/RubyValueApi.java +0 -100
  179. data/embulk-core/src/main/java/org/embulk/spi/time/DateTimeZoneSerDe.java +0 -55
  180. data/embulk-core/src/main/java/org/embulk/spi/time/Timestamp.java +0 -180
  181. data/embulk-core/src/main/java/org/embulk/spi/time/TimestampFormat.java +0 -158
  182. data/embulk-core/src/main/java/org/embulk/spi/time/TimestampFormatter.java +0 -125
  183. data/embulk-core/src/main/java/org/embulk/spi/time/TimestampParseException.java +0 -12
  184. data/embulk-core/src/main/java/org/embulk/spi/time/TimestampParser.java +0 -310
  185. data/embulk-core/src/main/java/org/embulk/spi/time/TimestampSerDe.java +0 -49
  186. data/embulk-core/src/main/java/org/embulk/spi/type/AbstractType.java +0 -58
  187. data/embulk-core/src/main/java/org/embulk/spi/type/BooleanType.java +0 -12
  188. data/embulk-core/src/main/java/org/embulk/spi/type/DoubleType.java +0 -12
  189. data/embulk-core/src/main/java/org/embulk/spi/type/JsonType.java +0 -14
  190. data/embulk-core/src/main/java/org/embulk/spi/type/LongType.java +0 -12
  191. data/embulk-core/src/main/java/org/embulk/spi/type/StringType.java +0 -12
  192. data/embulk-core/src/main/java/org/embulk/spi/type/TimestampType.java +0 -41
  193. data/embulk-core/src/main/java/org/embulk/spi/type/Type.java +0 -15
  194. data/embulk-core/src/main/java/org/embulk/spi/type/TypeDeserializer.java +0 -45
  195. data/embulk-core/src/main/java/org/embulk/spi/type/Types.java +0 -16
  196. data/embulk-core/src/main/java/org/embulk/spi/unit/ByteSize.java +0 -156
  197. data/embulk-core/src/main/java/org/embulk/spi/unit/LocalFile.java +0 -106
  198. data/embulk-core/src/main/java/org/embulk/spi/unit/LocalFileSerDe.java +0 -113
  199. data/embulk-core/src/main/java/org/embulk/spi/unit/ToString.java +0 -54
  200. data/embulk-core/src/main/java/org/embulk/spi/unit/ToStringMap.java +0 -34
  201. data/embulk-core/src/main/java/org/embulk/spi/util/CharsetSerDe.java +0 -55
  202. data/embulk-core/src/main/java/org/embulk/spi/util/Decoders.java +0 -81
  203. data/embulk-core/src/main/java/org/embulk/spi/util/DynamicColumnNotFoundException.java +0 -10
  204. data/embulk-core/src/main/java/org/embulk/spi/util/DynamicColumnSetter.java +0 -21
  205. data/embulk-core/src/main/java/org/embulk/spi/util/DynamicColumnSetterFactory.java +0 -134
  206. data/embulk-core/src/main/java/org/embulk/spi/util/DynamicPageBuilder.java +0 -200
  207. data/embulk-core/src/main/java/org/embulk/spi/util/Encoders.java +0 -81
  208. data/embulk-core/src/main/java/org/embulk/spi/util/Executors.java +0 -93
  209. data/embulk-core/src/main/java/org/embulk/spi/util/FileInputInputStream.java +0 -111
  210. data/embulk-core/src/main/java/org/embulk/spi/util/FileOutputOutputStream.java +0 -119
  211. data/embulk-core/src/main/java/org/embulk/spi/util/Filters.java +0 -100
  212. data/embulk-core/src/main/java/org/embulk/spi/util/InputStreamFileInput.java +0 -189
  213. data/embulk-core/src/main/java/org/embulk/spi/util/InputStreamTransactionalFileInput.java +0 -25
  214. data/embulk-core/src/main/java/org/embulk/spi/util/Inputs.java +0 -65
  215. data/embulk-core/src/main/java/org/embulk/spi/util/LineDecoder.java +0 -157
  216. data/embulk-core/src/main/java/org/embulk/spi/util/LineEncoder.java +0 -123
  217. data/embulk-core/src/main/java/org/embulk/spi/util/ListFileInput.java +0 -52
  218. data/embulk-core/src/main/java/org/embulk/spi/util/Newline.java +0 -38
  219. data/embulk-core/src/main/java/org/embulk/spi/util/OutputStreamFileOutput.java +0 -88
  220. data/embulk-core/src/main/java/org/embulk/spi/util/PagePrinter.java +0 -126
  221. data/embulk-core/src/main/java/org/embulk/spi/util/Pages.java +0 -149
  222. data/embulk-core/src/main/java/org/embulk/spi/util/ResumableInputStream.java +0 -168
  223. data/embulk-core/src/main/java/org/embulk/spi/util/RetryExecutor.java +0 -130
  224. data/embulk-core/src/main/java/org/embulk/spi/util/Timestamps.java +0 -53
  225. data/embulk-core/src/main/java/org/embulk/spi/util/dynamic/AbstractDynamicColumnSetter.java +0 -94
  226. data/embulk-core/src/main/java/org/embulk/spi/util/dynamic/BooleanColumnSetter.java +0 -71
  227. data/embulk-core/src/main/java/org/embulk/spi/util/dynamic/DefaultValueSetter.java +0 -20
  228. data/embulk-core/src/main/java/org/embulk/spi/util/dynamic/DoubleColumnSetter.java +0 -68
  229. data/embulk-core/src/main/java/org/embulk/spi/util/dynamic/JsonColumnSetter.java +0 -64
  230. data/embulk-core/src/main/java/org/embulk/spi/util/dynamic/LongColumnSetter.java +0 -78
  231. data/embulk-core/src/main/java/org/embulk/spi/util/dynamic/NullDefaultValueSetter.java +0 -39
  232. data/embulk-core/src/main/java/org/embulk/spi/util/dynamic/SkipColumnSetter.java +0 -68
  233. data/embulk-core/src/main/java/org/embulk/spi/util/dynamic/StringColumnSetter.java +0 -63
  234. data/embulk-core/src/main/java/org/embulk/spi/util/dynamic/TimestampColumnSetter.java +0 -72
  235. data/embulk-core/src/main/resources/embulk/logback-color.xml +0 -72
  236. data/embulk-core/src/main/resources/embulk/logback-console.xml +0 -14
  237. data/embulk-core/src/main/resources/embulk/logback-file.xml +0 -23
  238. data/embulk-core/src/main/resources/embulk/parent_first_packages.properties +0 -73
  239. data/embulk-core/src/main/resources/embulk/parent_first_resources.properties +0 -29
  240. data/embulk-core/src/test/java/org/embulk/EmbulkTestRuntime.java +0 -122
  241. data/embulk-core/src/test/java/org/embulk/GuiceBinder.java +0 -72
  242. data/embulk-core/src/test/java/org/embulk/RandomManager.java +0 -53
  243. data/embulk-core/src/test/java/org/embulk/TestPluginSourceModule.java +0 -23
  244. data/embulk-core/src/test/java/org/embulk/TestUtilityModule.java +0 -17
  245. data/embulk-core/src/test/java/org/embulk/config/TestConfigLoader.java +0 -66
  246. data/embulk-core/src/test/java/org/embulk/config/TestConfigSource.java +0 -114
  247. data/embulk-core/src/test/java/org/embulk/config/TestTaskSource.java +0 -70
  248. data/embulk-core/src/test/java/org/embulk/plugin/MockPluginSource.java +0 -58
  249. data/embulk-core/src/test/java/org/embulk/plugin/TestPluginType.java +0 -83
  250. data/embulk-core/src/test/java/org/embulk/plugin/TestPluginTypeSerDe.java +0 -67
  251. data/embulk-core/src/test/java/org/embulk/plugin/jar/ExampleJarSpiV0.java +0 -9
  252. data/embulk-core/src/test/java/org/embulk/plugin/jar/JarBuilder.java +0 -101
  253. data/embulk-core/src/test/java/org/embulk/plugin/jar/TestJarPluginLoader.java +0 -60
  254. data/embulk-core/src/test/java/org/embulk/plugin/maven/TestMavenArtifactFinder.java +0 -41
  255. data/embulk-core/src/test/java/org/embulk/spi/MockFileOutput.java +0 -63
  256. data/embulk-core/src/test/java/org/embulk/spi/MockFormatterPlugin.java +0 -108
  257. data/embulk-core/src/test/java/org/embulk/spi/MockParserPlugin.java +0 -80
  258. data/embulk-core/src/test/java/org/embulk/spi/PageTestUtils.java +0 -59
  259. data/embulk-core/src/test/java/org/embulk/spi/TestBuffer.java +0 -24
  260. data/embulk-core/src/test/java/org/embulk/spi/TestFileInputInputStream.java +0 -89
  261. data/embulk-core/src/test/java/org/embulk/spi/TestFileInputRunner.java +0 -199
  262. data/embulk-core/src/test/java/org/embulk/spi/TestFileOutputRunner.java +0 -221
  263. data/embulk-core/src/test/java/org/embulk/spi/TestInputStreamFileInput.java +0 -188
  264. data/embulk-core/src/test/java/org/embulk/spi/TestPageBuilderReader.java +0 -411
  265. data/embulk-core/src/test/java/org/embulk/spi/json/TestJsonParser.java +0 -102
  266. data/embulk-core/src/test/java/org/embulk/spi/time/TestTimestamp.java +0 -116
  267. data/embulk-core/src/test/java/org/embulk/spi/time/TestTimestampFormatterParser.java +0 -75
  268. data/embulk-core/src/test/java/org/embulk/spi/time/TestTimestampFormatterParserDeprecated.java +0 -67
  269. data/embulk-core/src/test/java/org/embulk/spi/time/TestTimestampParser.java +0 -247
  270. data/embulk-core/src/test/java/org/embulk/spi/type/TestTypeSerDe.java +0 -45
  271. data/embulk-core/src/test/java/org/embulk/spi/unit/TestByteSize.java +0 -79
  272. data/embulk-core/src/test/java/org/embulk/spi/util/TestLineDecoder.java +0 -237
  273. data/embulk-core/src/test/java/org/embulk/spi/util/TestLineEncoder.java +0 -123
  274. data/embulk-core/src/test/resources/m2.test/.gitignore +0 -1
  275. 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
  276. 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
  277. 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
  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.pom.sha1 +0 -1
  279. data/embulk-docs/Makefile +0 -178
  280. data/embulk-docs/build.gradle +0 -41
  281. data/embulk-docs/make.bat +0 -243
  282. data/embulk-docs/push-gh-pages.sh +0 -49
  283. data/embulk-docs/src/_static/embulk-architecture.png +0 -0
  284. data/embulk-docs/src/_static/embulk-logo-v2/embulk-logo-v2-oneline-tr.png +0 -0
  285. data/embulk-docs/src/_static/embulk-logo-v2/embulk-logo-v2-oneline-wt.png +0 -0
  286. data/embulk-docs/src/_static/embulk-logo-v2/embulk-logo-v2-oneline.ai +0 -396
  287. data/embulk-docs/src/_static/embulk-logo-v2/embulk-logo-v2-sq-tr-small.png +0 -0
  288. data/embulk-docs/src/_static/embulk-logo-v2/embulk-logo-v2-sq-tr.png +0 -0
  289. data/embulk-docs/src/_static/embulk-logo-v2/embulk-logo-v2-sq-wt.png +0 -0
  290. data/embulk-docs/src/_static/embulk-logo-v2/embulk-logo-v2-sq.ai +0 -417
  291. data/embulk-docs/src/_static/embulk-logo-v2/embulk-logo-v2-sq.svg +0 -1
  292. data/embulk-docs/src/_static/embulk-logo-v2/embulk-logo-v2-symbol-tr.png +0 -0
  293. data/embulk-docs/src/_static/embulk-logo-v2/embulk-logo-v2-symbol-wt.png +0 -0
  294. data/embulk-docs/src/_static/embulk-logo-v2/embulk-logo-v2-symbol.ai +1 -394
  295. data/embulk-docs/src/_static/embulk-logo.svg +0 -133
  296. data/embulk-docs/src/built-in.rst +0 -1017
  297. data/embulk-docs/src/conf.py +0 -260
  298. data/embulk-docs/src/customization.rst +0 -184
  299. data/embulk-docs/src/developers/index.rst +0 -45
  300. data/embulk-docs/src/index.rst +0 -102
  301. data/embulk-docs/src/logo.rst +0 -27
  302. data/embulk-docs/src/recipe.rst +0 -8
  303. data/embulk-docs/src/recipe/scheduled-csv-load-to-elasticsearch-kibana5.rst +0 -163
  304. data/embulk-docs/src/release.rst +0 -109
  305. data/embulk-docs/src/release/release-0.1.0.rst +0 -8
  306. data/embulk-docs/src/release/release-0.2.0.rst +0 -16
  307. data/embulk-docs/src/release/release-0.2.1.rst +0 -19
  308. data/embulk-docs/src/release/release-0.3.0.rst +0 -34
  309. data/embulk-docs/src/release/release-0.3.1.rst +0 -11
  310. data/embulk-docs/src/release/release-0.3.2.rst +0 -15
  311. data/embulk-docs/src/release/release-0.4.0.rst +0 -74
  312. data/embulk-docs/src/release/release-0.4.1.rst +0 -18
  313. data/embulk-docs/src/release/release-0.4.10.rst +0 -17
  314. data/embulk-docs/src/release/release-0.4.2.rst +0 -18
  315. data/embulk-docs/src/release/release-0.4.3.rst +0 -34
  316. data/embulk-docs/src/release/release-0.4.4.rst +0 -39
  317. data/embulk-docs/src/release/release-0.4.5.rst +0 -24
  318. data/embulk-docs/src/release/release-0.4.6.rst +0 -30
  319. data/embulk-docs/src/release/release-0.4.7.rst +0 -16
  320. data/embulk-docs/src/release/release-0.4.8.rst +0 -15
  321. data/embulk-docs/src/release/release-0.4.9.rst +0 -23
  322. data/embulk-docs/src/release/release-0.5.0.rst +0 -89
  323. data/embulk-docs/src/release/release-0.5.1.rst +0 -13
  324. data/embulk-docs/src/release/release-0.5.2.rst +0 -30
  325. data/embulk-docs/src/release/release-0.5.3.rst +0 -22
  326. data/embulk-docs/src/release/release-0.5.4.rst +0 -24
  327. data/embulk-docs/src/release/release-0.5.5.rst +0 -18
  328. data/embulk-docs/src/release/release-0.6.0.rst +0 -34
  329. data/embulk-docs/src/release/release-0.6.1.rst +0 -11
  330. data/embulk-docs/src/release/release-0.6.10.rst +0 -15
  331. data/embulk-docs/src/release/release-0.6.11.rst +0 -19
  332. data/embulk-docs/src/release/release-0.6.12.rst +0 -31
  333. data/embulk-docs/src/release/release-0.6.13.rst +0 -23
  334. data/embulk-docs/src/release/release-0.6.14.rst +0 -47
  335. data/embulk-docs/src/release/release-0.6.15.rst +0 -26
  336. data/embulk-docs/src/release/release-0.6.16.rst +0 -26
  337. data/embulk-docs/src/release/release-0.6.17.rst +0 -39
  338. data/embulk-docs/src/release/release-0.6.18.rst +0 -14
  339. data/embulk-docs/src/release/release-0.6.19.rst +0 -18
  340. data/embulk-docs/src/release/release-0.6.2.rst +0 -17
  341. data/embulk-docs/src/release/release-0.6.20.rst +0 -19
  342. data/embulk-docs/src/release/release-0.6.21.rst +0 -20
  343. data/embulk-docs/src/release/release-0.6.22.rst +0 -26
  344. data/embulk-docs/src/release/release-0.6.23.rst +0 -17
  345. data/embulk-docs/src/release/release-0.6.24.rst +0 -13
  346. data/embulk-docs/src/release/release-0.6.25.rst +0 -12
  347. data/embulk-docs/src/release/release-0.6.26.rst +0 -17
  348. data/embulk-docs/src/release/release-0.6.27.rst +0 -11
  349. data/embulk-docs/src/release/release-0.6.3.rst +0 -23
  350. data/embulk-docs/src/release/release-0.6.4.rst +0 -13
  351. data/embulk-docs/src/release/release-0.6.5.rst +0 -17
  352. data/embulk-docs/src/release/release-0.6.6.rst +0 -17
  353. data/embulk-docs/src/release/release-0.6.7.rst +0 -17
  354. data/embulk-docs/src/release/release-0.6.8.rst +0 -24
  355. data/embulk-docs/src/release/release-0.6.9.rst +0 -24
  356. data/embulk-docs/src/release/release-0.7.0.rst +0 -96
  357. data/embulk-docs/src/release/release-0.7.1.rst +0 -22
  358. data/embulk-docs/src/release/release-0.7.10.rst +0 -13
  359. data/embulk-docs/src/release/release-0.7.11.rst +0 -12
  360. data/embulk-docs/src/release/release-0.7.2.rst +0 -25
  361. data/embulk-docs/src/release/release-0.7.3.rst +0 -21
  362. data/embulk-docs/src/release/release-0.7.4.rst +0 -14
  363. data/embulk-docs/src/release/release-0.7.5.rst +0 -22
  364. data/embulk-docs/src/release/release-0.7.6.rst +0 -18
  365. data/embulk-docs/src/release/release-0.7.7.rst +0 -13
  366. data/embulk-docs/src/release/release-0.7.8.rst +0 -14
  367. data/embulk-docs/src/release/release-0.7.9.rst +0 -14
  368. data/embulk-docs/src/release/release-0.8.0.rst +0 -74
  369. data/embulk-docs/src/release/release-0.8.1.rst +0 -18
  370. data/embulk-docs/src/release/release-0.8.10.rst +0 -35
  371. data/embulk-docs/src/release/release-0.8.11.rst +0 -12
  372. data/embulk-docs/src/release/release-0.8.12.rst +0 -12
  373. data/embulk-docs/src/release/release-0.8.13.rst +0 -12
  374. data/embulk-docs/src/release/release-0.8.14.rst +0 -31
  375. data/embulk-docs/src/release/release-0.8.15.rst +0 -17
  376. data/embulk-docs/src/release/release-0.8.16.rst +0 -43
  377. data/embulk-docs/src/release/release-0.8.17.rst +0 -11
  378. data/embulk-docs/src/release/release-0.8.18.rst +0 -27
  379. data/embulk-docs/src/release/release-0.8.19.rst +0 -43
  380. data/embulk-docs/src/release/release-0.8.2.rst +0 -19
  381. data/embulk-docs/src/release/release-0.8.20.rst +0 -11
  382. data/embulk-docs/src/release/release-0.8.21.rst +0 -17
  383. data/embulk-docs/src/release/release-0.8.22.rst +0 -15
  384. data/embulk-docs/src/release/release-0.8.23.rst +0 -14
  385. data/embulk-docs/src/release/release-0.8.24.rst +0 -15
  386. data/embulk-docs/src/release/release-0.8.25.rst +0 -14
  387. data/embulk-docs/src/release/release-0.8.26.rst +0 -16
  388. data/embulk-docs/src/release/release-0.8.27.rst +0 -15
  389. data/embulk-docs/src/release/release-0.8.28.rst +0 -14
  390. data/embulk-docs/src/release/release-0.8.29.rst +0 -14
  391. data/embulk-docs/src/release/release-0.8.3.rst +0 -15
  392. data/embulk-docs/src/release/release-0.8.30.rst +0 -14
  393. data/embulk-docs/src/release/release-0.8.31.rst +0 -12
  394. data/embulk-docs/src/release/release-0.8.32.rst +0 -14
  395. data/embulk-docs/src/release/release-0.8.33.rst +0 -13
  396. data/embulk-docs/src/release/release-0.8.34.rst +0 -12
  397. data/embulk-docs/src/release/release-0.8.35.rst +0 -12
  398. data/embulk-docs/src/release/release-0.8.36.rst +0 -32
  399. data/embulk-docs/src/release/release-0.8.37.rst +0 -20
  400. data/embulk-docs/src/release/release-0.8.38.rst +0 -12
  401. data/embulk-docs/src/release/release-0.8.39.rst +0 -12
  402. data/embulk-docs/src/release/release-0.8.4.rst +0 -18
  403. data/embulk-docs/src/release/release-0.8.5.rst +0 -11
  404. data/embulk-docs/src/release/release-0.8.6.rst +0 -14
  405. data/embulk-docs/src/release/release-0.8.7.rst +0 -18
  406. data/embulk-docs/src/release/release-0.8.8.rst +0 -18
  407. data/embulk-docs/src/release/release-0.8.9.rst +0 -14
  408. data/embulk-jruby-strptime/build.gradle +0 -3
  409. data/embulk-jruby-strptime/src/main/java/org/embulk/spi/time/RubyDateParser.java +0 -121
  410. data/embulk-jruby-strptime/src/main/java/org/embulk/spi/time/StrptimeFormat.java +0 -53
  411. data/embulk-jruby-strptime/src/main/java/org/embulk/spi/time/StrptimeParser.java +0 -884
  412. data/embulk-jruby-strptime/src/main/java/org/embulk/spi/time/StrptimeToken.java +0 -111
  413. data/embulk-jruby-strptime/src/main/java/org/embulk/spi/time/TimeZoneConverter.java +0 -466
  414. data/embulk-jruby-strptime/src/main/java/org/embulk/spi/time/lexer/StrptimeLexer.flex +0 -62
  415. data/embulk-jruby-strptime/src/main/java/org/embulk/spi/time/lexer/StrptimeLexer.java +0 -577
  416. data/embulk-standards/build.gradle +0 -7
  417. data/embulk-standards/src/main/java/org/embulk/standards/Bzip2FileDecoderPlugin.java +0 -55
  418. data/embulk-standards/src/main/java/org/embulk/standards/Bzip2FileEncoderPlugin.java +0 -67
  419. data/embulk-standards/src/main/java/org/embulk/standards/ConfigInputPlugin.java +0 -170
  420. data/embulk-standards/src/main/java/org/embulk/standards/CsvFormatterPlugin.java +0 -295
  421. data/embulk-standards/src/main/java/org/embulk/standards/CsvParserPlugin.java +0 -416
  422. data/embulk-standards/src/main/java/org/embulk/standards/CsvTokenizer.java +0 -545
  423. data/embulk-standards/src/main/java/org/embulk/standards/GzipFileDecoderPlugin.java +0 -55
  424. data/embulk-standards/src/main/java/org/embulk/standards/GzipFileEncoderPlugin.java +0 -71
  425. data/embulk-standards/src/main/java/org/embulk/standards/JsonParserPlugin.java +0 -235
  426. data/embulk-standards/src/main/java/org/embulk/standards/LocalFileInputPlugin.java +0 -232
  427. data/embulk-standards/src/main/java/org/embulk/standards/LocalFileOutputPlugin.java +0 -148
  428. data/embulk-standards/src/main/java/org/embulk/standards/NullOutputPlugin.java +0 -59
  429. data/embulk-standards/src/main/java/org/embulk/standards/RemoveColumnsFilterPlugin.java +0 -268
  430. data/embulk-standards/src/main/java/org/embulk/standards/RenameFilterPlugin.java +0 -479
  431. data/embulk-standards/src/main/java/org/embulk/standards/StandardPluginExtension.java +0 -16
  432. data/embulk-standards/src/main/java/org/embulk/standards/StandardPluginModule.java +0 -60
  433. data/embulk-standards/src/main/java/org/embulk/standards/StdoutOutputPlugin.java +0 -91
  434. data/embulk-standards/src/main/resources/META-INF/services/org.embulk.spi.Extension +0 -1
  435. data/embulk-standards/src/test/java/org/embulk/standards/TestCsvFormatterPlugin.java +0 -312
  436. data/embulk-standards/src/test/java/org/embulk/standards/TestCsvParserPlugin.java +0 -75
  437. data/embulk-standards/src/test/java/org/embulk/standards/TestCsvTokenizer.java +0 -457
  438. data/embulk-standards/src/test/java/org/embulk/standards/TestJsonParserPlugin.java +0 -351
  439. data/embulk-standards/src/test/java/org/embulk/standards/TestRemoveColumnsFilterPlugin.java +0 -121
  440. data/embulk-standards/src/test/java/org/embulk/standards/TestRenameFilterPlugin.java +0 -1020
  441. data/embulk-standards/src/test/java/org/embulk/standards/guess/TestCsvAllStringsGuessPlugin.java +0 -38
  442. data/embulk-standards/src/test/java/org/embulk/standards/guess/TestCsvGuessPlugin.java +0 -248
  443. data/embulk-standards/src/test/java/org/embulk/standards/preview/TestFilePreview.java +0 -73
  444. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_1_int_single_column_row.csv +0 -1
  445. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_1_int_single_column_row_and_header.csv +0 -2
  446. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_1_int_single_column_row_and_header_guessed.yml +0 -12
  447. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_1_int_single_column_row_and_header_seed.yml +0 -1
  448. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_1_int_single_column_row_guessed.yml +0 -12
  449. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_1_int_single_column_row_seed.yml +0 -1
  450. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_1_rows.csv +0 -1
  451. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_1_rows_and_header.csv +0 -2
  452. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_1_rows_and_header_guessed.yml +0 -16
  453. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_1_rows_and_header_seed.yml +0 -1
  454. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_1_rows_and_header_with_trim_needed.csv +0 -2
  455. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_1_rows_and_header_with_trim_needed_guessed.yml +0 -16
  456. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_1_rows_and_header_with_trim_needed_seed.yml +0 -1
  457. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_1_rows_guessed.yml +0 -16
  458. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_1_rows_seed.yml +0 -1
  459. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_1_rows_with_trim_needed.csv +0 -1
  460. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_1_rows_with_trim_needed_guessed.yml +0 -16
  461. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_1_rows_with_trim_needed_seed.yml +0 -1
  462. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_1_string_single_column_row.csv +0 -1
  463. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_1_string_single_column_row_and_header.csv +0 -2
  464. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_1_string_single_column_row_and_header_guessed.yml +0 -12
  465. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_1_string_single_column_row_and_header_seed.yml +0 -1
  466. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_1_string_single_column_row_guessed.yml +0 -12
  467. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_1_string_single_column_row_seed.yml +0 -1
  468. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_2_int_single_column_rows.csv +0 -2
  469. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_2_int_single_column_rows_guessed.yml +0 -12
  470. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_2_int_single_column_rows_seed.yml +0 -1
  471. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_2_rows.csv +0 -2
  472. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_2_rows_and_header.csv +0 -3
  473. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_2_rows_and_header_guessed.yml +0 -16
  474. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_2_rows_and_header_seed.yml +0 -1
  475. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_2_rows_guessed.yml +0 -16
  476. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_2_rows_seed.yml +0 -1
  477. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_2_string_single_column_rows.csv +0 -2
  478. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_2_string_single_column_rows_guessed.yml +0 -12
  479. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_2_string_single_column_rows_seed.yml +0 -1
  480. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_backslash_escape.csv +0 -5
  481. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_backslash_escape_guessed.yml +0 -17
  482. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_backslash_escape_seed.yml +0 -1
  483. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_double_single_column.csv +0 -12
  484. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_double_single_column_guessed.yml +0 -12
  485. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_double_single_column_seed.yml +0 -1
  486. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_int_single_column.csv +0 -4
  487. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_int_single_column_guessed.yml +0 -12
  488. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_int_single_column_seed.yml +0 -1
  489. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_int_single_column_with_header.csv +0 -5
  490. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_int_single_column_with_header_guessed.yml +0 -12
  491. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_int_single_column_with_header_seed.yml +0 -1
  492. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_semicolon_delimiter.csv +0 -5
  493. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_semicolon_delimiter_guessed.yml +0 -17
  494. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_semicolon_delimiter_seed.yml +0 -1
  495. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_simple.csv +0 -5
  496. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_simple_guessed.yml +0 -17
  497. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_simple_seed.yml +0 -1
  498. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_single_quote.csv +0 -5
  499. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_single_quote_guessed.yml +0 -17
  500. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_single_quote_seed.yml +0 -1
  501. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_skip_suggest_if_empty_sample_records.csv +0 -5
  502. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_skip_suggest_if_empty_sample_records_guessed.yml +0 -2
  503. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_skip_suggest_if_empty_sample_records_seed.yml +0 -1
  504. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_string_single_column.csv +0 -4
  505. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_string_single_column_guessed.yml +0 -12
  506. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_string_single_column_seed.yml +0 -1
  507. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_string_single_column_with_header.csv +0 -5
  508. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_string_single_column_with_header_guessed.yml +0 -12
  509. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_string_single_column_with_header_seed.yml +0 -1
  510. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_tab_delimiter.csv +0 -4
  511. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_tab_delimiter_guessed.yml +0 -16
  512. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_tab_delimiter_seed.yml +0 -1
  513. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv_all_strings/test/test_simple.csv +0 -5
  514. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv_all_strings/test/test_simple_guessed.yml +0 -17
  515. data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv_all_strings/test/test_simple_seed.yml +0 -1
  516. data/embulk-standards/src/test/resources/org/embulk/standards/preview/file/test/test_sample_buffer_bytes.csv +0 -5
  517. data/embulk-standards/src/test/resources/org/embulk/standards/preview/file/test/test_sample_buffer_bytes_exec.yml +0 -1
  518. data/embulk-standards/src/test/resources/org/embulk/standards/preview/file/test/test_sample_buffer_bytes_load.yml +0 -19
  519. data/embulk-standards/src/test/resources/org/embulk/standards/preview/file/test/test_sample_buffer_bytes_previewed.csv +0 -1
  520. data/embulk-standards/src/test/resources/org/embulk/standards/preview/file/test/test_simple.csv +0 -5
  521. data/embulk-standards/src/test/resources/org/embulk/standards/preview/file/test/test_simple_load.yml +0 -19
  522. data/embulk-standards/src/test/resources/org/embulk/standards/preview/file/test/test_simple_previewed.csv +0 -4
  523. data/embulk-standards/src/test/resources/org/embulk/standards/remove_columns/test/test_keep.csv +0 -5
  524. data/embulk-standards/src/test/resources/org/embulk/standards/remove_columns/test/test_keep_expected.csv +0 -4
  525. data/embulk-standards/src/test/resources/org/embulk/standards/remove_columns/test/test_keep_filter.yml +0 -2
  526. data/embulk-standards/src/test/resources/org/embulk/standards/remove_columns/test/test_keep_in.yml +0 -18
  527. data/embulk-standards/src/test/resources/org/embulk/standards/remove_columns/test/test_keep_with_duplicated_column_names.csv +0 -5
  528. data/embulk-standards/src/test/resources/org/embulk/standards/remove_columns/test/test_keep_with_duplicated_column_names.yml +0 -2
  529. data/embulk-standards/src/test/resources/org/embulk/standards/remove_columns/test/test_keep_with_duplicated_column_names_expected.csv +0 -4
  530. data/embulk-standards/src/test/resources/org/embulk/standards/remove_columns/test/test_keep_with_duplicated_column_names_in.yml +0 -17
  531. data/embulk-standards/src/test/resources/org/embulk/standards/remove_columns/test/test_keep_with_unmatched_filter.yml +0 -3
  532. data/embulk-standards/src/test/resources/org/embulk/standards/remove_columns/test/test_keep_without_unmatched_filter.yml +0 -2
  533. data/embulk-standards/src/test/resources/org/embulk/standards/remove_columns/test/test_remove.csv +0 -5
  534. data/embulk-standards/src/test/resources/org/embulk/standards/remove_columns/test/test_remove_expected.csv +0 -4
  535. data/embulk-standards/src/test/resources/org/embulk/standards/remove_columns/test/test_remove_filter.yml +0 -2
  536. data/embulk-standards/src/test/resources/org/embulk/standards/remove_columns/test/test_remove_in.yml +0 -18
  537. data/embulk-standards/src/test/resources/org/embulk/standards/remove_columns/test/test_remove_with_unmatched_filter.yml +0 -3
  538. data/embulk-standards/src/test/resources/org/embulk/standards/remove_columns/test/test_remove_without_unmatched_filter.yml +0 -2
  539. data/embulk-test/build.gradle +0 -6
  540. data/embulk-test/src/main/java/org/embulk/test/EmbulkTests.java +0 -75
  541. data/embulk-test/src/main/java/org/embulk/test/PreviewResultInputPlugin.java +0 -65
  542. data/embulk-test/src/main/java/org/embulk/test/TestingBulkLoader.java +0 -129
  543. data/embulk-test/src/main/java/org/embulk/test/TestingEmbulk.java +0 -710
  544. data/gradle/wrapper/gradle-wrapper.jar +0 -0
  545. data/gradle/wrapper/gradle-wrapper.properties +0 -5
  546. data/gradlew +0 -172
  547. data/gradlew.bat +0 -84
  548. data/lib/embulk/data/bundle/.bundle/config +0 -3
  549. data/lib/embulk/data/bundle/.ruby-version +0 -1
  550. data/lib/embulk/data/bundle/Gemfile +0 -31
  551. data/lib/embulk/data/bundle/embulk/filter/example.rb +0 -42
  552. data/lib/embulk/data/bundle/embulk/input/example.rb +0 -54
  553. data/lib/embulk/data/bundle/embulk/output/example.rb +0 -58
  554. data/lib/embulk/data/new/LICENSE.txt +0 -21
  555. data/lib/embulk/data/new/README.md.vm +0 -106
  556. data/lib/embulk/data/new/gitignore.vm +0 -17
  557. data/lib/embulk/data/new/java/build.gradle.vm +0 -96
  558. data/lib/embulk/data/new/java/config/checkstyle/checkstyle.xml +0 -128
  559. data/lib/embulk/data/new/java/config/checkstyle/default.xml +0 -108
  560. data/lib/embulk/data/new/java/decoder.java.vm +0 -86
  561. data/lib/embulk/data/new/java/encoder.java.vm +0 -88
  562. data/lib/embulk/data/new/java/file_input.java.vm +0 -145
  563. data/lib/embulk/data/new/java/file_output.java.vm +0 -95
  564. data/lib/embulk/data/new/java/filter.java.vm +0 -57
  565. data/lib/embulk/data/new/java/formatter.java.vm +0 -55
  566. data/lib/embulk/data/new/java/gradle/wrapper/gradle-wrapper.jar +0 -0
  567. data/lib/embulk/data/new/java/gradle/wrapper/gradle-wrapper.properties +0 -5
  568. data/lib/embulk/data/new/java/gradlew +0 -172
  569. data/lib/embulk/data/new/java/gradlew.bat +0 -84
  570. data/lib/embulk/data/new/java/input.java.vm +0 -89
  571. data/lib/embulk/data/new/java/output.java.vm +0 -79
  572. data/lib/embulk/data/new/java/parser.java.vm +0 -61
  573. data/lib/embulk/data/new/java/plugin_loader.rb.vm +0 -3
  574. data/lib/embulk/data/new/java/test.java.vm +0 -5
  575. data/lib/embulk/data/new/ruby/.ruby-version +0 -1
  576. data/lib/embulk/data/new/ruby/Gemfile +0 -2
  577. data/lib/embulk/data/new/ruby/Rakefile +0 -3
  578. data/lib/embulk/data/new/ruby/decoder_guess.rb.vm +0 -25
  579. data/lib/embulk/data/new/ruby/filter.rb.vm +0 -50
  580. data/lib/embulk/data/new/ruby/formatter.rb.vm +0 -49
  581. data/lib/embulk/data/new/ruby/gemspec.vm +0 -20
  582. data/lib/embulk/data/new/ruby/input.rb.vm +0 -59
  583. data/lib/embulk/data/new/ruby/output.rb.vm +0 -61
  584. data/lib/embulk/data/new/ruby/parser.rb.vm +0 -44
  585. data/lib/embulk/data/new/ruby/parser_guess.rb.vm +0 -65
  586. data/lib/embulk/data/package_data.rb +0 -59
  587. data/lib/embulk/runner.rb +0 -53
  588. data/settings.gradle +0 -8
  589. data/test/helper.rb +0 -23
  590. data/test/monkey_strptime/mri/date/test_date_strptime.rb +0 -515
  591. data/test/monkey_strptime/run-test.rb +0 -29
  592. data/test/vanilla/guess/test_csv_all_strings.rb +0 -43
  593. data/test/vanilla/guess/test_csv_guess.rb +0 -170
  594. data/test/vanilla/guess/test_schema_guess.rb +0 -47
  595. data/test/vanilla/guess/test_time_format_guess.rb +0 -135
  596. data/test/vanilla/run-test.rb +0 -14
  597. data/test/vanilla/time/test_timestamp_parser.rb +0 -117
@@ -1,13 +0,0 @@
1
- package org.embulk.spi;
2
-
3
- public interface FileOutput
4
- extends AutoCloseable
5
- {
6
- void nextFile();
7
-
8
- void add(Buffer buffer);
9
-
10
- void finish();
11
-
12
- void close();
13
- }
@@ -1,28 +0,0 @@
1
- package org.embulk.spi;
2
-
3
- import java.util.List;
4
- import org.embulk.config.TaskSource;
5
- import org.embulk.config.ConfigSource;
6
- import org.embulk.config.ConfigDiff;
7
- import org.embulk.config.TaskReport;
8
-
9
- public interface FileOutputPlugin
10
- {
11
- interface Control
12
- {
13
- List<TaskReport> run(TaskSource taskSource);
14
- }
15
-
16
- ConfigDiff transaction(ConfigSource config, int taskCount,
17
- FileOutputPlugin.Control control);
18
-
19
- ConfigDiff resume(TaskSource taskSource,
20
- int taskCount,
21
- FileOutputPlugin.Control control);
22
-
23
- void cleanup(TaskSource taskSource,
24
- int taskCount,
25
- List<TaskReport> successTaskReports);
26
-
27
- TransactionalFileOutput open(TaskSource taskSource, int taskIndex);
28
- }
@@ -1,199 +0,0 @@
1
- package org.embulk.spi;
2
-
3
- import java.util.List;
4
- import java.util.ArrayList;
5
- import org.embulk.config.Task;
6
- import org.embulk.config.TaskSource;
7
- import org.embulk.config.ConfigSource;
8
- import org.embulk.config.ConfigDiff;
9
- import org.embulk.config.TaskReport;
10
- import org.embulk.config.Config;
11
- import org.embulk.config.ConfigDefault;
12
- import org.embulk.plugin.PluginType;
13
- import org.embulk.plugin.compat.PluginWrappers;
14
- import org.embulk.spi.util.Encoders;
15
-
16
- public class FileOutputRunner
17
- implements OutputPlugin
18
- {
19
- private final FileOutputPlugin fileOutputPlugin;
20
-
21
- public FileOutputRunner(FileOutputPlugin fileOutputPlugin)
22
- {
23
- this.fileOutputPlugin = fileOutputPlugin;
24
- }
25
-
26
- private interface RunnerTask extends Task
27
- {
28
- @Config("type")
29
- public PluginType getType();
30
-
31
- @Config("encoders")
32
- @ConfigDefault("[]")
33
- public List<ConfigSource> getEncoderConfigs();
34
-
35
- @Config("formatter")
36
- public ConfigSource getFormatterConfig();
37
-
38
- public void setFileOutputTaskSource(TaskSource v);
39
- public TaskSource getFileOutputTaskSource();
40
-
41
- public void setEncoderTaskSources(List<TaskSource> v);
42
- public List<TaskSource> getEncoderTaskSources();
43
-
44
- public void setFormatterTaskSource(TaskSource v);
45
- public TaskSource getFormatterTaskSource();
46
- }
47
-
48
- protected List<EncoderPlugin> newEncoderPlugins(RunnerTask task)
49
- {
50
- return Encoders.newEncoderPlugins(Exec.session(), task.getEncoderConfigs());
51
- }
52
-
53
- protected FormatterPlugin newFormatterPlugin(RunnerTask task)
54
- {
55
- return Exec.newPlugin(FormatterPlugin.class, task.getFormatterConfig().get(PluginType.class, "type"));
56
- }
57
-
58
- @Override
59
- public ConfigDiff transaction(ConfigSource config,
60
- final Schema schema, final int taskCount,
61
- final OutputPlugin.Control control)
62
- {
63
- final RunnerTask task = config.loadConfig(RunnerTask.class);
64
- return fileOutputPlugin.transaction(config, taskCount, new RunnerControl(schema, task, control));
65
- }
66
-
67
- public ConfigDiff resume(TaskSource taskSource,
68
- Schema schema, int taskCount,
69
- final OutputPlugin.Control control)
70
- {
71
- final RunnerTask task = taskSource.loadTask(RunnerTask.class);
72
- return fileOutputPlugin.resume(task.getFileOutputTaskSource(), taskCount, new RunnerControl(schema, task, control));
73
- }
74
-
75
- private class RunnerControl
76
- implements FileOutputPlugin.Control
77
- {
78
- private final Schema schema;
79
- private final RunnerTask task;
80
- private final List<EncoderPlugin> encoderPlugins;
81
- private final FormatterPlugin formatterPlugin;
82
- private final OutputPlugin.Control nextControl;
83
-
84
- public RunnerControl(Schema schema, RunnerTask task, OutputPlugin.Control nextControl)
85
- {
86
- this.schema = schema;
87
- this.task = task;
88
- // create plugins earlier than run() to throw exceptions early
89
- this.encoderPlugins = newEncoderPlugins(task);
90
- this.formatterPlugin = newFormatterPlugin(task);
91
- this.nextControl = nextControl;
92
- }
93
-
94
- @Override
95
- public List<TaskReport> run(final TaskSource fileOutputTaskSource)
96
- {
97
- final List<TaskReport> taskReports = new ArrayList<TaskReport>();
98
- Encoders.transaction(encoderPlugins, task.getEncoderConfigs(), new Encoders.Control() {
99
- public void run(final List<TaskSource> encoderTaskSources)
100
- {
101
- formatterPlugin.transaction(task.getFormatterConfig(), schema, new FormatterPlugin.Control() {
102
- public void run(final TaskSource formatterTaskSource)
103
- {
104
- task.setFileOutputTaskSource(fileOutputTaskSource);
105
- task.setEncoderTaskSources(encoderTaskSources);
106
- task.setFormatterTaskSource(formatterTaskSource);
107
- taskReports.addAll(nextControl.run(task.dump()));
108
- }
109
- });
110
- }
111
- });
112
- return taskReports;
113
- }
114
- }
115
-
116
- public void cleanup(TaskSource taskSource,
117
- Schema schema, int taskCount,
118
- List<TaskReport> successtaskReports)
119
- {
120
- fileOutputPlugin.cleanup(taskSource, taskCount, successtaskReports);
121
- }
122
-
123
- @Override
124
- public TransactionalPageOutput open(TaskSource taskSource, Schema schema, int taskIndex)
125
- {
126
- final RunnerTask task = taskSource.loadTask(RunnerTask.class);
127
- List<EncoderPlugin> encoderPlugins = newEncoderPlugins(task);
128
- FormatterPlugin formatterPlugin = newFormatterPlugin(task);
129
-
130
- try (AbortTransactionResource aborter = new AbortTransactionResource()) {
131
- try (CloseResource closer = new CloseResource()) {
132
- TransactionalFileOutput finalOutput = PluginWrappers.transactionalFileOutput(
133
- fileOutputPlugin.open(task.getFileOutputTaskSource(), taskIndex));
134
- aborter.abortThis(finalOutput);
135
- closer.closeThis(finalOutput);
136
-
137
- FileOutput encodedOutput = Encoders.open(encoderPlugins, task.getEncoderTaskSources(), finalOutput);
138
- closer.closeThis(encodedOutput);
139
-
140
- PageOutput output = formatterPlugin.open(task.getFormatterTaskSource(), schema, encodedOutput);
141
- closer.closeThis(output);
142
-
143
- TransactionalPageOutput ret = new DelegateTransactionalPageOutput(finalOutput, output);
144
- aborter.dontAbort();
145
- closer.dontClose(); // ownership of output is transferred to caller (input plugin). the owner will close output.
146
- return ret;
147
- }
148
- }
149
- }
150
-
151
- private static class DelegateTransactionalPageOutput
152
- implements TransactionalPageOutput
153
- {
154
- private final Transactional tran;
155
- private final PageOutput output;
156
-
157
- public DelegateTransactionalPageOutput(Transactional tran, PageOutput output)
158
- {
159
- this.tran = tran;
160
- this.output = output;
161
- }
162
-
163
- @Override
164
- public void add(Page page)
165
- {
166
- output.add(page);
167
- }
168
-
169
- @Override
170
- public void finish()
171
- {
172
- output.finish();
173
- }
174
-
175
- @Override
176
- public void close()
177
- {
178
- output.close();
179
- }
180
-
181
- @Override
182
- public void abort()
183
- {
184
- tran.abort();
185
- }
186
-
187
- @Override
188
- public TaskReport commit()
189
- {
190
- // TODO check finished
191
- return tran.commit();
192
- }
193
- }
194
-
195
- public static TaskSource getFileOutputTaskSource(TaskSource runnerTaskSource)
196
- {
197
- return runnerTaskSource.loadTask(RunnerTask.class).getFileOutputTaskSource();
198
- }
199
- }
@@ -1,18 +0,0 @@
1
- package org.embulk.spi;
2
-
3
- import org.embulk.config.TaskSource;
4
- import org.embulk.config.ConfigSource;
5
-
6
- public interface FilterPlugin
7
- {
8
- interface Control
9
- {
10
- void run(TaskSource taskSource, Schema outputSchema);
11
- }
12
-
13
- void transaction(ConfigSource config, Schema inputSchema,
14
- FilterPlugin.Control control);
15
-
16
- PageOutput open(TaskSource taskSource, Schema inputSchema,
17
- Schema outputSchema, PageOutput output);
18
- }
@@ -1,18 +0,0 @@
1
- package org.embulk.spi;
2
-
3
- import org.embulk.config.TaskSource;
4
- import org.embulk.config.ConfigSource;
5
-
6
- public interface FormatterPlugin
7
- {
8
- interface Control
9
- {
10
- void run(TaskSource taskSource);
11
- }
12
-
13
- void transaction(ConfigSource config, Schema schema,
14
- FormatterPlugin.Control control);
15
-
16
- PageOutput open(TaskSource taskSource, Schema schema,
17
- FileOutput output);
18
- }
@@ -1,9 +0,0 @@
1
- package org.embulk.spi;
2
-
3
- import org.embulk.config.ConfigDiff;
4
- import org.embulk.config.ConfigSource;
5
-
6
- public interface GuessPlugin
7
- {
8
- ConfigDiff guess(ConfigSource config, Buffer sample);
9
- }
@@ -1,33 +0,0 @@
1
- package org.embulk.spi;
2
-
3
- import java.util.List;
4
- import org.embulk.config.TaskSource;
5
- import org.embulk.config.ConfigSource;
6
- import org.embulk.config.ConfigDiff;
7
- import org.embulk.config.TaskReport;
8
-
9
- public interface InputPlugin
10
- {
11
- interface Control
12
- {
13
- List<TaskReport> run(TaskSource taskSource,
14
- Schema schema, int taskCount);
15
- }
16
-
17
- ConfigDiff transaction(ConfigSource config,
18
- InputPlugin.Control control);
19
-
20
- ConfigDiff resume(TaskSource taskSource,
21
- Schema schema, int taskCount,
22
- InputPlugin.Control control);
23
-
24
- void cleanup(TaskSource taskSource,
25
- Schema schema, int taskCount,
26
- List<TaskReport> successTaskReports);
27
-
28
- TaskReport run(TaskSource taskSource,
29
- Schema schema, int taskIndex,
30
- PageOutput output);
31
-
32
- ConfigDiff guess(ConfigSource config);
33
- }
@@ -1,29 +0,0 @@
1
- package org.embulk.spi;
2
-
3
- import java.util.List;
4
- import org.embulk.config.TaskSource;
5
- import org.embulk.config.ConfigSource;
6
- import org.embulk.config.ConfigDiff;
7
- import org.embulk.config.TaskReport;
8
-
9
- public interface OutputPlugin
10
- {
11
- interface Control
12
- {
13
- List<TaskReport> run(TaskSource taskSource);
14
- }
15
-
16
- ConfigDiff transaction(ConfigSource config,
17
- Schema schema, int taskCount,
18
- OutputPlugin.Control control);
19
-
20
- ConfigDiff resume(TaskSource taskSource,
21
- Schema schema, int taskCount,
22
- OutputPlugin.Control control);
23
-
24
- void cleanup(TaskSource taskSource,
25
- Schema schema, int taskCount,
26
- List<TaskReport> successTaskReports);
27
-
28
- TransactionalPageOutput open(TaskSource taskSource, Schema schema, int taskIndex);
29
- }
@@ -1,86 +0,0 @@
1
- package org.embulk.spi;
2
-
3
- import java.util.List;
4
- import org.msgpack.value.ImmutableValue;
5
-
6
- /**
7
- * Page is an in-process (in-JVM) container of data records.
8
- *
9
- * It serializes records to byte[] (in org.embulk.spi.Buffer) in order to:
10
- * A) Avoid slowness by handling many Java Objects
11
- * B) Avoid complexity by type-safe primitive arrays
12
- * C) Track memory consumption by records
13
- * D) Use off-heap memory
14
- *
15
- * (C) and (D) may not be so meaningful as of v0.7+ (or since earlier) as recent Embulk unlikely
16
- * allocates so many Pages at the same time. Recent Embulk is streaming-driven instead of
17
- * multithreaded queue-based.
18
- *
19
- * Page is NOT for inter-process communication. For multi-process execution such as MapReduce
20
- * Executor, the executor plugin takes responsibility about interoperable serialization.
21
- */
22
- public class Page
23
- {
24
- private final Buffer buffer;
25
- private List<String> stringReferences;
26
- private List<ImmutableValue> valueReferences;
27
-
28
- protected Page(Buffer buffer)
29
- {
30
- this.buffer = buffer;
31
- }
32
-
33
- public static Page allocate(int length)
34
- {
35
- return new Page(Buffer.allocate(length));
36
- }
37
-
38
- public static Page wrap(Buffer buffer)
39
- {
40
- return new Page(buffer);
41
- }
42
-
43
- public Page setStringReferences(List<String> values)
44
- {
45
- this.stringReferences = values;
46
- return this;
47
- }
48
-
49
- public Page setValueReferences(List<ImmutableValue> values)
50
- {
51
- this.valueReferences = values;
52
- return this;
53
- }
54
-
55
- public List<String> getStringReferences()
56
- {
57
- // TODO used by mapreduce executor
58
- return stringReferences;
59
- }
60
-
61
- public List<ImmutableValue> getValueReferences()
62
- {
63
- // TODO used by mapreduce executor
64
- return valueReferences;
65
- }
66
-
67
- public String getStringReference(int index)
68
- {
69
- return stringReferences.get(index);
70
- }
71
-
72
- public ImmutableValue getValueReference(int index)
73
- {
74
- return valueReferences.get(index);
75
- }
76
-
77
- public void release()
78
- {
79
- buffer.release();
80
- }
81
-
82
- public Buffer buffer()
83
- {
84
- return buffer;
85
- }
86
- }
@@ -1,696 +0,0 @@
1
- package org.embulk.spi;
2
-
3
- import java.util.List;
4
- import java.util.Arrays;
5
- import java.util.ArrayList;
6
- import io.airlift.slice.Slice;
7
- import io.airlift.slice.Slices;
8
- import org.embulk.spi.type.Type;
9
- import org.embulk.spi.type.Types;
10
- import org.msgpack.value.Value;
11
- import org.msgpack.value.ImmutableValue;
12
- import org.embulk.spi.time.Timestamp;
13
-
14
- public class PageBuilder
15
- implements AutoCloseable
16
- {
17
- private final BufferAllocator allocator;
18
- private final PageOutput output;
19
- private final Schema schema;
20
- private final int[] columnOffsets;
21
- private final int fixedRecordSize;
22
-
23
- private Buffer buffer;
24
- private Slice bufferSlice;
25
-
26
- private int count;
27
- private int position;
28
- private final byte[] nullBitSet;
29
- private final Row row;
30
- private List<String> stringReferences = new ArrayList<>();
31
- private List<ImmutableValue> valueReferences = new ArrayList<>();
32
- private int referenceSize;
33
- private int nextVariableLengthDataOffset;
34
-
35
- public PageBuilder(BufferAllocator allocator, Schema schema, PageOutput output)
36
- {
37
- this.allocator = allocator;
38
- this.output = output;
39
- this.schema = schema;
40
- this.columnOffsets = PageFormat.columnOffsets(schema);
41
- this.nullBitSet = new byte[PageFormat.nullBitSetSize(schema)];
42
- Arrays.fill(nullBitSet, (byte) -1);
43
- this.row = Row.newRow(schema);
44
- this.fixedRecordSize = PageFormat.recordHeaderSize(schema) + PageFormat.totalColumnSize(schema);
45
- this.nextVariableLengthDataOffset = fixedRecordSize;
46
- newBuffer();
47
- }
48
-
49
- private void newBuffer()
50
- {
51
- this.buffer = allocator.allocate(PageFormat.PAGE_HEADER_SIZE + fixedRecordSize);
52
- this.bufferSlice = Slices.wrappedBuffer(buffer.array(), buffer.offset(), buffer.capacity());
53
- this.count = 0;
54
- this.position = PageFormat.PAGE_HEADER_SIZE;
55
- this.stringReferences = new ArrayList<>();
56
- this.valueReferences = new ArrayList<>();
57
- this.referenceSize = 0;
58
- }
59
-
60
- public Schema getSchema()
61
- {
62
- return schema;
63
- }
64
-
65
- public void setNull(Column column)
66
- {
67
- setNull(column.getIndex());
68
- }
69
-
70
- public void setNull(int columnIndex)
71
- {
72
- row.setNull(columnIndex);
73
-
74
- }
75
-
76
- public void setBoolean(Column column, boolean value)
77
- {
78
- // TODO check type?
79
- setBoolean(column.getIndex(), value);
80
- }
81
-
82
- public void setBoolean(int columnIndex, boolean value)
83
- {
84
- row.setBoolean(columnIndex, value);
85
- }
86
-
87
- public void setLong(Column column, long value)
88
- {
89
- // TODO check type?
90
- setLong(column.getIndex(), value);
91
- }
92
-
93
- public void setLong(int columnIndex, long value)
94
- {
95
- row.setLong(columnIndex, value);
96
- }
97
-
98
- public void setDouble(Column column, double value)
99
- {
100
- // TODO check type?
101
- setDouble(column.getIndex(), value);
102
- }
103
-
104
- public void setDouble(int columnIndex, double value)
105
- {
106
- row.setDouble(columnIndex, value);
107
- }
108
-
109
- public void setString(Column column, String value)
110
- {
111
- // TODO check type?
112
- setString(column.getIndex(), value);
113
- }
114
-
115
- public void setString(int columnIndex, String value)
116
- {
117
- if (value == null) {
118
- setNull(columnIndex);
119
- }
120
- else {
121
- row.setString(columnIndex, value);
122
- }
123
- }
124
-
125
- public void setJson(Column column, Value value)
126
- {
127
- // TODO check type?
128
- setJson(column.getIndex(), value);
129
- }
130
-
131
- public void setJson(int columnIndex, Value value)
132
- {
133
- if (value == null) {
134
- setNull(columnIndex);
135
- }
136
- else {
137
- row.setJson(columnIndex, value);
138
- }
139
- }
140
-
141
- public void setTimestamp(Column column, Timestamp value)
142
- {
143
- // TODO check type?
144
- setTimestamp(column.getIndex(), value);
145
- }
146
-
147
- public void setTimestamp(int columnIndex, Timestamp value)
148
- {
149
- if (value == null) {
150
- setNull(columnIndex);
151
- }
152
- else {
153
- row.setTimestamp(columnIndex, value);
154
- }
155
- }
156
-
157
- private void writeNull(int columnIndex)
158
- {
159
- nullBitSet[columnIndex >>> 3] |= (1 << (columnIndex & 7));
160
- }
161
-
162
- private void clearNull(int columnIndex)
163
- {
164
- nullBitSet[columnIndex >>> 3] &= ~(1 << (columnIndex & 7));
165
- }
166
-
167
- private void writeBoolean(int columnIndex, boolean value)
168
- {
169
- bufferSlice.setByte(getOffset(columnIndex), value ? (byte) 1 : (byte) 0);
170
- clearNull(columnIndex);
171
- }
172
-
173
- private void writeLong(int columnIndex, long value)
174
- {
175
- bufferSlice.setLong(getOffset(columnIndex), value);
176
- clearNull(columnIndex);
177
- }
178
-
179
- private void writeDouble(int columnIndex, double value)
180
- {
181
- bufferSlice.setDouble(getOffset(columnIndex), value);
182
- clearNull(columnIndex);
183
- }
184
-
185
- private void writeString(int columnIndex, String value)
186
- {
187
- int index = stringReferences.size();
188
- stringReferences.add(value);
189
- bufferSlice.setInt(getOffset(columnIndex), index);
190
- referenceSize += value.length() * 2 + 4; // assuming size of char = size of byte * 2 + length
191
- clearNull(columnIndex);
192
- }
193
-
194
- private void writeJson(int columnIndex, Value value)
195
- {
196
- int index = valueReferences.size();
197
- valueReferences.add(value.immutableValue());
198
- bufferSlice.setInt(getOffset(columnIndex), index);
199
- referenceSize += 256; // TODO how to estimate size of the value?
200
- clearNull(columnIndex);
201
- }
202
-
203
- private void writeTimestamp(int columnIndex, Timestamp value)
204
- {
205
- int offset = getOffset(columnIndex);
206
- bufferSlice.setLong(offset, value.getEpochSecond());
207
- bufferSlice.setInt(offset + 8, value.getNano());
208
- clearNull(columnIndex);
209
- }
210
-
211
- private int getOffset(int columnIndex)
212
- {
213
- return position + columnOffsets[columnIndex];
214
- }
215
-
216
- public void addRecord()
217
- {
218
- // record
219
- row.write(this);
220
-
221
- // record header
222
- bufferSlice.setInt(position, nextVariableLengthDataOffset); // nextVariableLengthDataOffset means record size
223
- bufferSlice.setBytes(position + 4, nullBitSet);
224
- count++;
225
-
226
- this.position += nextVariableLengthDataOffset;
227
- this.nextVariableLengthDataOffset = fixedRecordSize;
228
- Arrays.fill(nullBitSet, (byte) -1);
229
-
230
- // flush if next record will not fit in this buffer
231
- if (buffer.capacity() < position + nextVariableLengthDataOffset + referenceSize) {
232
- flush();
233
- }
234
- }
235
-
236
- private void doFlush()
237
- {
238
- if (buffer != null && count > 0) {
239
- // write page header
240
- bufferSlice.setInt(0, count);
241
- buffer.limit(position);
242
-
243
- // flush page
244
- Page page = Page.wrap(buffer)
245
- .setStringReferences(stringReferences)
246
- .setValueReferences(valueReferences);
247
- buffer = null;
248
- bufferSlice = null;
249
- output.add(page);
250
- }
251
- }
252
-
253
- public void flush()
254
- {
255
- doFlush();
256
- if (buffer == null) {
257
- newBuffer();
258
- }
259
- }
260
-
261
- public void finish()
262
- {
263
- doFlush();
264
- output.finish();
265
- }
266
-
267
- @Override
268
- public void close()
269
- {
270
- if (buffer != null) {
271
- buffer.release();
272
- buffer = null;
273
- bufferSlice = null;
274
- }
275
- output.close();
276
- }
277
-
278
- /**
279
- * Row is a container to stage values before adding into reference lists such as |stringReferences|.
280
- *
281
- * |Row| works as a buffer against plugins that may add values incorrectly without |PageBuilder#addRecord|.
282
- * It accepts just one value per column while |PageBuilder| can double-store values regardless of columns.
283
- * Double-stored values are overwritten.
284
- */
285
- private static class Row
286
- {
287
- private static Row newRow(Schema schema)
288
- {
289
- ColumnValue[] values = new ColumnValue[schema.getColumnCount()];
290
- for (Column column : schema.getColumns()) {
291
- values[column.getIndex()] = newValue(column);
292
- }
293
- return new Row(values);
294
- }
295
-
296
- private static ColumnValue newValue(Column column)
297
- {
298
- Type type = column.getType();
299
- if (type.equals(Types.BOOLEAN)) {
300
- return new BooleanColumnValue(column);
301
- }
302
- else if (type.equals(Types.DOUBLE)) {
303
- return new DoubleColumnValue(column);
304
- }
305
- else if (type.equals(Types.LONG)) {
306
- return new LongColumnValue(column);
307
- }
308
- else if (type.equals(Types.STRING)) {
309
- return new StringColumnValue(column);
310
- }
311
- else if (type.equals(Types.JSON)) {
312
- return new JsonColumnValue(column);
313
- }
314
- else if (type.equals(Types.TIMESTAMP)) {
315
- return new TimestampColumnValue(column);
316
- }
317
- else {
318
- throw new IllegalStateException("Unsupported type " + type.getName());
319
- }
320
- }
321
-
322
- private final ColumnValue[] values;
323
-
324
- private Row(ColumnValue[] values)
325
- {
326
- this.values = values;
327
- }
328
-
329
- private void setNull(int columnIndex)
330
- {
331
- values[columnIndex].setNull();
332
- }
333
-
334
- private void setBoolean(int columnIndex, boolean value)
335
- {
336
- values[columnIndex].setBoolean(value);
337
- }
338
-
339
- private void setLong(int columnIndex, long value)
340
- {
341
- values[columnIndex].setLong(value);
342
- }
343
-
344
- private void setDouble(int columnIndex, double value)
345
- {
346
- values[columnIndex].setDouble(value);
347
- }
348
-
349
- private void setString(int columnIndex, String value)
350
- {
351
- values[columnIndex].setString(value);
352
- }
353
-
354
- private void setJson(int columnIndex, Value value)
355
- {
356
- values[columnIndex].setJson(value);
357
- }
358
-
359
- private void setTimestamp(int columnIndex, Timestamp value)
360
- {
361
- values[columnIndex].setTimestamp(value);
362
- }
363
-
364
- private void write(PageBuilder pageBuilder)
365
- {
366
- for (ColumnValue v : values) {
367
- v.write(pageBuilder);
368
- }
369
- }
370
- }
371
-
372
- private interface ColumnValue
373
- {
374
- void setBoolean(boolean value);
375
-
376
- void setLong(long value);
377
-
378
- void setDouble(double value);
379
-
380
- void setString(String value);
381
-
382
- void setJson(Value value);
383
-
384
- void setTimestamp(Timestamp value);
385
-
386
- void setNull();
387
-
388
- void write(PageBuilder pageBuilder);
389
- }
390
-
391
- private static abstract class AbstractColumnValue
392
- implements ColumnValue
393
- {
394
- protected final Column column;
395
- protected boolean isNull;
396
-
397
- protected AbstractColumnValue(Column column)
398
- {
399
- this.column = column;
400
- }
401
-
402
- public void setBoolean(boolean value)
403
- {
404
- throw new IllegalStateException("Not reach here");
405
- }
406
-
407
- public void setLong(long value)
408
- {
409
- throw new IllegalStateException("Not reach here");
410
- }
411
-
412
- public void setDouble(double value)
413
- {
414
- throw new IllegalStateException("Not reach here");
415
- }
416
-
417
- public void setString(String value)
418
- {
419
- throw new IllegalStateException("Not reach here");
420
- }
421
-
422
- public void setJson(Value value)
423
- {
424
- throw new IllegalStateException("Not reach here");
425
- }
426
-
427
- public void setTimestamp(Timestamp value)
428
- {
429
- throw new IllegalStateException("Not reach here");
430
- }
431
-
432
- public void setNull()
433
- {
434
- isNull = true;
435
- }
436
-
437
- public void write(PageBuilder pageBuilder)
438
- {
439
- if (!isNull) {
440
- writeNotNull(pageBuilder);
441
- }
442
- else {
443
- pageBuilder.writeNull(column.getIndex());
444
- }
445
- }
446
-
447
- protected abstract void writeNotNull(PageBuilder pageBuilder);
448
- }
449
-
450
- private static class BooleanColumnValue
451
- extends AbstractColumnValue
452
- {
453
- private boolean value;
454
-
455
- BooleanColumnValue(Column column)
456
- {
457
- super(column);
458
- }
459
-
460
- @Override
461
- public void setBoolean(boolean value)
462
- {
463
- this.value = value;
464
- this.isNull = false;
465
- }
466
-
467
- @Override
468
- public void writeNotNull(PageBuilder pageBuilder)
469
- {
470
- pageBuilder.writeBoolean(column.getIndex(), value);
471
- }
472
- }
473
-
474
- private static class LongColumnValue
475
- extends AbstractColumnValue
476
- {
477
- private long value;
478
-
479
- LongColumnValue(Column column)
480
- {
481
- super(column);
482
- }
483
-
484
- @Override
485
- public void setLong(long value)
486
- {
487
- this.value = value;
488
- this.isNull = false;
489
- }
490
-
491
- @Override
492
- public void writeNotNull(PageBuilder pageBuilder)
493
- {
494
- pageBuilder.writeLong(column.getIndex(), value);
495
- }
496
- }
497
-
498
- private static class DoubleColumnValue
499
- extends AbstractColumnValue
500
- {
501
- private double value;
502
-
503
- DoubleColumnValue(Column column)
504
- {
505
- super(column);
506
- }
507
-
508
- @Override
509
- public void setDouble(double value)
510
- {
511
- this.value = value;
512
- this.isNull = false;
513
- }
514
-
515
- @Override
516
- public void writeNotNull(PageBuilder pageBuilder)
517
- {
518
- pageBuilder.writeDouble(column.getIndex(), value);
519
- }
520
- }
521
-
522
- private static class StringColumnValue
523
- extends AbstractColumnValue
524
- {
525
- private String value;
526
-
527
- StringColumnValue(Column column)
528
- {
529
- super(column);
530
- }
531
-
532
- @Override
533
- public void setString(String value)
534
- {
535
- this.value = value;
536
- this.isNull = false;
537
- }
538
-
539
- @Override
540
- public void writeNotNull(PageBuilder pageBuilder)
541
- {
542
- pageBuilder.writeString(column.getIndex(), value);
543
- }
544
- }
545
-
546
- private static class JsonColumnValue
547
- extends AbstractColumnValue
548
- {
549
- private Value value;
550
-
551
- JsonColumnValue(Column column)
552
- {
553
- super(column);
554
- }
555
-
556
- @Override
557
- public void setJson(Value value)
558
- {
559
- this.value = value;
560
- this.isNull = false;
561
- }
562
-
563
- @Override
564
- public void writeNotNull(PageBuilder pageBuilder)
565
- {
566
- pageBuilder.writeJson(column.getIndex(), value);
567
- }
568
- }
569
-
570
- private static class TimestampColumnValue
571
- extends AbstractColumnValue
572
- {
573
- private Timestamp value;
574
-
575
- TimestampColumnValue(Column column)
576
- {
577
- super(column);
578
- }
579
-
580
- @Override
581
- public void setTimestamp(Timestamp value)
582
- {
583
- this.value = value;
584
- this.isNull = false;
585
- }
586
-
587
- @Override
588
- public void writeNotNull(PageBuilder pageBuilder)
589
- {
590
- pageBuilder.writeTimestamp(column.getIndex(), value);
591
- }
592
- }
593
-
594
- /* TODO for variable-length types
595
- private void flushAndTakeOverRemaingData()
596
- {
597
- if (page != null) {
598
- // page header
599
- page.setInt(0, count);
600
-
601
- Page lastPage = page;
602
-
603
- this.page = allocator.allocatePage(Page.PAGE_HEADER_SIZE + fixedRecordSize + nextVariableLengthDataOffset);
604
- page.setBytes(Page.PAGE_HEADER_SIZE, lastPage, position, nextVariableLengthDataOffset);
605
- this.count = 0;
606
- this.position = Page.PAGE_HEADER_SIZE;
607
-
608
- output.add(lastPage);
609
- }
610
- }
611
-
612
- public int getVariableLengthDataOffset()
613
- {
614
- return nextVariableLengthDataOffset;
615
- }
616
-
617
- public VariableLengthDataWriter setVariableLengthData(int columnIndex, int intData)
618
- {
619
- // Page.VARIABLE_LENGTH_COLUMN_SIZE is 4 bytes
620
- page.setInt(position + columnOffsets[columnIndex], intData);
621
- return new VariableLengthDataWriter(nextVariableLengthDataOffset);
622
- }
623
-
624
- Page ensureVariableLengthDataCapacity(int requiredOffsetFromPosition)
625
- {
626
- if (page.capacity() < position + requiredOffsetFromPosition) {
627
- flushAndTakeOverRemaingData();
628
- }
629
- return page;
630
- }
631
-
632
- public class VariableLengthDataWriter
633
- {
634
- private int offsetFromPosition;
635
-
636
- VariableLengthDataWriter(int offsetFromPosition)
637
- {
638
- this.offsetFromPosition = offsetFromPosition;
639
- }
640
-
641
- public void writeByte(byte value)
642
- {
643
- ensureVariableLengthDataCapacity(offsetFromPosition + 1);
644
- page.setByte(position + offsetFromPosition, value);
645
- offsetFromPosition += 1;
646
- }
647
-
648
- public void writeShort(short value)
649
- {
650
- ensureVariableLengthDataCapacity(offsetFromPosition + 2);
651
- page.setShort(position + offsetFromPosition, value);
652
- offsetFromPosition += 2;
653
- }
654
-
655
- public void writeInt(int value)
656
- {
657
- ensureVariableLengthDataCapacity(offsetFromPosition + 4);
658
- page.setInt(position + offsetFromPosition, value);
659
- offsetFromPosition += 4;
660
- }
661
-
662
- public void writeLong(long value)
663
- {
664
- ensureVariableLengthDataCapacity(offsetFromPosition + 8);
665
- page.setLong(position + offsetFromPosition, value);
666
- offsetFromPosition += 8;
667
- }
668
-
669
- public void writeFloat(float value)
670
- {
671
- ensureVariableLengthDataCapacity(offsetFromPosition + 4);
672
- page.setFloat(position + offsetFromPosition, value);
673
- offsetFromPosition += 4;
674
- }
675
-
676
- public void writeDouble(double value)
677
- {
678
- ensureVariableLengthDataCapacity(offsetFromPosition + 8);
679
- page.setDouble(position + offsetFromPosition, value);
680
- offsetFromPosition += 8;
681
- }
682
-
683
- public void writeBytes(byte[] data)
684
- {
685
- writeBytes(data, 0, data.length);
686
- }
687
-
688
- public void writeBytes(byte[] data, int off, int len)
689
- {
690
- ensureVariableLengthDataCapacity(offsetFromPosition + len);
691
- page.setBytes(position + offsetFromPosition, data, off, len);
692
- offsetFromPosition += len;
693
- }
694
- }
695
- */
696
- }