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,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
- }