embulk 0.8.35-java → 0.10.24-java

Sign up to get free protection for your applications and to get access to all the features.
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,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
- }