embulk 0.8.36-java → 0.10.25-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 (596) 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/gem_version.rb +3 -0
  8. data/lib/embulk/guess/charset.rb +2 -11
  9. data/lib/embulk/java/bootstrap.rb +1 -2
  10. data/lib/embulk/java_plugin.rb +9 -1
  11. data/lib/embulk/logger.rb +2 -1
  12. data/lib/embulk/page_builder.rb +2 -2
  13. data/lib/embulk/plugin.rb +2 -2
  14. data/lib/embulk/schema.rb +3 -4
  15. data/lib/embulk/version.rb +45 -19
  16. metadata +24 -753
  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 -229
  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 -86
  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 -786
  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 -993
  116. data/embulk-core/src/main/java/org/embulk/plugin/PluginClassLoaderFactory.java +0 -16
  117. data/embulk-core/src/main/java/org/embulk/plugin/PluginClassLoaderModule.java +0 -102
  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 -232
  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 -220
  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 -100
  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 -180
  185. data/embulk-core/src/main/java/org/embulk/spi/time/TimestampFormat.java +0 -121
  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 -134
  210. data/embulk-core/src/main/java/org/embulk/spi/util/DynamicPageBuilder.java +0 -200
  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 -126
  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 -94
  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 -68
  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 -73
  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 -41
  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 -1017
  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 -102
  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 -106
  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.36.rst +0 -32
  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/java/time_helper.rb +0 -79
  588. data/lib/embulk/runner.rb +0 -53
  589. data/settings.gradle +0 -8
  590. data/test/guess/test_csv_all_strings.rb +0 -43
  591. data/test/guess/test_csv_guess.rb +0 -170
  592. data/test/guess/test_schema_guess.rb +0 -47
  593. data/test/guess/test_time_format_guess.rb +0 -135
  594. data/test/helper.rb +0 -23
  595. data/test/mri/date/test_date_strptime.rb +0 -515
  596. data/test/run-test.rb +0 -28
@@ -1,53 +0,0 @@
1
- package org.embulk.spi.time;
2
-
3
- /**
4
- * This class is ported from org.jruby.util.RubyDateFormatter.Format in JRuby
5
- * 9.1.5.0 and modified for StrptimeParser under EPL.
6
- * @see <a href="https://github.com/jruby/jruby/blob/036ce39f0476d4bd718e23e64caff36bb50b8dbc/core/src/main/java/org/jruby/util/RubyDateFormatter.java>RubyDateFormatter.java</a>.
7
- *
8
- * TODO
9
- * This class is tentatively required for {@code StrptimeParser} class.
10
- * The {@code StrptimeParser} and {@code RubyDateParser} will be merged into JRuby
11
- * (jruby/jruby#4591). embulk-jruby-strptime is removed when Embulk start using
12
- * the JRuby that bundles embulk-jruby-strptime.
13
- */
14
- enum StrptimeFormat
15
- {
16
- FORMAT_STRING, // raw string, no formatting
17
- FORMAT_SPECIAL, // composition of other formats
18
-
19
- FORMAT_WEEK_LONG, // %A
20
- FORMAT_WEEK_SHORT, // %a
21
- FORMAT_MONTH_LONG, // %B
22
- FORMAT_MONTH_SHORT, // %b, %h
23
- FORMAT_CENTURY, // %C
24
- FORMAT_DAY, // %d
25
- FORMAT_DAY_S, // %e
26
- FORMAT_WEEKYEAR, // %G
27
- FORMAT_WEEKYEAR_SHORT, // %g
28
- FORMAT_HOUR, // %H
29
- FORMAT_HOUR_M, // %I
30
- FORMAT_DAY_YEAR, // %j
31
- FORMAT_HOUR_BLANK, // %k
32
- FORMAT_MILLISEC, // %L
33
- FORMAT_HOUR_S, // %l
34
- FORMAT_MINUTES, // %M
35
- FORMAT_MONTH, // %m
36
- FORMAT_NANOSEC, // %N
37
- FORMAT_MERIDIAN_LOWER_CASE, // %P
38
- FORMAT_MERIDIAN, // %p
39
- FORMAT_MICROSEC_EPOCH, // %Q Only for Date/DateTime from here
40
- FORMAT_SECONDS, // %S
41
- FORMAT_EPOCH, // %s
42
- FORMAT_WEEK_YEAR_S, // %U
43
- FORMAT_DAY_WEEK2, // %u
44
- FORMAT_WEEK_WEEKYEAR, // %V
45
- FORMAT_WEEK_YEAR_M, // %W
46
- FORMAT_DAY_WEEK, // %w
47
- FORMAT_YEAR_LONG, // %Y
48
- FORMAT_YEAR_SHORT, // %y
49
-
50
- FORMAT_COLON_ZONE_OFF, // %z, %:z, %::z, %:::z must be given number of colons as data
51
-
52
- FORMAT_ZONE_ID; // %Z Change between Time and Date
53
- }
@@ -1,884 +0,0 @@
1
- package org.embulk.spi.time;
2
-
3
- import java.io.IOException;
4
- import java.io.Reader;
5
- import java.io.StringReader;
6
- import java.util.EnumSet;
7
- import java.util.LinkedList;
8
- import java.util.List;
9
- import java.util.Arrays;
10
- import java.util.regex.Matcher;
11
- import java.util.regex.Pattern;
12
-
13
- import org.embulk.spi.time.lexer.StrptimeLexer;
14
-
15
- /**
16
- * This is Java implementation of ext/date/date_strptime.c in Ruby v2.3.1.
17
- * @see <a href="https://github.com/ruby/ruby/blob/394fa89c67722d35bdda89f10c7de5c304a5efb1/ext/date/date_strptime.c">date_strptime.c</a>
18
- *
19
- * TODO
20
- * This class is tentatively required for {@code TimestampParser} class.
21
- * The {@code StrptimeParser} and {@code RubyDateParser} will be merged into JRuby
22
- * (jruby/jruby#4591). embulk-jruby-strptime is removed when Embulk start using
23
- * the JRuby that bundles embulk-jruby-strptime.
24
- */
25
- public class StrptimeParser
26
- {
27
- // day_names
28
- private static final String[] DAY_NAMES = new String[] {
29
- "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday",
30
- "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"
31
- };
32
-
33
- // month_names
34
- private static final String[] MONTH_NAMES = new String[] {
35
- "January", "February", "March", "April", "May", "June", "July", "August", "September",
36
- "October", "November", "December", "Jan", "Feb", "Mar", "Apr", "May", "Jun",
37
- "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"
38
- };
39
-
40
- // merid_names
41
- private static final String[] MERID_NAMES = new String[] {
42
- "am", "pm", "a.m.", "p.m."
43
- };
44
-
45
- /**
46
- * Ported Date::Format::Bag from JRuby 9.1.5.0's lib/ruby/stdlib/date/format.rb.
47
- * @see <a href="https://github.com/jruby/jruby/blob/036ce39f0476d4bd718e23e64caff36bb50b8dbc/lib/ruby/stdlib/date/format.rb">format.rb</a>
48
- */
49
- public static class FormatBag
50
- {
51
- private int mDay = Integer.MIN_VALUE;
52
- private int wDay = Integer.MIN_VALUE;
53
- private int cWDay = Integer.MIN_VALUE;
54
- private int yDay = Integer.MIN_VALUE;
55
- private int cWeek = Integer.MIN_VALUE;
56
- private int cWYear = Integer.MIN_VALUE;
57
- private int min = Integer.MIN_VALUE;
58
- private int mon = Integer.MIN_VALUE;
59
- private int hour = Integer.MIN_VALUE;
60
- private int year = Integer.MIN_VALUE;
61
- private int sec = Integer.MIN_VALUE;
62
- private int wNum0 = Integer.MIN_VALUE;
63
- private int wNum1 = Integer.MIN_VALUE;
64
-
65
- private String zone = null;
66
-
67
- private int secFraction = Integer.MIN_VALUE; // Rational
68
- private int secFractionSize = Integer.MIN_VALUE;
69
-
70
- private long seconds = Long.MIN_VALUE; // long or Rational
71
- private int secondsSize = Integer.MIN_VALUE;
72
-
73
- private int merid = Integer.MIN_VALUE;
74
- private int cent = Integer.MIN_VALUE;
75
-
76
- private boolean fail = false;
77
- private String leftover = null;
78
-
79
- public int getMDay()
80
- {
81
- return mDay;
82
- }
83
-
84
- public int getWDay()
85
- {
86
- return wDay;
87
- }
88
-
89
- public int getCWDay()
90
- {
91
- return cWDay;
92
- }
93
-
94
- public int getYDay()
95
- {
96
- return yDay;
97
- }
98
-
99
- public int getCWeek()
100
- {
101
- return cWeek;
102
- }
103
-
104
- public int getCWYear()
105
- {
106
- return cWYear;
107
- }
108
-
109
- public int getMin()
110
- {
111
- return min;
112
- }
113
-
114
- public int getMon()
115
- {
116
- return mon;
117
- }
118
-
119
- public int getHour()
120
- {
121
- return hour;
122
- }
123
-
124
- public int getYear()
125
- {
126
- return year;
127
- }
128
-
129
- public int getSec()
130
- {
131
- return sec;
132
- }
133
-
134
- public int getWNum0()
135
- {
136
- return wNum0;
137
- }
138
-
139
- public int getWNum1()
140
- {
141
- return wNum1;
142
- }
143
-
144
- public String getZone()
145
- {
146
- return zone;
147
- }
148
-
149
- public int getSecFraction()
150
- {
151
- return secFraction;
152
- }
153
-
154
- public int getSecFractionSize()
155
- {
156
- return secFractionSize;
157
- }
158
-
159
- public long getSeconds()
160
- {
161
- return seconds;
162
- }
163
-
164
- public int getSecondsSize()
165
- {
166
- return secondsSize;
167
- }
168
-
169
- public int getMerid()
170
- {
171
- return merid;
172
- }
173
-
174
- public int getCent()
175
- {
176
- return cent;
177
- }
178
-
179
- void fail()
180
- {
181
- fail = true;
182
- }
183
-
184
- public String getLeftover()
185
- {
186
- return leftover;
187
- }
188
-
189
- public boolean setYearIfNotSet(int v)
190
- {
191
- if (has(year)) {
192
- return false;
193
- }
194
- else {
195
- year = v;
196
- return true;
197
- }
198
- }
199
-
200
- public boolean setMonthIfNotSet(int v)
201
- {
202
- if (has(mon)) {
203
- return false;
204
- }
205
- else {
206
- mon = v;
207
- return true;
208
- }
209
- }
210
-
211
- public boolean setMdayIfNotSet(int v)
212
- {
213
- if (has(mDay)) {
214
- return false;
215
- }
216
- else {
217
- mDay = v;
218
- return true;
219
- }
220
- }
221
-
222
- public boolean hasSeconds()
223
- {
224
- return seconds != Long.MIN_VALUE;
225
- }
226
-
227
- public static boolean has(int v)
228
- {
229
- return v != Integer.MIN_VALUE;
230
- }
231
- }
232
-
233
- private final StrptimeLexer lexer;
234
-
235
- public StrptimeParser()
236
- {
237
- this.lexer = new StrptimeLexer((Reader) null);
238
- }
239
-
240
- /**
241
- * Ported from org.jruby.util.RubyDateFormatter#addToPattern in JRuby 9.1.5.0
242
- * under EPL.
243
- * @see <a href="https://github.com/jruby/jruby/blob/036ce39f0476d4bd718e23e64caff36bb50b8dbc/core/src/main/java/org/jruby/util/RubyDateFormatter.java">RubyDateFormatter.java</a>
244
- */
245
- private void addToPattern(final List<StrptimeToken> compiledPattern, final String str)
246
- {
247
- for (int i = 0; i < str.length(); i++) {
248
- final char c = str.charAt(i);
249
- if (('A' <= c && c <= 'Z') || ('a' <= c && c <= 'z')) {
250
- compiledPattern.add(StrptimeToken.format(c));
251
- }
252
- else {
253
- compiledPattern.add(StrptimeToken.str(Character.toString(c)));
254
- }
255
- }
256
- }
257
-
258
- /**
259
- * Ported from org.jruby.util.RubyDateFormatter#compilePattern in JRuby 9.1.5.0
260
- * under EPL.
261
- * @see <a href="https://github.com/jruby/jruby/blob/036ce39f0476d4bd718e23e64caff36bb50b8dbc/core/src/main/java/org/jruby/util/RubyDateFormatter.java">RubyDateFormatter.java</a>
262
- */
263
- public List<StrptimeToken> compilePattern(final String pattern)
264
- {
265
- final List<StrptimeToken> compiledPattern = new LinkedList<>();
266
- final Reader reader = new StringReader(pattern); // TODO Use try-with-resource statement
267
- lexer.yyreset(reader);
268
-
269
- StrptimeToken token;
270
- try {
271
- while ((token = lexer.yylex()) != null) {
272
- if (token.getFormat() != StrptimeFormat.FORMAT_SPECIAL) {
273
- compiledPattern.add(token);
274
- }
275
- else {
276
- char c = (Character) token.getData();
277
- switch (c) {
278
- case 'c':
279
- addToPattern(compiledPattern, "a b e H:M:S Y");
280
- break;
281
- case 'D':
282
- case 'x':
283
- addToPattern(compiledPattern, "m/d/y");
284
- break;
285
- case 'F':
286
- addToPattern(compiledPattern, "Y-m-d");
287
- break;
288
- case 'n':
289
- compiledPattern.add(StrptimeToken.str("\n"));
290
- break;
291
- case 'R':
292
- addToPattern(compiledPattern, "H:M");
293
- break;
294
- case 'r':
295
- addToPattern(compiledPattern, "I:M:S p");
296
- break;
297
- case 'T':
298
- case 'X':
299
- addToPattern(compiledPattern, "H:M:S");
300
- break;
301
- case 't':
302
- compiledPattern.add(StrptimeToken.str("\t"));
303
- break;
304
- case 'v':
305
- addToPattern(compiledPattern, "e-b-Y");
306
- break;
307
- case 'Z':
308
- // +HH:MM in 'date', never zone name
309
- compiledPattern.add(StrptimeToken.zoneOffsetColons(1));
310
- break;
311
- case '+':
312
- addToPattern(compiledPattern, "a b e H:M:S ");
313
- // %Z: +HH:MM in 'date', never zone name
314
- compiledPattern.add(StrptimeToken.zoneOffsetColons(1));
315
- addToPattern(compiledPattern, " Y");
316
- break;
317
- default:
318
- throw new Error("Unknown special char: " + c);
319
- }
320
- }
321
- }
322
- }
323
- catch (IOException e) {
324
- e.printStackTrace();
325
- }
326
-
327
- return compiledPattern;
328
- }
329
-
330
- public FormatBag parse(final List<StrptimeToken> compiledPattern, final String text)
331
- {
332
- final FormatBag bag = new StringParser(text).parse(compiledPattern);
333
- if (bag == null) {
334
- return null;
335
- }
336
-
337
- if (FormatBag.has(bag.cent)) {
338
- if (FormatBag.has(bag.cWYear)) {
339
- bag.cWYear += bag.cent * 100;
340
- }
341
- if (FormatBag.has(bag.year)) {
342
- bag.year += bag.cent * 100;
343
- }
344
-
345
- // delete bag._cent
346
- bag.cent = Integer.MIN_VALUE;
347
- }
348
-
349
- if (FormatBag.has(bag.merid)) {
350
- if (FormatBag.has(bag.hour)) {
351
- bag.hour %= 12;
352
- bag.hour += bag.merid;
353
- }
354
-
355
- // delete bag._merid
356
- bag.merid = Integer.MIN_VALUE;
357
- }
358
-
359
- return bag;
360
- }
361
-
362
- private static class StringParser
363
- {
364
- private static final Pattern ZONE_PARSE_REGEX = Pattern.compile("\\A(" +
365
- "(?:gmt|utc?)?[-+]\\d+(?:[,.:]\\d+(?::\\d+)?)?" +
366
- "|(?-i:[[\\p{Alpha}].\\s]+)(?:standard|daylight)\\s+time\\b" +
367
- "|(?-i:[[\\p{Alpha}]]+)(?:\\s+dst)?\\b" +
368
- ")", Pattern.CASE_INSENSITIVE);
369
-
370
- private final String text;
371
- private final FormatBag bag;
372
-
373
- private int pos;
374
- private boolean fail;
375
-
376
- private StringParser(String text)
377
- {
378
- this.text = text;
379
- this.bag = new FormatBag();
380
-
381
- this.pos = 0;
382
- this.fail = false;
383
- }
384
-
385
- private FormatBag parse(final List<StrptimeToken> compiledPattern)
386
- {
387
- for (int tokenIndex = 0; tokenIndex < compiledPattern.size(); tokenIndex++) {
388
- final StrptimeToken token = compiledPattern.get(tokenIndex);
389
-
390
- switch (token.getFormat()) {
391
- case FORMAT_STRING: {
392
- final String str = token.getData().toString();
393
- for (int i = 0; i < str.length(); i++) {
394
- final char c = str.charAt(i);
395
- if (isSpace(c)) {
396
- while (!isEndOfText(text, pos) && isSpace(text.charAt(pos))) {
397
- pos++;
398
- }
399
- }
400
- else {
401
- if (isEndOfText(text, pos) || c != text.charAt(pos)) {
402
- fail = true;
403
- }
404
- pos++;
405
- }
406
- }
407
- break;
408
- }
409
- case FORMAT_WEEK_LONG: // %A - The full weekday name (``Sunday'')
410
- case FORMAT_WEEK_SHORT: { // %a - The abbreviated name (``Sun'')
411
- final int dayIndex = findIndexInPatterns(DAY_NAMES);
412
- if (dayIndex >= 0) {
413
- bag.wDay = dayIndex % 7;
414
- pos += DAY_NAMES[dayIndex].length();
415
- }
416
- else {
417
- fail = true;
418
- }
419
- break;
420
- }
421
- case FORMAT_MONTH_LONG: // %B - The full month name (``January'')
422
- case FORMAT_MONTH_SHORT: { // %b, %h - The abbreviated month name (``Jan'')
423
- final int monIndex = findIndexInPatterns(MONTH_NAMES);
424
- if (monIndex >= 0) {
425
- bag.mon = monIndex % 12 + 1;
426
- pos += MONTH_NAMES[monIndex].length();
427
- }
428
- else {
429
- fail = true;
430
- }
431
- break;
432
- }
433
- case FORMAT_CENTURY: { // %C - year / 100 (round down. 20 in 2009)
434
- final long cent;
435
- if (isNumberPattern(compiledPattern, tokenIndex)) {
436
- cent = readDigits(2);
437
- }
438
- else {
439
- cent = readDigitsMax();
440
- }
441
- bag.cent = (int)cent;
442
- break;
443
- }
444
- case FORMAT_DAY: // %d, %Od - Day of the month, zero-padded (01..31)
445
- case FORMAT_DAY_S: { // %e, %Oe - Day of the month, blank-padded ( 1..31)
446
- final long day;
447
- if (isBlank(text, pos)) {
448
- pos += 1; // blank
449
- day = readDigits(1);
450
- }
451
- else {
452
- day = readDigits(2);
453
- }
454
-
455
- if (!validRange(day, 1, 31)) {
456
- fail = true;
457
- }
458
- bag.mDay = (int)day;
459
- break;
460
- }
461
- case FORMAT_WEEKYEAR: { // %G - The week-based year
462
- final long year;
463
- if (isNumberPattern(compiledPattern, tokenIndex)) {
464
- year = readDigits(4);
465
- }
466
- else {
467
- year = readDigitsMax();
468
- }
469
- bag.cWYear = (int)year;
470
- break;
471
- }
472
- case FORMAT_WEEKYEAR_SHORT: { // %g - The last 2 digits of the week-based year (00..99)
473
- final long v = readDigits(2);
474
- if (!validRange(v, 0, 99)) {
475
- fail = true;
476
- }
477
- bag.cWYear = (int)v;
478
- if (!bag.has(bag.cent)) {
479
- bag.cent = v >= 69 ? 19 : 20;
480
- }
481
- break;
482
- }
483
- case FORMAT_HOUR: // %H, %OH - Hour of the day, 24-hour clock, zero-padded (00..23)
484
- case FORMAT_HOUR_BLANK: { // %k - Hour of the day, 24-hour clock, blank-padded ( 0..23)
485
- final long hour;
486
- if (isBlank(text, pos)) {
487
- pos += 1; // blank
488
- hour = readDigits(1);
489
- }
490
- else {
491
- hour = readDigits(2);
492
- }
493
-
494
- if (!validRange(hour, 0, 24)) {
495
- fail = true;
496
- }
497
- bag.hour = (int)hour;
498
- break;
499
- }
500
- case FORMAT_HOUR_M: // %I, %OI - Hour of the day, 12-hour clock, zero-padded (01..12)
501
- case FORMAT_HOUR_S: { // %l - Hour of the day, 12-hour clock, blank-padded ( 1..12)
502
- final long hour;
503
- if (isBlank(text, pos)) {
504
- pos += 1; // blank
505
- hour = readDigits(1);
506
- }
507
- else {
508
- hour = readDigits(2);
509
- }
510
-
511
- if (!validRange(hour, 1, 12)) {
512
- fail = true;
513
- }
514
- bag.hour = (int)hour;
515
- break;
516
- }
517
- case FORMAT_DAY_YEAR: { // %j - Day of the year (001..366)
518
- final long day = readDigits(3);
519
- if (!validRange(day, 1, 365)) {
520
- fail = true;
521
- }
522
- bag.yDay = (int)day;
523
- break;
524
- }
525
- case FORMAT_MILLISEC: // %L - Millisecond of the second (000..999)
526
- case FORMAT_NANOSEC: { // %N - Fractional seconds digits, default is 9 digits (nanosecond)
527
- boolean negative = false;
528
- if (isSign(text, pos)) {
529
- negative = text.charAt(pos) == '-';
530
- pos++;
531
- }
532
-
533
- final long v;
534
- final int initPos = pos;
535
- if (isNumberPattern(compiledPattern, tokenIndex)) {
536
- if (token.getFormat() == StrptimeFormat.FORMAT_MILLISEC) {
537
- v = readDigits(3);
538
- }
539
- else {
540
- v = readDigits(9);
541
- }
542
- }
543
- else {
544
- v = readDigitsMax();
545
- }
546
-
547
- bag.secFraction = (int)(!negative ? v : -v);
548
- bag.secFractionSize = pos - initPos;
549
- break;
550
- }
551
- case FORMAT_MINUTES: { // %M, %OM - Minute of the hour (00..59)
552
- final long min = readDigits(2);
553
- if (!validRange(min, 0, 59)) {
554
- fail = true;
555
- }
556
- bag.min = (int)min;
557
- break;
558
- }
559
- case FORMAT_MONTH: { // %m, %Om - Month of the year, zero-padded (01..12)
560
- final long mon = readDigits(2);
561
- if (!validRange(mon, 1, 12)) {
562
- fail = true;
563
- }
564
- bag.mon = (int)mon;
565
- break;
566
- }
567
- case FORMAT_MERIDIAN: // %P - Meridian indicator, lowercase (``am'' or ``pm'')
568
- case FORMAT_MERIDIAN_LOWER_CASE: { // %p - Meridian indicator, uppercase (``AM'' or ``PM'')
569
- final int meridIndex = findIndexInPatterns(MERID_NAMES);
570
- if (meridIndex >= 0) {
571
- bag.merid = meridIndex % 2 == 0 ? 0 : 12;
572
- pos += MERID_NAMES[meridIndex].length();
573
- }
574
- else {
575
- fail = true;
576
- }
577
- break;
578
- }
579
- case FORMAT_MICROSEC_EPOCH: { // %Q - Number of microseconds since 1970-01-01 00:00:00 UTC.
580
- boolean negative = false;
581
- if (isMinus(text, pos)) {
582
- negative = true;
583
- pos++;
584
- }
585
-
586
- final long sec = readDigitsMax();
587
- bag.seconds = !negative ? sec : -sec;
588
- bag.secondsSize = 3;
589
- break;
590
- }
591
- case FORMAT_SECONDS: { // %S - Second of the minute (00..59)
592
- final long sec = readDigits(2);
593
- if (!validRange(sec, 0, 60)) {
594
- fail = true;
595
- }
596
- bag.sec = (int)sec;
597
- break;
598
- }
599
- case FORMAT_EPOCH: { // %s - Number of seconds since 1970-01-01 00:00:00 UTC.
600
- boolean negative = false;
601
- if (isMinus(text, pos)) {
602
- negative = true;
603
- pos++;
604
- }
605
-
606
- final long sec = readDigitsMax();
607
- bag.seconds = (int)(!negative ? sec : -sec);
608
- break;
609
- }
610
- case FORMAT_WEEK_YEAR_S: // %U, %OU - Week number of the year. The week starts with Sunday. (00..53)
611
- case FORMAT_WEEK_YEAR_M: { // %W, %OW - Week number of the year. The week starts with Monday. (00..53)
612
- final long week = readDigits(2);
613
- if (!validRange(week, 0, 53)) {
614
- fail = true;
615
- }
616
-
617
- if (token.getFormat() == StrptimeFormat.FORMAT_WEEK_YEAR_S) {
618
- bag.wNum0 = (int)week;
619
- } else {
620
- bag.wNum1 = (int)week;
621
- }
622
- break;
623
- }
624
- case FORMAT_DAY_WEEK2: { // %u, %Ou - Day of the week (Monday is 1, 1..7)
625
- final long day = readDigits(1);
626
- if (!validRange(day, 1, 7)) {
627
- fail = true;
628
- }
629
- bag.cWDay = (int)day;
630
- break;
631
- }
632
- case FORMAT_WEEK_WEEKYEAR: { // %V, %OV - Week number of the week-based year (01..53)
633
- final long week = readDigits(2);
634
- if (!validRange(week, 1, 53)) {
635
- fail = true;
636
- }
637
- bag.cWeek = (int)week;
638
- break;
639
- }
640
- case FORMAT_DAY_WEEK: { // %w - Day of the week (Sunday is 0, 0..6)
641
- final long day = readDigits(1);
642
- if (!validRange(day, 0, 6)) {
643
- fail = true;
644
- }
645
- bag.wDay = (int)day;
646
- break;
647
- }
648
- case FORMAT_YEAR_LONG: {
649
- // %Y, %EY - Year with century (can be negative, 4 digits at least)
650
- // -0001, 0000, 1995, 2009, 14292, etc.
651
- boolean negative = false;
652
- if (isSign(text, pos)) {
653
- negative = text.charAt(pos) == '-';
654
- pos++;
655
- }
656
-
657
- final long year;
658
- if (isNumberPattern(compiledPattern, tokenIndex)) {
659
- year = readDigits(4);
660
- } else {
661
- year = readDigitsMax();
662
- }
663
-
664
- bag.year = (int)(!negative ? year : -year);
665
- break;
666
- }
667
- case FORMAT_YEAR_SHORT: { // %y, %Ey, %Oy - year % 100 (00..99)
668
- final long y = readDigits(2);
669
- if (!validRange(y, 0, 99)) {
670
- fail = true;
671
- }
672
- bag.year = (int)y;
673
- if (!bag.has(bag.cent)) {
674
- bag.cent = y >= 69 ? 19 : 20;
675
- }
676
- break;
677
- }
678
- case FORMAT_ZONE_ID: // %Z - Time zone abbreviation name
679
- case FORMAT_COLON_ZONE_OFF: {
680
- // %z - Time zone as hour and minute offset from UTC (e.g. +0900)
681
- // %:z - hour and minute offset from UTC with a colon (e.g. +09:00)
682
- // %::z - hour, minute and second offset from UTC (e.g. +09:00:00)
683
- // %:::z - hour, minute and second offset from UTC
684
- // (e.g. +09, +09:30, +09:30:30)
685
- if (isEndOfText(text, pos)) {
686
- fail = true;
687
- break;
688
- }
689
-
690
- final Matcher m = ZONE_PARSE_REGEX.matcher(text.substring(pos));
691
- if (m.find()) {
692
- // zone
693
- String zone = text.substring(pos, pos + m.end());
694
- bag.zone = zone;
695
- pos += zone.length();
696
- } else {
697
- fail = true;
698
- }
699
- break;
700
- }
701
- case FORMAT_SPECIAL:
702
- {
703
- throw new Error("FORMAT_SPECIAL is a special token only for the lexer.");
704
- }
705
- }
706
- }
707
-
708
- if (fail) {
709
- return null;
710
- }
711
-
712
- if (text.length() > pos) {
713
- bag.leftover = text.substring(pos, text.length());
714
- }
715
-
716
- return bag;
717
- }
718
-
719
- /**
720
- * Ported read_digits in MRI 2.3.1's ext/date/date_strptime.c
721
- * @see <a href="https://github.com/ruby/ruby/blob/394fa89c67722d35bdda89f10c7de5c304a5efb1/ext/date/date_strftime.c">date_strftime.c</a>
722
- */
723
- private long readDigits(final int len)
724
- {
725
- char c;
726
- long v = 0;
727
- final int initPos = pos;
728
-
729
- for (int i = 0; i < len; i++) {
730
- if (isEndOfText(text, pos)) {
731
- break;
732
- }
733
-
734
- c = text.charAt(pos);
735
- if (!isDigit(c)) {
736
- break;
737
- }
738
- else {
739
- v = v * 10 + toInt(c);
740
- }
741
- pos += 1;
742
- }
743
-
744
- if (pos == initPos) {
745
- fail = true;
746
- }
747
-
748
- return v;
749
- }
750
-
751
- /**
752
- * Ported from READ_DIGITS_MAX in MRI 2.3.1's ext/date/date_strptime.c under BSDL.
753
- * @see <a href="https://github.com/ruby/ruby/blob/394fa89c67722d35bdda89f10c7de5c304a5efb1/ext/date/date_strftime.c">date_strftime.c</a>
754
- */
755
- private long readDigitsMax()
756
- {
757
- return readDigits(Integer.MAX_VALUE);
758
- }
759
-
760
- /**
761
- * Returns -1 if text doesn't match with patterns.
762
- */
763
- private int findIndexInPatterns(final String[] patterns)
764
- {
765
- if (isEndOfText(text, pos)) {
766
- return -1;
767
- }
768
-
769
- for (int i = 0; i < patterns.length; i++) {
770
- final String pattern = patterns[i];
771
- final int len = pattern.length();
772
- if (!isEndOfText(text, pos + len - 1)
773
- && pattern.equalsIgnoreCase(text.substring(pos, pos + len))) { // strncasecmp
774
- return i;
775
- }
776
- }
777
-
778
- return -1; // text doesn't match at any patterns.
779
- }
780
-
781
- /**
782
- * Ported from num_pattern_p in MRI 2.3.1's ext/date/date_strptime.c under BSDL.
783
- * @see <a href="https://github.com/ruby/ruby/blob/394fa89c67722d35bdda89f10c7de5c304a5efb1/ext/date/date_strftime.c">date_strftime.c</a>
784
- */
785
- private static boolean isNumberPattern(final List<StrptimeToken> compiledPattern, final int i)
786
- {
787
- if (compiledPattern.size() <= i + 1) {
788
- return false;
789
- }
790
- else {
791
- final StrptimeToken nextToken = compiledPattern.get(i + 1);
792
- final StrptimeFormat f = nextToken.getFormat();
793
- if (f == StrptimeFormat.FORMAT_STRING && isDigit(((String) nextToken.getData()).charAt(0))) {
794
- return true;
795
- }
796
- else if (NUMBER_PATTERNS.contains(f)) {
797
- return true;
798
- }
799
- else {
800
- return false;
801
- }
802
- }
803
- }
804
-
805
- // CDdeFGgHIjkLlMmNQRrSsTUuVvWwXxYy
806
- private static final EnumSet<StrptimeFormat> NUMBER_PATTERNS =
807
- EnumSet.copyOf(Arrays.asList(
808
- StrptimeFormat.FORMAT_CENTURY, // 'C'
809
- // D
810
- StrptimeFormat.FORMAT_DAY, // 'd'
811
- StrptimeFormat.FORMAT_DAY_S, // 'e'
812
- // F
813
- StrptimeFormat.FORMAT_WEEKYEAR, // 'G'
814
- StrptimeFormat.FORMAT_WEEKYEAR_SHORT, // 'g'
815
- StrptimeFormat.FORMAT_HOUR, // 'H'
816
- StrptimeFormat.FORMAT_HOUR_M, // 'I'
817
- StrptimeFormat.FORMAT_DAY_YEAR, // 'j'
818
- StrptimeFormat.FORMAT_HOUR_BLANK, // 'k'
819
- StrptimeFormat.FORMAT_MILLISEC, // 'L'
820
- StrptimeFormat.FORMAT_HOUR_S, // 'l'
821
- StrptimeFormat.FORMAT_MINUTES, // 'M'
822
- StrptimeFormat.FORMAT_MONTH, // 'm'
823
- StrptimeFormat.FORMAT_NANOSEC, // 'N'
824
- // Q, R, r
825
- StrptimeFormat.FORMAT_SECONDS, // 'S'
826
- StrptimeFormat.FORMAT_EPOCH, // 's'
827
- // T
828
- StrptimeFormat.FORMAT_WEEK_YEAR_S, // 'U'
829
- StrptimeFormat.FORMAT_DAY_WEEK2, // 'u'
830
- StrptimeFormat.FORMAT_WEEK_WEEKYEAR, // 'V'
831
- // v
832
- StrptimeFormat.FORMAT_WEEK_YEAR_M, // 'W'
833
- StrptimeFormat.FORMAT_DAY_WEEK, // 'w'
834
- // X, x
835
- StrptimeFormat.FORMAT_YEAR_LONG, // 'Y'
836
- StrptimeFormat.FORMAT_YEAR_SHORT // 'y'
837
- ));
838
-
839
- /**
840
- * Ported from valid_pattern_p in MRI 2.3.1's ext/date/date_strptime.c under BSDL.
841
- * @see <a href="https://github.com/ruby/ruby/blob/394fa89c67722d35bdda89f10c7de5c304a5efb1/ext/date/date_strftime.c">date_strftime.c</a>
842
- */
843
- private static boolean validRange(long v, int lower, int upper)
844
- {
845
- return lower <= v && v <= upper;
846
- }
847
-
848
- private static boolean isSpace(char c)
849
- {
850
- return c == ' ' || c == '\t' || c == '\n' ||
851
- c == '\u000b' || c == '\f' || c == '\r';
852
- }
853
-
854
- private static boolean isDigit(char c)
855
- {
856
- return '0' <= c && c <= '9';
857
- }
858
-
859
- private static boolean isEndOfText(String text, int pos)
860
- {
861
- return pos >= text.length();
862
- }
863
-
864
- private static boolean isSign(String text, int pos)
865
- {
866
- return !isEndOfText(text, pos) && (text.charAt(pos) == '+' || text.charAt(pos) == '-');
867
- }
868
-
869
- private static boolean isMinus(String text, int pos)
870
- {
871
- return !isEndOfText(text, pos) && text.charAt(pos) == '-';
872
- }
873
-
874
- private static boolean isBlank(String text, int pos)
875
- {
876
- return !isEndOfText(text, pos) && text.charAt(pos) == ' ';
877
- }
878
-
879
- private static int toInt(char c)
880
- {
881
- return c - '0';
882
- }
883
- }
884
- }