embulk 0.8.35-java → 0.10.24-java
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +5 -5
- data/Gemfile +1 -1
- data/LICENSE +202 -0
- data/embulk.gemspec +34 -33
- data/lib/embulk.rb +5 -61
- data/lib/embulk/buffer.rb +1 -2
- data/lib/embulk/guess/charset.rb +2 -11
- data/lib/embulk/guess/schema_guess.rb +1 -1
- data/lib/embulk/input_plugin.rb +8 -1
- data/lib/embulk/java/bootstrap.rb +1 -2
- data/lib/embulk/java_plugin.rb +9 -1
- data/lib/embulk/page_builder.rb +38 -5
- data/lib/embulk/plugin.rb +2 -2
- data/lib/embulk/schema.rb +5 -7
- data/lib/embulk/version.rb +3 -22
- metadata +23 -752
- data/.gitignore +0 -15
- data/.ruby-version +0 -1
- data/.travis.yml +0 -28
- data/COPYING +0 -14
- data/Gemfile.lock +0 -30
- data/README.md +0 -225
- data/Rakefile +0 -26
- data/appveyor.yml +0 -28
- data/bin/embulk +0 -139
- data/build.gradle +0 -415
- data/embulk-cli/build.gradle +0 -9
- data/embulk-cli/src/main/bat/selfrun.bat +0 -107
- data/embulk-cli/src/main/java/org/embulk/cli/EmbulkArguments.java +0 -54
- data/embulk-cli/src/main/java/org/embulk/cli/EmbulkCommandLine.java +0 -227
- data/embulk-cli/src/main/java/org/embulk/cli/EmbulkCommandLineException.java +0 -25
- data/embulk-cli/src/main/java/org/embulk/cli/EmbulkExample.java +0 -82
- data/embulk-cli/src/main/java/org/embulk/cli/EmbulkMigrate.java +0 -480
- data/embulk-cli/src/main/java/org/embulk/cli/EmbulkNew.java +0 -419
- data/embulk-cli/src/main/java/org/embulk/cli/EmbulkRun.java +0 -774
- data/embulk-cli/src/main/java/org/embulk/cli/EmbulkSelfUpdate.java +0 -235
- data/embulk-cli/src/main/java/org/embulk/cli/EmbulkSubcommand.java +0 -47
- data/embulk-cli/src/main/java/org/embulk/cli/Main.java +0 -31
- data/embulk-cli/src/main/java/org/embulk/cli/parse/AbstractHelpLineDefinition.java +0 -15
- data/embulk-cli/src/main/java/org/embulk/cli/parse/CliHelpFormatterWithHelpMessages.java +0 -141
- data/embulk-cli/src/main/java/org/embulk/cli/parse/CliOptionsWithHelpMessages.java +0 -45
- data/embulk-cli/src/main/java/org/embulk/cli/parse/EmbulkCommandLineHelpRequired.java +0 -10
- data/embulk-cli/src/main/java/org/embulk/cli/parse/EmbulkCommandLineParseException.java +0 -25
- data/embulk-cli/src/main/java/org/embulk/cli/parse/EmbulkCommandLineParser.java +0 -187
- data/embulk-cli/src/main/java/org/embulk/cli/parse/HelpMessageAsCliOption.java +0 -36
- data/embulk-cli/src/main/java/org/embulk/cli/parse/HelpMessageLineDefinition.java +0 -20
- data/embulk-cli/src/main/java/org/embulk/cli/parse/OptionBehavior.java +0 -39
- data/embulk-cli/src/main/java/org/embulk/cli/parse/OptionDefinition.java +0 -120
- data/embulk-cli/src/main/sh/selfrun.sh +0 -60
- data/embulk-cli/src/test/java/org/embulk/cli/DummyMain.java +0 -23
- data/embulk-cli/src/test/java/org/embulk/cli/SelfrunTest.java +0 -296
- data/embulk-core/build.gradle +0 -83
- data/embulk-core/src/main/java/org/embulk/EmbulkEmbed.java +0 -321
- data/embulk-core/src/main/java/org/embulk/EmbulkRunner.java +0 -582
- data/embulk-core/src/main/java/org/embulk/EmbulkService.java +0 -78
- data/embulk-core/src/main/java/org/embulk/EmbulkSetup.java +0 -49
- data/embulk-core/src/main/java/org/embulk/EmbulkVersion.java +0 -109
- data/embulk-core/src/main/java/org/embulk/command/PreviewPrinter.java +0 -87
- data/embulk-core/src/main/java/org/embulk/command/TablePreviewPrinter.java +0 -107
- data/embulk-core/src/main/java/org/embulk/command/VerticalPreviewPrinter.java +0 -47
- data/embulk-core/src/main/java/org/embulk/config/CommitReport.java +0 -36
- data/embulk-core/src/main/java/org/embulk/config/Config.java +0 -15
- data/embulk-core/src/main/java/org/embulk/config/ConfigDefault.java +0 -15
- data/embulk-core/src/main/java/org/embulk/config/ConfigDiff.java +0 -32
- data/embulk-core/src/main/java/org/embulk/config/ConfigException.java +0 -26
- data/embulk-core/src/main/java/org/embulk/config/ConfigInject.java +0 -14
- data/embulk-core/src/main/java/org/embulk/config/ConfigLoader.java +0 -149
- data/embulk-core/src/main/java/org/embulk/config/ConfigSource.java +0 -34
- data/embulk-core/src/main/java/org/embulk/config/DataSource.java +0 -41
- data/embulk-core/src/main/java/org/embulk/config/DataSourceImpl.java +0 -243
- data/embulk-core/src/main/java/org/embulk/config/DataSourceSerDe.java +0 -84
- data/embulk-core/src/main/java/org/embulk/config/GenericTypeReference.java +0 -20
- data/embulk-core/src/main/java/org/embulk/config/ModelManager.java +0 -123
- data/embulk-core/src/main/java/org/embulk/config/Task.java +0 -10
- data/embulk-core/src/main/java/org/embulk/config/TaskInvocationHandler.java +0 -180
- data/embulk-core/src/main/java/org/embulk/config/TaskReport.java +0 -32
- data/embulk-core/src/main/java/org/embulk/config/TaskSerDe.java +0 -349
- data/embulk-core/src/main/java/org/embulk/config/TaskSource.java +0 -34
- data/embulk-core/src/main/java/org/embulk/config/TaskValidationException.java +0 -38
- data/embulk-core/src/main/java/org/embulk/config/TaskValidator.java +0 -24
- data/embulk-core/src/main/java/org/embulk/config/UserDataException.java +0 -4
- data/embulk-core/src/main/java/org/embulk/config/UserDataExceptions.java +0 -17
- data/embulk-core/src/main/java/org/embulk/config/YamlTagResolver.java +0 -53
- data/embulk-core/src/main/java/org/embulk/exec/BufferFileInputPlugin.java +0 -88
- data/embulk-core/src/main/java/org/embulk/exec/BulkLoader.java +0 -754
- data/embulk-core/src/main/java/org/embulk/exec/ConfigurableGuessInputPlugin.java +0 -9
- data/embulk-core/src/main/java/org/embulk/exec/ExecModule.java +0 -53
- data/embulk-core/src/main/java/org/embulk/exec/ExecutionInterruptedException.java +0 -10
- data/embulk-core/src/main/java/org/embulk/exec/ExecutionResult.java +0 -33
- data/embulk-core/src/main/java/org/embulk/exec/ExtensionServiceLoaderModule.java +0 -43
- data/embulk-core/src/main/java/org/embulk/exec/ForGuess.java +0 -16
- data/embulk-core/src/main/java/org/embulk/exec/ForSystemConfig.java +0 -16
- data/embulk-core/src/main/java/org/embulk/exec/GuessExecutor.java +0 -309
- data/embulk-core/src/main/java/org/embulk/exec/LocalExecutorPlugin.java +0 -563
- data/embulk-core/src/main/java/org/embulk/exec/LoggerProvider.java +0 -68
- data/embulk-core/src/main/java/org/embulk/exec/NoSampleException.java +0 -10
- data/embulk-core/src/main/java/org/embulk/exec/PartialExecutionException.java +0 -26
- data/embulk-core/src/main/java/org/embulk/exec/PooledBufferAllocator.java +0 -77
- data/embulk-core/src/main/java/org/embulk/exec/PreviewExecutor.java +0 -222
- data/embulk-core/src/main/java/org/embulk/exec/PreviewResult.java +0 -27
- data/embulk-core/src/main/java/org/embulk/exec/PreviewedNoticeError.java +0 -17
- data/embulk-core/src/main/java/org/embulk/exec/ResumeState.java +0 -100
- data/embulk-core/src/main/java/org/embulk/exec/SamplingParserPlugin.java +0 -215
- data/embulk-core/src/main/java/org/embulk/exec/SetCurrentThreadName.java +0 -22
- data/embulk-core/src/main/java/org/embulk/exec/SkipTransactionException.java +0 -23
- data/embulk-core/src/main/java/org/embulk/exec/SystemConfigModule.java +0 -24
- data/embulk-core/src/main/java/org/embulk/exec/TempFileAllocator.java +0 -35
- data/embulk-core/src/main/java/org/embulk/exec/TransactionStage.java +0 -27
- data/embulk-core/src/main/java/org/embulk/jruby/JRubyPluginSource.java +0 -76
- data/embulk-core/src/main/java/org/embulk/jruby/JRubyScriptingModule.java +0 -395
- data/embulk-core/src/main/java/org/embulk/plugin/BuiltinPluginSourceModule.java +0 -17
- data/embulk-core/src/main/java/org/embulk/plugin/DefaultPluginType.java +0 -50
- data/embulk-core/src/main/java/org/embulk/plugin/InjectedPluginSource.java +0 -100
- data/embulk-core/src/main/java/org/embulk/plugin/MavenPluginType.java +0 -112
- data/embulk-core/src/main/java/org/embulk/plugin/PluginClassLoader.java +0 -208
- data/embulk-core/src/main/java/org/embulk/plugin/PluginClassLoaderFactory.java +0 -9
- data/embulk-core/src/main/java/org/embulk/plugin/PluginClassLoaderModule.java +0 -71
- data/embulk-core/src/main/java/org/embulk/plugin/PluginManager.java +0 -78
- data/embulk-core/src/main/java/org/embulk/plugin/PluginSource.java +0 -49
- data/embulk-core/src/main/java/org/embulk/plugin/PluginSourceNotMatchException.java +0 -25
- data/embulk-core/src/main/java/org/embulk/plugin/PluginType.java +0 -122
- data/embulk-core/src/main/java/org/embulk/plugin/compat/InputPluginWrapper.java +0 -102
- data/embulk-core/src/main/java/org/embulk/plugin/compat/PluginWrappers.java +0 -30
- data/embulk-core/src/main/java/org/embulk/plugin/compat/TransactionalFileInputWrapper.java +0 -96
- data/embulk-core/src/main/java/org/embulk/plugin/compat/TransactionalFileOutputWrapper.java +0 -102
- data/embulk-core/src/main/java/org/embulk/plugin/compat/TransactionalPageOutputWrapper.java +0 -95
- data/embulk-core/src/main/java/org/embulk/plugin/jar/InvalidJarPluginException.java +0 -14
- data/embulk-core/src/main/java/org/embulk/plugin/jar/JarPluginLoader.java +0 -205
- data/embulk-core/src/main/java/org/embulk/plugin/maven/MavenArtifactFinder.java +0 -134
- data/embulk-core/src/main/java/org/embulk/plugin/maven/MavenArtifactNotFoundException.java +0 -20
- data/embulk-core/src/main/java/org/embulk/plugin/maven/MavenPluginSource.java +0 -187
- data/embulk-core/src/main/java/org/embulk/plugin/maven/MavenPluginSourceModule.java +0 -22
- data/embulk-core/src/main/java/org/embulk/plugin/maven/MavenRepositoryNotFoundException.java +0 -31
- data/embulk-core/src/main/java/org/embulk/spi/AbortTransactionResource.java +0 -36
- data/embulk-core/src/main/java/org/embulk/spi/Buffer.java +0 -148
- data/embulk-core/src/main/java/org/embulk/spi/BufferAllocator.java +0 -8
- data/embulk-core/src/main/java/org/embulk/spi/CloseResource.java +0 -42
- data/embulk-core/src/main/java/org/embulk/spi/Column.java +0 -95
- data/embulk-core/src/main/java/org/embulk/spi/ColumnConfig.java +0 -112
- data/embulk-core/src/main/java/org/embulk/spi/ColumnVisitor.java +0 -16
- data/embulk-core/src/main/java/org/embulk/spi/DataException.java +0 -23
- data/embulk-core/src/main/java/org/embulk/spi/DecoderPlugin.java +0 -16
- data/embulk-core/src/main/java/org/embulk/spi/EncoderPlugin.java +0 -16
- data/embulk-core/src/main/java/org/embulk/spi/Exec.java +0 -113
- data/embulk-core/src/main/java/org/embulk/spi/ExecAction.java +0 -6
- data/embulk-core/src/main/java/org/embulk/spi/ExecSession.java +0 -225
- data/embulk-core/src/main/java/org/embulk/spi/ExecutorPlugin.java +0 -19
- data/embulk-core/src/main/java/org/embulk/spi/Extension.java +0 -44
- data/embulk-core/src/main/java/org/embulk/spi/FileInput.java +0 -11
- data/embulk-core/src/main/java/org/embulk/spi/FileInputPlugin.java +0 -30
- data/embulk-core/src/main/java/org/embulk/spi/FileInputRunner.java +0 -169
- data/embulk-core/src/main/java/org/embulk/spi/FileOutput.java +0 -13
- data/embulk-core/src/main/java/org/embulk/spi/FileOutputPlugin.java +0 -28
- data/embulk-core/src/main/java/org/embulk/spi/FileOutputRunner.java +0 -199
- data/embulk-core/src/main/java/org/embulk/spi/FilterPlugin.java +0 -18
- data/embulk-core/src/main/java/org/embulk/spi/FormatterPlugin.java +0 -18
- data/embulk-core/src/main/java/org/embulk/spi/GuessPlugin.java +0 -9
- data/embulk-core/src/main/java/org/embulk/spi/InputPlugin.java +0 -33
- data/embulk-core/src/main/java/org/embulk/spi/OutputPlugin.java +0 -29
- data/embulk-core/src/main/java/org/embulk/spi/Page.java +0 -86
- data/embulk-core/src/main/java/org/embulk/spi/PageBuilder.java +0 -696
- data/embulk-core/src/main/java/org/embulk/spi/PageFormat.java +0 -47
- data/embulk-core/src/main/java/org/embulk/spi/PageOutput.java +0 -11
- data/embulk-core/src/main/java/org/embulk/spi/PageReader.java +0 -248
- data/embulk-core/src/main/java/org/embulk/spi/ParserPlugin.java +0 -17
- data/embulk-core/src/main/java/org/embulk/spi/ProcessState.java +0 -10
- data/embulk-core/src/main/java/org/embulk/spi/ProcessTask.java +0 -117
- data/embulk-core/src/main/java/org/embulk/spi/Schema.java +0 -139
- data/embulk-core/src/main/java/org/embulk/spi/SchemaConfig.java +0 -93
- data/embulk-core/src/main/java/org/embulk/spi/SchemaConfigException.java +0 -22
- data/embulk-core/src/main/java/org/embulk/spi/TaskState.java +0 -81
- data/embulk-core/src/main/java/org/embulk/spi/TempFileException.java +0 -19
- data/embulk-core/src/main/java/org/embulk/spi/TempFileSpace.java +0 -88
- data/embulk-core/src/main/java/org/embulk/spi/Transactional.java +0 -10
- data/embulk-core/src/main/java/org/embulk/spi/TransactionalFileInput.java +0 -17
- data/embulk-core/src/main/java/org/embulk/spi/TransactionalFileOutput.java +0 -19
- data/embulk-core/src/main/java/org/embulk/spi/TransactionalPageOutput.java +0 -17
- data/embulk-core/src/main/java/org/embulk/spi/json/JsonParseException.java +0 -17
- data/embulk-core/src/main/java/org/embulk/spi/json/JsonParser.java +0 -233
- data/embulk-core/src/main/java/org/embulk/spi/json/RubyValueApi.java +0 -62
- data/embulk-core/src/main/java/org/embulk/spi/time/DateTimeZoneSerDe.java +0 -55
- data/embulk-core/src/main/java/org/embulk/spi/time/JRubyTimeParserHelper.java +0 -8
- data/embulk-core/src/main/java/org/embulk/spi/time/JRubyTimeParserHelperFactory.java +0 -6
- data/embulk-core/src/main/java/org/embulk/spi/time/Timestamp.java +0 -159
- data/embulk-core/src/main/java/org/embulk/spi/time/TimestampFormat.java +0 -100
- data/embulk-core/src/main/java/org/embulk/spi/time/TimestampFormatter.java +0 -125
- data/embulk-core/src/main/java/org/embulk/spi/time/TimestampParseException.java +0 -12
- data/embulk-core/src/main/java/org/embulk/spi/time/TimestampParser.java +0 -283
- data/embulk-core/src/main/java/org/embulk/spi/time/TimestampSerDe.java +0 -49
- data/embulk-core/src/main/java/org/embulk/spi/type/AbstractType.java +0 -58
- data/embulk-core/src/main/java/org/embulk/spi/type/BooleanType.java +0 -12
- data/embulk-core/src/main/java/org/embulk/spi/type/DoubleType.java +0 -12
- data/embulk-core/src/main/java/org/embulk/spi/type/JsonType.java +0 -14
- data/embulk-core/src/main/java/org/embulk/spi/type/LongType.java +0 -12
- data/embulk-core/src/main/java/org/embulk/spi/type/StringType.java +0 -12
- data/embulk-core/src/main/java/org/embulk/spi/type/TimestampType.java +0 -41
- data/embulk-core/src/main/java/org/embulk/spi/type/Type.java +0 -15
- data/embulk-core/src/main/java/org/embulk/spi/type/TypeDeserializer.java +0 -45
- data/embulk-core/src/main/java/org/embulk/spi/type/Types.java +0 -16
- data/embulk-core/src/main/java/org/embulk/spi/unit/ByteSize.java +0 -156
- data/embulk-core/src/main/java/org/embulk/spi/unit/LocalFile.java +0 -106
- data/embulk-core/src/main/java/org/embulk/spi/unit/LocalFileSerDe.java +0 -113
- data/embulk-core/src/main/java/org/embulk/spi/unit/ToString.java +0 -54
- data/embulk-core/src/main/java/org/embulk/spi/unit/ToStringMap.java +0 -34
- data/embulk-core/src/main/java/org/embulk/spi/util/CharsetSerDe.java +0 -55
- data/embulk-core/src/main/java/org/embulk/spi/util/Decoders.java +0 -81
- data/embulk-core/src/main/java/org/embulk/spi/util/DynamicColumnNotFoundException.java +0 -10
- data/embulk-core/src/main/java/org/embulk/spi/util/DynamicColumnSetter.java +0 -21
- data/embulk-core/src/main/java/org/embulk/spi/util/DynamicColumnSetterFactory.java +0 -100
- data/embulk-core/src/main/java/org/embulk/spi/util/DynamicPageBuilder.java +0 -162
- data/embulk-core/src/main/java/org/embulk/spi/util/Encoders.java +0 -81
- data/embulk-core/src/main/java/org/embulk/spi/util/Executors.java +0 -93
- data/embulk-core/src/main/java/org/embulk/spi/util/FileInputInputStream.java +0 -111
- data/embulk-core/src/main/java/org/embulk/spi/util/FileOutputOutputStream.java +0 -119
- data/embulk-core/src/main/java/org/embulk/spi/util/Filters.java +0 -100
- data/embulk-core/src/main/java/org/embulk/spi/util/InputStreamFileInput.java +0 -189
- data/embulk-core/src/main/java/org/embulk/spi/util/InputStreamTransactionalFileInput.java +0 -25
- data/embulk-core/src/main/java/org/embulk/spi/util/Inputs.java +0 -65
- data/embulk-core/src/main/java/org/embulk/spi/util/LineDecoder.java +0 -157
- data/embulk-core/src/main/java/org/embulk/spi/util/LineEncoder.java +0 -123
- data/embulk-core/src/main/java/org/embulk/spi/util/ListFileInput.java +0 -52
- data/embulk-core/src/main/java/org/embulk/spi/util/Newline.java +0 -38
- data/embulk-core/src/main/java/org/embulk/spi/util/OutputStreamFileOutput.java +0 -88
- data/embulk-core/src/main/java/org/embulk/spi/util/PagePrinter.java +0 -108
- data/embulk-core/src/main/java/org/embulk/spi/util/Pages.java +0 -149
- data/embulk-core/src/main/java/org/embulk/spi/util/ResumableInputStream.java +0 -168
- data/embulk-core/src/main/java/org/embulk/spi/util/RetryExecutor.java +0 -130
- data/embulk-core/src/main/java/org/embulk/spi/util/Timestamps.java +0 -53
- data/embulk-core/src/main/java/org/embulk/spi/util/dynamic/AbstractDynamicColumnSetter.java +0 -83
- data/embulk-core/src/main/java/org/embulk/spi/util/dynamic/BooleanColumnSetter.java +0 -71
- data/embulk-core/src/main/java/org/embulk/spi/util/dynamic/DefaultValueSetter.java +0 -20
- data/embulk-core/src/main/java/org/embulk/spi/util/dynamic/DoubleColumnSetter.java +0 -68
- data/embulk-core/src/main/java/org/embulk/spi/util/dynamic/JsonColumnSetter.java +0 -64
- data/embulk-core/src/main/java/org/embulk/spi/util/dynamic/LongColumnSetter.java +0 -78
- data/embulk-core/src/main/java/org/embulk/spi/util/dynamic/NullDefaultValueSetter.java +0 -39
- data/embulk-core/src/main/java/org/embulk/spi/util/dynamic/SkipColumnSetter.java +0 -57
- data/embulk-core/src/main/java/org/embulk/spi/util/dynamic/StringColumnSetter.java +0 -63
- data/embulk-core/src/main/java/org/embulk/spi/util/dynamic/TimestampColumnSetter.java +0 -72
- data/embulk-core/src/main/resources/embulk/logback-color.xml +0 -72
- data/embulk-core/src/main/resources/embulk/logback-console.xml +0 -14
- data/embulk-core/src/main/resources/embulk/logback-file.xml +0 -23
- data/embulk-core/src/main/resources/embulk/parent_first_packages.properties +0 -72
- data/embulk-core/src/main/resources/embulk/parent_first_resources.properties +0 -29
- data/embulk-core/src/test/java/org/embulk/EmbulkTestRuntime.java +0 -122
- data/embulk-core/src/test/java/org/embulk/GuiceBinder.java +0 -72
- data/embulk-core/src/test/java/org/embulk/RandomManager.java +0 -53
- data/embulk-core/src/test/java/org/embulk/TestPluginSourceModule.java +0 -23
- data/embulk-core/src/test/java/org/embulk/TestUtilityModule.java +0 -17
- data/embulk-core/src/test/java/org/embulk/config/TestConfigLoader.java +0 -66
- data/embulk-core/src/test/java/org/embulk/config/TestConfigSource.java +0 -114
- data/embulk-core/src/test/java/org/embulk/config/TestTaskSource.java +0 -70
- data/embulk-core/src/test/java/org/embulk/plugin/MockPluginSource.java +0 -58
- data/embulk-core/src/test/java/org/embulk/plugin/TestPluginType.java +0 -83
- data/embulk-core/src/test/java/org/embulk/plugin/TestPluginTypeSerDe.java +0 -67
- data/embulk-core/src/test/java/org/embulk/plugin/jar/ExampleJarSpiV0.java +0 -9
- data/embulk-core/src/test/java/org/embulk/plugin/jar/JarBuilder.java +0 -101
- data/embulk-core/src/test/java/org/embulk/plugin/jar/TestJarPluginLoader.java +0 -60
- data/embulk-core/src/test/java/org/embulk/plugin/maven/TestMavenArtifactFinder.java +0 -41
- data/embulk-core/src/test/java/org/embulk/spi/MockFileOutput.java +0 -63
- data/embulk-core/src/test/java/org/embulk/spi/MockFormatterPlugin.java +0 -108
- data/embulk-core/src/test/java/org/embulk/spi/MockParserPlugin.java +0 -80
- data/embulk-core/src/test/java/org/embulk/spi/PageTestUtils.java +0 -59
- data/embulk-core/src/test/java/org/embulk/spi/TestBuffer.java +0 -24
- data/embulk-core/src/test/java/org/embulk/spi/TestFileInputInputStream.java +0 -89
- data/embulk-core/src/test/java/org/embulk/spi/TestFileInputRunner.java +0 -199
- data/embulk-core/src/test/java/org/embulk/spi/TestFileOutputRunner.java +0 -221
- data/embulk-core/src/test/java/org/embulk/spi/TestInputStreamFileInput.java +0 -188
- data/embulk-core/src/test/java/org/embulk/spi/TestPageBuilderReader.java +0 -411
- data/embulk-core/src/test/java/org/embulk/spi/json/TestJsonParser.java +0 -102
- data/embulk-core/src/test/java/org/embulk/spi/time/TestTimestamp.java +0 -116
- data/embulk-core/src/test/java/org/embulk/spi/time/TestTimestampFormatterParser.java +0 -75
- data/embulk-core/src/test/java/org/embulk/spi/time/TestTimestampFormatterParserDeprecated.java +0 -67
- data/embulk-core/src/test/java/org/embulk/spi/type/TestTypeSerDe.java +0 -45
- data/embulk-core/src/test/java/org/embulk/spi/unit/TestByteSize.java +0 -79
- data/embulk-core/src/test/java/org/embulk/spi/util/TestLineDecoder.java +0 -237
- data/embulk-core/src/test/java/org/embulk/spi/util/TestLineEncoder.java +0 -123
- data/embulk-core/src/test/resources/m2.test/.gitignore +0 -1
- 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
- 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
- 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
- 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
- data/embulk-docs/Makefile +0 -178
- data/embulk-docs/build.gradle +0 -33
- data/embulk-docs/make.bat +0 -243
- data/embulk-docs/push-gh-pages.sh +0 -49
- data/embulk-docs/src/_static/embulk-architecture.png +0 -0
- data/embulk-docs/src/_static/embulk-logo-v2/embulk-logo-v2-oneline-tr.png +0 -0
- data/embulk-docs/src/_static/embulk-logo-v2/embulk-logo-v2-oneline-wt.png +0 -0
- data/embulk-docs/src/_static/embulk-logo-v2/embulk-logo-v2-oneline.ai +0 -396
- data/embulk-docs/src/_static/embulk-logo-v2/embulk-logo-v2-sq-tr-small.png +0 -0
- data/embulk-docs/src/_static/embulk-logo-v2/embulk-logo-v2-sq-tr.png +0 -0
- data/embulk-docs/src/_static/embulk-logo-v2/embulk-logo-v2-sq-wt.png +0 -0
- data/embulk-docs/src/_static/embulk-logo-v2/embulk-logo-v2-sq.ai +0 -417
- data/embulk-docs/src/_static/embulk-logo-v2/embulk-logo-v2-sq.svg +0 -1
- data/embulk-docs/src/_static/embulk-logo-v2/embulk-logo-v2-symbol-tr.png +0 -0
- data/embulk-docs/src/_static/embulk-logo-v2/embulk-logo-v2-symbol-wt.png +0 -0
- data/embulk-docs/src/_static/embulk-logo-v2/embulk-logo-v2-symbol.ai +1 -394
- data/embulk-docs/src/_static/embulk-logo.svg +0 -133
- data/embulk-docs/src/built-in.rst +0 -1005
- data/embulk-docs/src/conf.py +0 -260
- data/embulk-docs/src/customization.rst +0 -184
- data/embulk-docs/src/developers/index.rst +0 -45
- data/embulk-docs/src/index.rst +0 -94
- data/embulk-docs/src/logo.rst +0 -27
- data/embulk-docs/src/recipe.rst +0 -8
- data/embulk-docs/src/recipe/scheduled-csv-load-to-elasticsearch-kibana5.rst +0 -163
- data/embulk-docs/src/release.rst +0 -105
- data/embulk-docs/src/release/release-0.1.0.rst +0 -8
- data/embulk-docs/src/release/release-0.2.0.rst +0 -16
- data/embulk-docs/src/release/release-0.2.1.rst +0 -19
- data/embulk-docs/src/release/release-0.3.0.rst +0 -34
- data/embulk-docs/src/release/release-0.3.1.rst +0 -11
- data/embulk-docs/src/release/release-0.3.2.rst +0 -15
- data/embulk-docs/src/release/release-0.4.0.rst +0 -74
- data/embulk-docs/src/release/release-0.4.1.rst +0 -18
- data/embulk-docs/src/release/release-0.4.10.rst +0 -17
- data/embulk-docs/src/release/release-0.4.2.rst +0 -18
- data/embulk-docs/src/release/release-0.4.3.rst +0 -34
- data/embulk-docs/src/release/release-0.4.4.rst +0 -39
- data/embulk-docs/src/release/release-0.4.5.rst +0 -24
- data/embulk-docs/src/release/release-0.4.6.rst +0 -30
- data/embulk-docs/src/release/release-0.4.7.rst +0 -16
- data/embulk-docs/src/release/release-0.4.8.rst +0 -15
- data/embulk-docs/src/release/release-0.4.9.rst +0 -23
- data/embulk-docs/src/release/release-0.5.0.rst +0 -89
- data/embulk-docs/src/release/release-0.5.1.rst +0 -13
- data/embulk-docs/src/release/release-0.5.2.rst +0 -30
- data/embulk-docs/src/release/release-0.5.3.rst +0 -22
- data/embulk-docs/src/release/release-0.5.4.rst +0 -24
- data/embulk-docs/src/release/release-0.5.5.rst +0 -18
- data/embulk-docs/src/release/release-0.6.0.rst +0 -34
- data/embulk-docs/src/release/release-0.6.1.rst +0 -11
- data/embulk-docs/src/release/release-0.6.10.rst +0 -15
- data/embulk-docs/src/release/release-0.6.11.rst +0 -19
- data/embulk-docs/src/release/release-0.6.12.rst +0 -31
- data/embulk-docs/src/release/release-0.6.13.rst +0 -23
- data/embulk-docs/src/release/release-0.6.14.rst +0 -47
- data/embulk-docs/src/release/release-0.6.15.rst +0 -26
- data/embulk-docs/src/release/release-0.6.16.rst +0 -26
- data/embulk-docs/src/release/release-0.6.17.rst +0 -39
- data/embulk-docs/src/release/release-0.6.18.rst +0 -14
- data/embulk-docs/src/release/release-0.6.19.rst +0 -18
- data/embulk-docs/src/release/release-0.6.2.rst +0 -17
- data/embulk-docs/src/release/release-0.6.20.rst +0 -19
- data/embulk-docs/src/release/release-0.6.21.rst +0 -20
- data/embulk-docs/src/release/release-0.6.22.rst +0 -26
- data/embulk-docs/src/release/release-0.6.23.rst +0 -17
- data/embulk-docs/src/release/release-0.6.24.rst +0 -13
- data/embulk-docs/src/release/release-0.6.25.rst +0 -12
- data/embulk-docs/src/release/release-0.6.26.rst +0 -17
- data/embulk-docs/src/release/release-0.6.27.rst +0 -11
- data/embulk-docs/src/release/release-0.6.3.rst +0 -23
- data/embulk-docs/src/release/release-0.6.4.rst +0 -13
- data/embulk-docs/src/release/release-0.6.5.rst +0 -17
- data/embulk-docs/src/release/release-0.6.6.rst +0 -17
- data/embulk-docs/src/release/release-0.6.7.rst +0 -17
- data/embulk-docs/src/release/release-0.6.8.rst +0 -24
- data/embulk-docs/src/release/release-0.6.9.rst +0 -24
- data/embulk-docs/src/release/release-0.7.0.rst +0 -96
- data/embulk-docs/src/release/release-0.7.1.rst +0 -22
- data/embulk-docs/src/release/release-0.7.10.rst +0 -13
- data/embulk-docs/src/release/release-0.7.11.rst +0 -12
- data/embulk-docs/src/release/release-0.7.2.rst +0 -25
- data/embulk-docs/src/release/release-0.7.3.rst +0 -21
- data/embulk-docs/src/release/release-0.7.4.rst +0 -14
- data/embulk-docs/src/release/release-0.7.5.rst +0 -22
- data/embulk-docs/src/release/release-0.7.6.rst +0 -18
- data/embulk-docs/src/release/release-0.7.7.rst +0 -13
- data/embulk-docs/src/release/release-0.7.8.rst +0 -14
- data/embulk-docs/src/release/release-0.7.9.rst +0 -14
- data/embulk-docs/src/release/release-0.8.0.rst +0 -74
- data/embulk-docs/src/release/release-0.8.1.rst +0 -18
- data/embulk-docs/src/release/release-0.8.10.rst +0 -35
- data/embulk-docs/src/release/release-0.8.11.rst +0 -12
- data/embulk-docs/src/release/release-0.8.12.rst +0 -12
- data/embulk-docs/src/release/release-0.8.13.rst +0 -12
- data/embulk-docs/src/release/release-0.8.14.rst +0 -31
- data/embulk-docs/src/release/release-0.8.15.rst +0 -17
- data/embulk-docs/src/release/release-0.8.16.rst +0 -43
- data/embulk-docs/src/release/release-0.8.17.rst +0 -11
- data/embulk-docs/src/release/release-0.8.18.rst +0 -27
- data/embulk-docs/src/release/release-0.8.19.rst +0 -43
- data/embulk-docs/src/release/release-0.8.2.rst +0 -19
- data/embulk-docs/src/release/release-0.8.20.rst +0 -11
- data/embulk-docs/src/release/release-0.8.21.rst +0 -17
- data/embulk-docs/src/release/release-0.8.22.rst +0 -15
- data/embulk-docs/src/release/release-0.8.23.rst +0 -14
- data/embulk-docs/src/release/release-0.8.24.rst +0 -15
- data/embulk-docs/src/release/release-0.8.25.rst +0 -14
- data/embulk-docs/src/release/release-0.8.26.rst +0 -16
- data/embulk-docs/src/release/release-0.8.27.rst +0 -15
- data/embulk-docs/src/release/release-0.8.28.rst +0 -14
- data/embulk-docs/src/release/release-0.8.29.rst +0 -14
- data/embulk-docs/src/release/release-0.8.3.rst +0 -15
- data/embulk-docs/src/release/release-0.8.30.rst +0 -14
- data/embulk-docs/src/release/release-0.8.31.rst +0 -12
- data/embulk-docs/src/release/release-0.8.32.rst +0 -14
- data/embulk-docs/src/release/release-0.8.33.rst +0 -13
- data/embulk-docs/src/release/release-0.8.34.rst +0 -12
- data/embulk-docs/src/release/release-0.8.35.rst +0 -12
- data/embulk-docs/src/release/release-0.8.4.rst +0 -18
- data/embulk-docs/src/release/release-0.8.5.rst +0 -11
- data/embulk-docs/src/release/release-0.8.6.rst +0 -14
- data/embulk-docs/src/release/release-0.8.7.rst +0 -18
- data/embulk-docs/src/release/release-0.8.8.rst +0 -18
- data/embulk-docs/src/release/release-0.8.9.rst +0 -14
- data/embulk-jruby-strptime/build.gradle +0 -3
- data/embulk-jruby-strptime/src/main/java/org/embulk/spi/time/RubyDateParser.java +0 -121
- data/embulk-jruby-strptime/src/main/java/org/embulk/spi/time/StrptimeFormat.java +0 -53
- data/embulk-jruby-strptime/src/main/java/org/embulk/spi/time/StrptimeParser.java +0 -884
- data/embulk-jruby-strptime/src/main/java/org/embulk/spi/time/StrptimeToken.java +0 -111
- data/embulk-jruby-strptime/src/main/java/org/embulk/spi/time/TimeZoneConverter.java +0 -466
- data/embulk-jruby-strptime/src/main/java/org/embulk/spi/time/lexer/StrptimeLexer.flex +0 -62
- data/embulk-jruby-strptime/src/main/java/org/embulk/spi/time/lexer/StrptimeLexer.java +0 -577
- data/embulk-standards/build.gradle +0 -7
- data/embulk-standards/src/main/java/org/embulk/standards/Bzip2FileDecoderPlugin.java +0 -55
- data/embulk-standards/src/main/java/org/embulk/standards/Bzip2FileEncoderPlugin.java +0 -67
- data/embulk-standards/src/main/java/org/embulk/standards/ConfigInputPlugin.java +0 -170
- data/embulk-standards/src/main/java/org/embulk/standards/CsvFormatterPlugin.java +0 -295
- data/embulk-standards/src/main/java/org/embulk/standards/CsvParserPlugin.java +0 -394
- data/embulk-standards/src/main/java/org/embulk/standards/CsvTokenizer.java +0 -512
- data/embulk-standards/src/main/java/org/embulk/standards/GzipFileDecoderPlugin.java +0 -55
- data/embulk-standards/src/main/java/org/embulk/standards/GzipFileEncoderPlugin.java +0 -71
- data/embulk-standards/src/main/java/org/embulk/standards/JsonParserPlugin.java +0 -235
- data/embulk-standards/src/main/java/org/embulk/standards/LocalFileInputPlugin.java +0 -232
- data/embulk-standards/src/main/java/org/embulk/standards/LocalFileOutputPlugin.java +0 -148
- data/embulk-standards/src/main/java/org/embulk/standards/NullOutputPlugin.java +0 -59
- data/embulk-standards/src/main/java/org/embulk/standards/RemoveColumnsFilterPlugin.java +0 -268
- data/embulk-standards/src/main/java/org/embulk/standards/RenameFilterPlugin.java +0 -479
- data/embulk-standards/src/main/java/org/embulk/standards/StandardPluginExtension.java +0 -16
- data/embulk-standards/src/main/java/org/embulk/standards/StandardPluginModule.java +0 -60
- data/embulk-standards/src/main/java/org/embulk/standards/StdoutOutputPlugin.java +0 -85
- data/embulk-standards/src/main/resources/META-INF/services/org.embulk.spi.Extension +0 -1
- data/embulk-standards/src/test/java/org/embulk/standards/TestCsvFormatterPlugin.java +0 -312
- data/embulk-standards/src/test/java/org/embulk/standards/TestCsvParserPlugin.java +0 -75
- data/embulk-standards/src/test/java/org/embulk/standards/TestCsvTokenizer.java +0 -381
- data/embulk-standards/src/test/java/org/embulk/standards/TestJsonParserPlugin.java +0 -351
- data/embulk-standards/src/test/java/org/embulk/standards/TestRemoveColumnsFilterPlugin.java +0 -121
- data/embulk-standards/src/test/java/org/embulk/standards/TestRenameFilterPlugin.java +0 -1020
- data/embulk-standards/src/test/java/org/embulk/standards/guess/TestCsvAllStringsGuessPlugin.java +0 -38
- data/embulk-standards/src/test/java/org/embulk/standards/guess/TestCsvGuessPlugin.java +0 -248
- data/embulk-standards/src/test/java/org/embulk/standards/preview/TestFilePreview.java +0 -73
- data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_1_int_single_column_row.csv +0 -1
- data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_1_int_single_column_row_and_header.csv +0 -2
- data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_1_int_single_column_row_and_header_guessed.yml +0 -12
- data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_1_int_single_column_row_and_header_seed.yml +0 -1
- data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_1_int_single_column_row_guessed.yml +0 -12
- data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_1_int_single_column_row_seed.yml +0 -1
- data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_1_rows.csv +0 -1
- data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_1_rows_and_header.csv +0 -2
- data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_1_rows_and_header_guessed.yml +0 -16
- data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_1_rows_and_header_seed.yml +0 -1
- data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_1_rows_and_header_with_trim_needed.csv +0 -2
- data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_1_rows_and_header_with_trim_needed_guessed.yml +0 -16
- data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_1_rows_and_header_with_trim_needed_seed.yml +0 -1
- data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_1_rows_guessed.yml +0 -16
- data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_1_rows_seed.yml +0 -1
- data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_1_rows_with_trim_needed.csv +0 -1
- data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_1_rows_with_trim_needed_guessed.yml +0 -16
- data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_1_rows_with_trim_needed_seed.yml +0 -1
- data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_1_string_single_column_row.csv +0 -1
- data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_1_string_single_column_row_and_header.csv +0 -2
- data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_1_string_single_column_row_and_header_guessed.yml +0 -12
- data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_1_string_single_column_row_and_header_seed.yml +0 -1
- data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_1_string_single_column_row_guessed.yml +0 -12
- data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_1_string_single_column_row_seed.yml +0 -1
- data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_2_int_single_column_rows.csv +0 -2
- data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_2_int_single_column_rows_guessed.yml +0 -12
- data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_2_int_single_column_rows_seed.yml +0 -1
- data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_2_rows.csv +0 -2
- data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_2_rows_and_header.csv +0 -3
- data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_2_rows_and_header_guessed.yml +0 -16
- data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_2_rows_and_header_seed.yml +0 -1
- data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_2_rows_guessed.yml +0 -16
- data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_2_rows_seed.yml +0 -1
- data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_2_string_single_column_rows.csv +0 -2
- data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_2_string_single_column_rows_guessed.yml +0 -12
- data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_2_string_single_column_rows_seed.yml +0 -1
- data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_backslash_escape.csv +0 -5
- data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_backslash_escape_guessed.yml +0 -17
- data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_backslash_escape_seed.yml +0 -1
- data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_double_single_column.csv +0 -12
- data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_double_single_column_guessed.yml +0 -12
- data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_double_single_column_seed.yml +0 -1
- data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_int_single_column.csv +0 -4
- data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_int_single_column_guessed.yml +0 -12
- data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_int_single_column_seed.yml +0 -1
- data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_int_single_column_with_header.csv +0 -5
- data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_int_single_column_with_header_guessed.yml +0 -12
- data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_int_single_column_with_header_seed.yml +0 -1
- data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_semicolon_delimiter.csv +0 -5
- data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_semicolon_delimiter_guessed.yml +0 -17
- data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_semicolon_delimiter_seed.yml +0 -1
- data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_simple.csv +0 -5
- data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_simple_guessed.yml +0 -17
- data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_simple_seed.yml +0 -1
- data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_single_quote.csv +0 -5
- data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_single_quote_guessed.yml +0 -17
- data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_single_quote_seed.yml +0 -1
- data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_skip_suggest_if_empty_sample_records.csv +0 -5
- data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_skip_suggest_if_empty_sample_records_guessed.yml +0 -2
- data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_skip_suggest_if_empty_sample_records_seed.yml +0 -1
- data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_string_single_column.csv +0 -4
- data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_string_single_column_guessed.yml +0 -12
- data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_string_single_column_seed.yml +0 -1
- data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_string_single_column_with_header.csv +0 -5
- data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_string_single_column_with_header_guessed.yml +0 -12
- data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_string_single_column_with_header_seed.yml +0 -1
- data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_tab_delimiter.csv +0 -4
- data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_tab_delimiter_guessed.yml +0 -16
- data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv/test/test_tab_delimiter_seed.yml +0 -1
- data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv_all_strings/test/test_simple.csv +0 -5
- data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv_all_strings/test/test_simple_guessed.yml +0 -17
- data/embulk-standards/src/test/resources/org/embulk/standards/guess/csv_all_strings/test/test_simple_seed.yml +0 -1
- data/embulk-standards/src/test/resources/org/embulk/standards/preview/file/test/test_sample_buffer_bytes.csv +0 -5
- data/embulk-standards/src/test/resources/org/embulk/standards/preview/file/test/test_sample_buffer_bytes_exec.yml +0 -1
- data/embulk-standards/src/test/resources/org/embulk/standards/preview/file/test/test_sample_buffer_bytes_load.yml +0 -19
- data/embulk-standards/src/test/resources/org/embulk/standards/preview/file/test/test_sample_buffer_bytes_previewed.csv +0 -1
- data/embulk-standards/src/test/resources/org/embulk/standards/preview/file/test/test_simple.csv +0 -5
- data/embulk-standards/src/test/resources/org/embulk/standards/preview/file/test/test_simple_load.yml +0 -19
- data/embulk-standards/src/test/resources/org/embulk/standards/preview/file/test/test_simple_previewed.csv +0 -4
- data/embulk-standards/src/test/resources/org/embulk/standards/remove_columns/test/test_keep.csv +0 -5
- data/embulk-standards/src/test/resources/org/embulk/standards/remove_columns/test/test_keep_expected.csv +0 -4
- data/embulk-standards/src/test/resources/org/embulk/standards/remove_columns/test/test_keep_filter.yml +0 -2
- data/embulk-standards/src/test/resources/org/embulk/standards/remove_columns/test/test_keep_in.yml +0 -18
- data/embulk-standards/src/test/resources/org/embulk/standards/remove_columns/test/test_keep_with_duplicated_column_names.csv +0 -5
- data/embulk-standards/src/test/resources/org/embulk/standards/remove_columns/test/test_keep_with_duplicated_column_names.yml +0 -2
- data/embulk-standards/src/test/resources/org/embulk/standards/remove_columns/test/test_keep_with_duplicated_column_names_expected.csv +0 -4
- data/embulk-standards/src/test/resources/org/embulk/standards/remove_columns/test/test_keep_with_duplicated_column_names_in.yml +0 -17
- data/embulk-standards/src/test/resources/org/embulk/standards/remove_columns/test/test_keep_with_unmatched_filter.yml +0 -3
- data/embulk-standards/src/test/resources/org/embulk/standards/remove_columns/test/test_keep_without_unmatched_filter.yml +0 -2
- data/embulk-standards/src/test/resources/org/embulk/standards/remove_columns/test/test_remove.csv +0 -5
- data/embulk-standards/src/test/resources/org/embulk/standards/remove_columns/test/test_remove_expected.csv +0 -4
- data/embulk-standards/src/test/resources/org/embulk/standards/remove_columns/test/test_remove_filter.yml +0 -2
- data/embulk-standards/src/test/resources/org/embulk/standards/remove_columns/test/test_remove_in.yml +0 -18
- data/embulk-standards/src/test/resources/org/embulk/standards/remove_columns/test/test_remove_with_unmatched_filter.yml +0 -3
- data/embulk-standards/src/test/resources/org/embulk/standards/remove_columns/test/test_remove_without_unmatched_filter.yml +0 -2
- data/embulk-test/build.gradle +0 -6
- data/embulk-test/src/main/java/org/embulk/test/EmbulkTests.java +0 -75
- data/embulk-test/src/main/java/org/embulk/test/PreviewResultInputPlugin.java +0 -65
- data/embulk-test/src/main/java/org/embulk/test/TestingBulkLoader.java +0 -129
- data/embulk-test/src/main/java/org/embulk/test/TestingEmbulk.java +0 -710
- data/gradle/wrapper/gradle-wrapper.jar +0 -0
- data/gradle/wrapper/gradle-wrapper.properties +0 -5
- data/gradlew +0 -172
- data/gradlew.bat +0 -84
- data/lib/embulk/data/bundle/.bundle/config +0 -3
- data/lib/embulk/data/bundle/.ruby-version +0 -1
- data/lib/embulk/data/bundle/Gemfile +0 -31
- data/lib/embulk/data/bundle/embulk/filter/example.rb +0 -42
- data/lib/embulk/data/bundle/embulk/input/example.rb +0 -54
- data/lib/embulk/data/bundle/embulk/output/example.rb +0 -58
- data/lib/embulk/data/new/LICENSE.txt +0 -21
- data/lib/embulk/data/new/README.md.vm +0 -106
- data/lib/embulk/data/new/gitignore.vm +0 -17
- data/lib/embulk/data/new/java/build.gradle.vm +0 -96
- data/lib/embulk/data/new/java/config/checkstyle/checkstyle.xml +0 -128
- data/lib/embulk/data/new/java/config/checkstyle/default.xml +0 -108
- data/lib/embulk/data/new/java/decoder.java.vm +0 -86
- data/lib/embulk/data/new/java/encoder.java.vm +0 -88
- data/lib/embulk/data/new/java/file_input.java.vm +0 -145
- data/lib/embulk/data/new/java/file_output.java.vm +0 -95
- data/lib/embulk/data/new/java/filter.java.vm +0 -57
- data/lib/embulk/data/new/java/formatter.java.vm +0 -55
- data/lib/embulk/data/new/java/gradle/wrapper/gradle-wrapper.jar +0 -0
- data/lib/embulk/data/new/java/gradle/wrapper/gradle-wrapper.properties +0 -5
- data/lib/embulk/data/new/java/gradlew +0 -172
- data/lib/embulk/data/new/java/gradlew.bat +0 -84
- data/lib/embulk/data/new/java/input.java.vm +0 -89
- data/lib/embulk/data/new/java/output.java.vm +0 -79
- data/lib/embulk/data/new/java/parser.java.vm +0 -61
- data/lib/embulk/data/new/java/plugin_loader.rb.vm +0 -3
- data/lib/embulk/data/new/java/test.java.vm +0 -5
- data/lib/embulk/data/new/ruby/.ruby-version +0 -1
- data/lib/embulk/data/new/ruby/Gemfile +0 -2
- data/lib/embulk/data/new/ruby/Rakefile +0 -3
- data/lib/embulk/data/new/ruby/decoder_guess.rb.vm +0 -25
- data/lib/embulk/data/new/ruby/filter.rb.vm +0 -50
- data/lib/embulk/data/new/ruby/formatter.rb.vm +0 -49
- data/lib/embulk/data/new/ruby/gemspec.vm +0 -20
- data/lib/embulk/data/new/ruby/input.rb.vm +0 -59
- data/lib/embulk/data/new/ruby/output.rb.vm +0 -61
- data/lib/embulk/data/new/ruby/parser.rb.vm +0 -44
- data/lib/embulk/data/new/ruby/parser_guess.rb.vm +0 -65
- data/lib/embulk/data/package_data.rb +0 -59
- data/lib/embulk/java/time_helper.rb +0 -79
- data/lib/embulk/runner.rb +0 -53
- data/settings.gradle +0 -8
- data/test/guess/test_csv_all_strings.rb +0 -43
- data/test/guess/test_csv_guess.rb +0 -170
- data/test/guess/test_schema_guess.rb +0 -29
- data/test/guess/test_time_format_guess.rb +0 -135
- data/test/helper.rb +0 -23
- data/test/mri/date/test_date_strptime.rb +0 -515
- data/test/run-test.rb +0 -28
@@ -1,159 +0,0 @@
|
|
1
|
-
package org.embulk.spi.time;
|
2
|
-
|
3
|
-
import java.util.regex.Pattern;
|
4
|
-
import java.util.regex.Matcher;
|
5
|
-
import org.joda.time.format.DateTimeFormat;
|
6
|
-
import org.joda.time.format.DateTimeFormatter;
|
7
|
-
import org.joda.time.DateTime;
|
8
|
-
import org.jruby.Ruby;
|
9
|
-
import org.jruby.RubyTime;
|
10
|
-
|
11
|
-
public class Timestamp
|
12
|
-
implements Comparable<Timestamp>
|
13
|
-
{
|
14
|
-
private final static DateTimeFormatter TO_STRING_FORMATTER_SECONDS = DateTimeFormat.forPattern("yyyy-MM-dd HH:mm:ss ").withZoneUTC();
|
15
|
-
private final static DateTimeFormatter TO_STRING_FORMATTER_MILLIS = DateTimeFormat.forPattern("yyyy-MM-dd HH:mm:ss.SSS ").withZoneUTC();
|
16
|
-
private final static DateTimeFormatter TO_STRING_FORMATTER_CUSTOM = DateTimeFormat.forPattern("yyyy-MM-dd HH:mm:ss").withZoneUTC();
|
17
|
-
private static final Pattern FROM_STRING_PATTERN = Pattern.compile("(\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2})(?:\\.(\\d{1,9}))? (?:UTC|\\+?00\\:?00)");
|
18
|
-
|
19
|
-
private final long seconds;
|
20
|
-
private final int nano;
|
21
|
-
|
22
|
-
private Timestamp(long seconds, int nano)
|
23
|
-
{
|
24
|
-
this.seconds = seconds;
|
25
|
-
this.nano = nano;
|
26
|
-
}
|
27
|
-
|
28
|
-
public static Timestamp ofEpochSecond(long epochSecond)
|
29
|
-
{
|
30
|
-
return new Timestamp(epochSecond, 0);
|
31
|
-
}
|
32
|
-
|
33
|
-
public static Timestamp ofEpochSecond(long epochSecond, long nanoAdjustment)
|
34
|
-
{
|
35
|
-
return new Timestamp(epochSecond + nanoAdjustment / 1000000000, (int) (nanoAdjustment % 1000000000));
|
36
|
-
}
|
37
|
-
|
38
|
-
public static Timestamp ofEpochMilli(long epochMilli)
|
39
|
-
{
|
40
|
-
return new Timestamp(epochMilli / 1000, (int) (epochMilli % 1000 * 1000000));
|
41
|
-
}
|
42
|
-
|
43
|
-
public long getEpochSecond()
|
44
|
-
{
|
45
|
-
return seconds;
|
46
|
-
}
|
47
|
-
|
48
|
-
public int getNano()
|
49
|
-
{
|
50
|
-
return nano;
|
51
|
-
}
|
52
|
-
|
53
|
-
public long toEpochMilli()
|
54
|
-
{
|
55
|
-
return seconds * 1000 + nano / 1000000;
|
56
|
-
}
|
57
|
-
|
58
|
-
@Override
|
59
|
-
public boolean equals(Object other)
|
60
|
-
{
|
61
|
-
if (this == other) {
|
62
|
-
return true;
|
63
|
-
}
|
64
|
-
if (!(other instanceof Timestamp)) {
|
65
|
-
return false;
|
66
|
-
}
|
67
|
-
Timestamp o = (Timestamp) other;
|
68
|
-
return this.seconds == o.seconds && this.nano == o.nano;
|
69
|
-
}
|
70
|
-
|
71
|
-
@Override
|
72
|
-
public int hashCode()
|
73
|
-
{
|
74
|
-
int h = (int) (seconds ^ (seconds >>> 32));
|
75
|
-
h += 17 * nano;
|
76
|
-
return h;
|
77
|
-
}
|
78
|
-
|
79
|
-
@Override
|
80
|
-
public int compareTo(Timestamp t)
|
81
|
-
{
|
82
|
-
if (seconds < t.seconds) {
|
83
|
-
return -1;
|
84
|
-
} else if (seconds == t.seconds) {
|
85
|
-
return nano == t.nano ? 0 : (nano < t.nano ? -1 : 1);
|
86
|
-
} else {
|
87
|
-
return 1;
|
88
|
-
}
|
89
|
-
}
|
90
|
-
|
91
|
-
public RubyTime getRubyTime(Ruby runtime)
|
92
|
-
{
|
93
|
-
RubyTime time = new RubyTime(runtime, runtime.getClass("Time"), new DateTime(toEpochMilli())).gmtime();
|
94
|
-
time.setNSec(nano % 1000000);
|
95
|
-
return time;
|
96
|
-
}
|
97
|
-
|
98
|
-
public static Timestamp fromRubyTime(RubyTime time)
|
99
|
-
{
|
100
|
-
long msec = time.getDateTime().getMillis();
|
101
|
-
long sec = msec / 1000;
|
102
|
-
long nsec = time.getNSec() + (msec % 1000) * 1000000;
|
103
|
-
return Timestamp.ofEpochSecond(sec, nsec);
|
104
|
-
}
|
105
|
-
|
106
|
-
@Override
|
107
|
-
public String toString()
|
108
|
-
{
|
109
|
-
if (nano == 0) {
|
110
|
-
return TO_STRING_FORMATTER_SECONDS.print(getEpochSecond() * 1000) + "UTC";
|
111
|
-
|
112
|
-
} else if (nano % 1000000 == 0) {
|
113
|
-
return TO_STRING_FORMATTER_MILLIS.print(toEpochMilli()) + "UTC";
|
114
|
-
|
115
|
-
} else {
|
116
|
-
StringBuffer sb = new StringBuffer();
|
117
|
-
TO_STRING_FORMATTER_CUSTOM.printTo(sb, getEpochSecond() * 1000);
|
118
|
-
sb.append(".");
|
119
|
-
|
120
|
-
String digits;
|
121
|
-
int zeroDigits;
|
122
|
-
if (nano % 1000 == 0) {
|
123
|
-
digits = Integer.toString(nano / 1000);
|
124
|
-
zeroDigits = 6 - digits.length();
|
125
|
-
} else {
|
126
|
-
digits = Integer.toString(nano);
|
127
|
-
zeroDigits = 9 - digits.length();
|
128
|
-
}
|
129
|
-
sb.append(digits);
|
130
|
-
for (; zeroDigits > 0; zeroDigits--) {
|
131
|
-
sb.append('0');
|
132
|
-
}
|
133
|
-
|
134
|
-
sb.append(" UTC");
|
135
|
-
return sb.toString();
|
136
|
-
}
|
137
|
-
}
|
138
|
-
|
139
|
-
static Timestamp fromString(String text)
|
140
|
-
{
|
141
|
-
// TODO exception handling
|
142
|
-
Matcher m = FROM_STRING_PATTERN.matcher(text);
|
143
|
-
if (!m.matches()) {
|
144
|
-
throw new IllegalArgumentException(String.format("Invalid timestamp format '%s'", text));
|
145
|
-
}
|
146
|
-
|
147
|
-
long seconds = TO_STRING_FORMATTER_CUSTOM.parseDateTime(m.group(1)).getMillis() / 1000;
|
148
|
-
|
149
|
-
int nano;
|
150
|
-
String frac = m.group(2);
|
151
|
-
if (frac == null) {
|
152
|
-
nano = 0;
|
153
|
-
} else {
|
154
|
-
nano = Integer.parseInt(frac) * (int) Math.pow(10, 9 - frac.length());
|
155
|
-
}
|
156
|
-
|
157
|
-
return new Timestamp(seconds, nano);
|
158
|
-
}
|
159
|
-
}
|
@@ -1,100 +0,0 @@
|
|
1
|
-
package org.embulk.spi.time;
|
2
|
-
|
3
|
-
import java.util.Set;
|
4
|
-
import com.google.common.collect.ImmutableSet;
|
5
|
-
import com.fasterxml.jackson.annotation.JsonValue;
|
6
|
-
import com.fasterxml.jackson.annotation.JsonCreator;
|
7
|
-
import org.joda.time.DateTimeZone;
|
8
|
-
import org.joda.time.format.DateTimeFormat;
|
9
|
-
|
10
|
-
public class TimestampFormat
|
11
|
-
{
|
12
|
-
private final String format;
|
13
|
-
|
14
|
-
@JsonCreator
|
15
|
-
public TimestampFormat(String format)
|
16
|
-
{
|
17
|
-
this.format = format;
|
18
|
-
}
|
19
|
-
|
20
|
-
@JsonValue
|
21
|
-
public String getFormat()
|
22
|
-
{
|
23
|
-
return format;
|
24
|
-
}
|
25
|
-
|
26
|
-
@Deprecated
|
27
|
-
public TimestampFormatter newFormatter(TimestampFormatter.FormatterTask task)
|
28
|
-
{
|
29
|
-
return new TimestampFormatter(format, task.getTimeZone());
|
30
|
-
}
|
31
|
-
|
32
|
-
@Deprecated
|
33
|
-
public TimestampParser newParser(TimestampParser.ParserTask task)
|
34
|
-
{
|
35
|
-
return new TimestampParser(format, task.getDefaultTimeZone());
|
36
|
-
}
|
37
|
-
|
38
|
-
private static Set<String> availableTimeZoneNames = ImmutableSet.copyOf(DateTimeZone.getAvailableIDs());
|
39
|
-
|
40
|
-
public static DateTimeZone parseDateTimeZone(String s)
|
41
|
-
{
|
42
|
-
if(s.startsWith("+") || s.startsWith("-")) {
|
43
|
-
return DateTimeZone.forID(s);
|
44
|
-
|
45
|
-
} else if (s.equals("Z")) {
|
46
|
-
return DateTimeZone.UTC;
|
47
|
-
|
48
|
-
} else {
|
49
|
-
try {
|
50
|
-
int rawOffset = (int) DateTimeFormat.forPattern("z").parseMillis(s);
|
51
|
-
if(rawOffset == 0) {
|
52
|
-
return DateTimeZone.UTC;
|
53
|
-
}
|
54
|
-
int offset = rawOffset / -1000;
|
55
|
-
int h = offset / 3600;
|
56
|
-
int m = offset % 3600;
|
57
|
-
return DateTimeZone.forOffsetHoursMinutes(h, m);
|
58
|
-
} catch (IllegalArgumentException ex) {
|
59
|
-
// parseMillis failed
|
60
|
-
}
|
61
|
-
|
62
|
-
// TimeZone.getTimeZone returns GMT zone if given timezone id is not found
|
63
|
-
// we want to only return timezone if exact match, otherwise exception
|
64
|
-
if (availableTimeZoneNames.contains(s)) {
|
65
|
-
//return TimeZone.getTimeZone(s);
|
66
|
-
return DateTimeZone.forID(s);
|
67
|
-
}
|
68
|
-
return null;
|
69
|
-
}
|
70
|
-
}
|
71
|
-
|
72
|
-
//// Java standard TimeZone
|
73
|
-
//static TimeZone parseDateTimeZone(String s)
|
74
|
-
//{
|
75
|
-
// if(s.startsWith("+") || s.startsWith("-")) {
|
76
|
-
// return TimeZone.getTimeZone("GMT"+s);
|
77
|
-
//
|
78
|
-
// } else {
|
79
|
-
// ParsePosition pp = new ParsePosition(0);
|
80
|
-
// Date off = new SimpleDateFormat("z").parse(s, pp);
|
81
|
-
// if(off != null && pp.getErrorIndex() == -1) {
|
82
|
-
// int rawOffset = (int) off.getTime();
|
83
|
-
// if(rawOffset == 0) {
|
84
|
-
// return TimeZone.UTC;
|
85
|
-
// }
|
86
|
-
// int offset = rawOffset / -1000;
|
87
|
-
// int h = offset / 3600;
|
88
|
-
// int m = offset % 3600;
|
89
|
-
// return DateTimeZone.getTimeZone(String.format("GMT%+02d%02d", h, m));
|
90
|
-
// }
|
91
|
-
//
|
92
|
-
// // TimeZone.getTimeZone returns GMT zone if given timezone id is not found
|
93
|
-
// // we want to only return timezone if exact match, otherwise exception
|
94
|
-
// if (availableTimeZoneNames.contains(s)) {
|
95
|
-
// return TimeZone.getTimeZone(s);
|
96
|
-
// }
|
97
|
-
// return null;
|
98
|
-
// }
|
99
|
-
//}
|
100
|
-
}
|
@@ -1,125 +0,0 @@
|
|
1
|
-
package org.embulk.spi.time;
|
2
|
-
|
3
|
-
import java.util.Locale;
|
4
|
-
import org.joda.time.DateTime;
|
5
|
-
import org.joda.time.DateTimeZone;
|
6
|
-
import com.google.common.base.Optional;
|
7
|
-
import org.jruby.embed.ScriptingContainer;
|
8
|
-
import org.jruby.util.RubyDateFormat;
|
9
|
-
import org.embulk.config.Config;
|
10
|
-
import org.embulk.config.ConfigInject;
|
11
|
-
import org.embulk.config.ConfigDefault;
|
12
|
-
import org.embulk.spi.util.LineEncoder;
|
13
|
-
|
14
|
-
public class TimestampFormatter
|
15
|
-
{
|
16
|
-
@Deprecated
|
17
|
-
public interface FormatterTask
|
18
|
-
extends org.embulk.config.Task
|
19
|
-
{
|
20
|
-
@Config("timezone")
|
21
|
-
@ConfigDefault("\"UTC\"")
|
22
|
-
public DateTimeZone getTimeZone();
|
23
|
-
|
24
|
-
@ConfigInject
|
25
|
-
@Deprecated
|
26
|
-
public ScriptingContainer getJRuby();
|
27
|
-
}
|
28
|
-
|
29
|
-
public interface Task
|
30
|
-
{
|
31
|
-
@Config("default_timezone")
|
32
|
-
@ConfigDefault("\"UTC\"")
|
33
|
-
public DateTimeZone getDefaultTimeZone();
|
34
|
-
|
35
|
-
@Config("default_timestamp_format")
|
36
|
-
@ConfigDefault("\"%Y-%m-%d %H:%M:%S.%6N %z\"")
|
37
|
-
public String getDefaultTimestampFormat();
|
38
|
-
|
39
|
-
@ConfigInject
|
40
|
-
@Deprecated
|
41
|
-
public ScriptingContainer getJRuby();
|
42
|
-
}
|
43
|
-
|
44
|
-
public interface TimestampColumnOption
|
45
|
-
{
|
46
|
-
@Config("timezone")
|
47
|
-
@ConfigDefault("null")
|
48
|
-
public Optional<DateTimeZone> getTimeZone();
|
49
|
-
|
50
|
-
@Config("format")
|
51
|
-
@ConfigDefault("null")
|
52
|
-
public Optional<String> getFormat();
|
53
|
-
}
|
54
|
-
|
55
|
-
private final RubyDateFormat dateFormat;
|
56
|
-
private final DateTimeZone timeZone;
|
57
|
-
|
58
|
-
@Deprecated
|
59
|
-
public TimestampFormatter(String format, FormatterTask task)
|
60
|
-
{
|
61
|
-
this(format, task.getTimeZone());
|
62
|
-
// NOTE: Its deprecation is not actually from ScriptingContainer, though.
|
63
|
-
// TODO: Notify users about deprecated calls through the notification reporter.
|
64
|
-
if (!deprecationWarned) {
|
65
|
-
System.err.println("[WARN] Plugin uses deprecated constructor of org.embulk.spi.time.TimestampFormatter.");
|
66
|
-
System.err.println("[WARN] Report plugins in your config at: https://github.com/embulk/embulk/issues/745");
|
67
|
-
// The |deprecationWarned| flag is used only for warning messages.
|
68
|
-
// Even in case of race conditions, messages are just duplicated -- should be acceptable.
|
69
|
-
deprecationWarned = true;
|
70
|
-
}
|
71
|
-
}
|
72
|
-
|
73
|
-
public TimestampFormatter(Task task, Optional<? extends TimestampColumnOption> columnOption)
|
74
|
-
{
|
75
|
-
this(
|
76
|
-
columnOption.isPresent() ?
|
77
|
-
columnOption.get().getFormat().or(task.getDefaultTimestampFormat())
|
78
|
-
: task.getDefaultTimestampFormat(),
|
79
|
-
columnOption.isPresent() ?
|
80
|
-
columnOption.get().getTimeZone().or(task.getDefaultTimeZone())
|
81
|
-
: task.getDefaultTimeZone());
|
82
|
-
}
|
83
|
-
|
84
|
-
@Deprecated
|
85
|
-
public TimestampFormatter(ScriptingContainer jruby, String format, DateTimeZone timeZone)
|
86
|
-
{
|
87
|
-
this(format, timeZone);
|
88
|
-
// TODO: Notify users about deprecated calls through the notification reporter.
|
89
|
-
if (!deprecationWarned) {
|
90
|
-
System.err.println("[WARN] Plugin uses deprecated constructor of org.embulk.spi.time.TimestampFormatter.");
|
91
|
-
System.err.println("[WARN] Report plugins in your config at: https://github.com/embulk/embulk/issues/745");
|
92
|
-
// The |deprecationWarned| flag is used only for warning messages.
|
93
|
-
// Even in case of race conditions, messages are just duplicated -- should be acceptable.
|
94
|
-
deprecationWarned = true;
|
95
|
-
}
|
96
|
-
}
|
97
|
-
|
98
|
-
public TimestampFormatter(final String format, final DateTimeZone timeZone)
|
99
|
-
{
|
100
|
-
this.timeZone = timeZone;
|
101
|
-
this.dateFormat = new RubyDateFormat(format, Locale.ENGLISH, true);
|
102
|
-
}
|
103
|
-
|
104
|
-
public DateTimeZone getTimeZone()
|
105
|
-
{
|
106
|
-
return timeZone;
|
107
|
-
}
|
108
|
-
|
109
|
-
public void format(Timestamp value, LineEncoder encoder)
|
110
|
-
{
|
111
|
-
// TODO optimize by directly appending to internal buffer
|
112
|
-
encoder.addText(format(value));
|
113
|
-
}
|
114
|
-
|
115
|
-
public String format(Timestamp value)
|
116
|
-
{
|
117
|
-
// TODO optimize by using reused StringBuilder
|
118
|
-
dateFormat.setDateTime(new DateTime(value.getEpochSecond()*1000, timeZone));
|
119
|
-
dateFormat.setNSec(value.getNano());
|
120
|
-
return dateFormat.format(null);
|
121
|
-
}
|
122
|
-
|
123
|
-
// TODO: Remove this once deprecated constructors are finally removed.
|
124
|
-
private static boolean deprecationWarned = false;
|
125
|
-
}
|
@@ -1,283 +0,0 @@
|
|
1
|
-
package org.embulk.spi.time;
|
2
|
-
|
3
|
-
import com.google.common.annotations.VisibleForTesting;
|
4
|
-
import com.google.common.base.Optional;
|
5
|
-
import java.text.ParseException;
|
6
|
-
import java.text.SimpleDateFormat;
|
7
|
-
import java.util.Calendar;
|
8
|
-
import java.util.Date;
|
9
|
-
import java.util.List;
|
10
|
-
import java.util.Locale;
|
11
|
-
import java.util.TimeZone;
|
12
|
-
import org.embulk.config.Config;
|
13
|
-
import org.embulk.config.ConfigDefault;
|
14
|
-
import org.embulk.config.ConfigException;
|
15
|
-
import org.embulk.config.ConfigInject;
|
16
|
-
import org.embulk.spi.time.StrptimeParser.FormatBag;
|
17
|
-
import org.joda.time.DateTime;
|
18
|
-
import org.joda.time.DateTimeZone;
|
19
|
-
import org.jruby.embed.ScriptingContainer;
|
20
|
-
|
21
|
-
import static com.google.common.base.Strings.isNullOrEmpty;
|
22
|
-
import static org.embulk.spi.time.TimestampFormat.parseDateTimeZone;
|
23
|
-
|
24
|
-
public class TimestampParser
|
25
|
-
{
|
26
|
-
@Deprecated
|
27
|
-
public interface ParserTask
|
28
|
-
extends org.embulk.config.Task
|
29
|
-
{
|
30
|
-
@Config("default_timezone")
|
31
|
-
@ConfigDefault("\"UTC\"")
|
32
|
-
public DateTimeZone getDefaultTimeZone();
|
33
|
-
|
34
|
-
@ConfigInject
|
35
|
-
@Deprecated
|
36
|
-
public ScriptingContainer getJRuby();
|
37
|
-
}
|
38
|
-
|
39
|
-
public interface Task
|
40
|
-
{
|
41
|
-
@Config("default_timezone")
|
42
|
-
@ConfigDefault("\"UTC\"")
|
43
|
-
public DateTimeZone getDefaultTimeZone();
|
44
|
-
|
45
|
-
@Config("default_timestamp_format")
|
46
|
-
@ConfigDefault("\"%Y-%m-%d %H:%M:%S.%N %z\"")
|
47
|
-
public String getDefaultTimestampFormat();
|
48
|
-
|
49
|
-
@Config("default_date")
|
50
|
-
@ConfigDefault("\"1970-01-01\"")
|
51
|
-
public String getDefaultDate();
|
52
|
-
|
53
|
-
@ConfigInject
|
54
|
-
@Deprecated
|
55
|
-
public ScriptingContainer getJRuby();
|
56
|
-
}
|
57
|
-
|
58
|
-
public interface TimestampColumnOption
|
59
|
-
{
|
60
|
-
@Config("timezone")
|
61
|
-
@ConfigDefault("null")
|
62
|
-
public Optional<DateTimeZone> getTimeZone();
|
63
|
-
|
64
|
-
@Config("format")
|
65
|
-
@ConfigDefault("null")
|
66
|
-
public Optional<String> getFormat();
|
67
|
-
|
68
|
-
@Config("date")
|
69
|
-
@ConfigDefault("null")
|
70
|
-
public Optional<String> getDate();
|
71
|
-
}
|
72
|
-
|
73
|
-
private final DateTimeZone defaultTimeZone;
|
74
|
-
private final String format;
|
75
|
-
private final StrptimeParser parser;
|
76
|
-
private final Calendar calendar;
|
77
|
-
private final List<StrptimeToken> compiledPattern;
|
78
|
-
|
79
|
-
@Deprecated
|
80
|
-
public TimestampParser(String format, ParserTask task)
|
81
|
-
{
|
82
|
-
this(format, task.getDefaultTimeZone());
|
83
|
-
// NOTE: Its deprecation is not actually from ScriptingContainer, though.
|
84
|
-
// TODO: Notify users about deprecated calls through the notification reporter.
|
85
|
-
if (!deprecationWarned) {
|
86
|
-
System.err.println("[WARN] Plugin uses deprecated constructor of org.embulk.spi.time.TimestampParser.");
|
87
|
-
System.err.println("[WARN] Report plugins in your config at: https://github.com/embulk/embulk/issues/745");
|
88
|
-
// The |deprecationWarned| flag is used only for warning messages.
|
89
|
-
// Even in case of race conditions, messages are just duplicated -- should be acceptable.
|
90
|
-
deprecationWarned = true;
|
91
|
-
}
|
92
|
-
}
|
93
|
-
|
94
|
-
@VisibleForTesting
|
95
|
-
static TimestampParser createTimestampParserForTesting(Task task)
|
96
|
-
|
97
|
-
{
|
98
|
-
return new TimestampParser(task.getDefaultTimestampFormat(), task.getDefaultTimeZone(), task.getDefaultDate());
|
99
|
-
}
|
100
|
-
|
101
|
-
public TimestampParser(Task task, TimestampColumnOption columnOption)
|
102
|
-
{
|
103
|
-
this(
|
104
|
-
columnOption.getFormat().or(task.getDefaultTimestampFormat()),
|
105
|
-
columnOption.getTimeZone().or(task.getDefaultTimeZone()),
|
106
|
-
columnOption.getDate().or(task.getDefaultDate()));
|
107
|
-
}
|
108
|
-
|
109
|
-
@Deprecated
|
110
|
-
public TimestampParser(ScriptingContainer jruby, String format, DateTimeZone defaultTimeZone)
|
111
|
-
{
|
112
|
-
this(format, defaultTimeZone);
|
113
|
-
// TODO: Notify users about deprecated calls through the notification reporter.
|
114
|
-
if (!deprecationWarned) {
|
115
|
-
System.err.println("[WARN] Plugin uses deprecated constructor of org.embulk.spi.time.TimestampParser.");
|
116
|
-
System.err.println("[WARN] Report plugins in your config at: https://github.com/embulk/embulk/issues/745");
|
117
|
-
// The |deprecationWarned| flag is used only for warning messages.
|
118
|
-
// Even in case of race conditions, messages are just duplicated -- should be acceptable.
|
119
|
-
deprecationWarned = true;
|
120
|
-
}
|
121
|
-
}
|
122
|
-
|
123
|
-
public TimestampParser(String format, DateTimeZone defaultTimeZone)
|
124
|
-
{
|
125
|
-
this(format, defaultTimeZone, "1970-01-01");
|
126
|
-
}
|
127
|
-
|
128
|
-
@Deprecated
|
129
|
-
public TimestampParser(ScriptingContainer jruby, String format, DateTimeZone defaultTimeZone, String defaultDate)
|
130
|
-
{
|
131
|
-
this(format, defaultTimeZone, defaultDate);
|
132
|
-
// TODO: Notify users about deprecated calls through the notification reporter.
|
133
|
-
if (!deprecationWarned) {
|
134
|
-
System.err.println("[WARN] Plugin uses deprecated constructor of org.embulk.spi.time.TimestampParser.");
|
135
|
-
System.err.println("[WARN] Report plugins in your config at: https://github.com/embulk/embulk/issues/745");
|
136
|
-
// The |deprecationWarned| flag is used only for warning messages.
|
137
|
-
// Even in case of race conditions, messages are just duplicated -- should be acceptable.
|
138
|
-
deprecationWarned = true;
|
139
|
-
}
|
140
|
-
}
|
141
|
-
|
142
|
-
public TimestampParser(final String format, final DateTimeZone defaultTimeZone, final String defaultDate)
|
143
|
-
{
|
144
|
-
// TODO get default current time from ExecTask.getExecTimestamp
|
145
|
-
this.format = format;
|
146
|
-
this.parser = new StrptimeParser();
|
147
|
-
this.compiledPattern = this.parser.compilePattern(format);
|
148
|
-
this.defaultTimeZone = defaultTimeZone;
|
149
|
-
|
150
|
-
// calculate default date
|
151
|
-
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd", Locale.ENGLISH);
|
152
|
-
df.setTimeZone(TimeZone.getTimeZone("UTC"));
|
153
|
-
Date utc;
|
154
|
-
try {
|
155
|
-
utc = df.parse(defaultDate);
|
156
|
-
}
|
157
|
-
catch (ParseException ex) {
|
158
|
-
throw new ConfigException("Invalid date format. Expected yyyy-MM-dd: " + defaultDate);
|
159
|
-
}
|
160
|
-
this.calendar = Calendar.getInstance(TimeZone.getTimeZone("UTC"), Locale.ENGLISH);
|
161
|
-
this.calendar.setTime(utc);
|
162
|
-
}
|
163
|
-
|
164
|
-
public DateTimeZone getDefaultTimeZone()
|
165
|
-
{
|
166
|
-
return defaultTimeZone;
|
167
|
-
}
|
168
|
-
|
169
|
-
public Timestamp parse(String text) throws TimestampParseException
|
170
|
-
{
|
171
|
-
if (isNullOrEmpty(text)) {
|
172
|
-
throw new TimestampParseException("text is null or empty string.");
|
173
|
-
}
|
174
|
-
|
175
|
-
final FormatBag bag = parser.parse(compiledPattern, text);
|
176
|
-
if (bag == null) {
|
177
|
-
throw new TimestampParseException("Cannot parse '" + text + "' by '" + format + "'");
|
178
|
-
}
|
179
|
-
bag.setYearIfNotSet(calendar.get(Calendar.YEAR));
|
180
|
-
bag.setMonthIfNotSet(calendar.get(Calendar.MONTH) + 1);
|
181
|
-
bag.setMdayIfNotSet(calendar.get(Calendar.DAY_OF_MONTH));
|
182
|
-
|
183
|
-
final LocalTime local = createLocalTimeFromFormatBag(bag);
|
184
|
-
final String zone = local.getZone();
|
185
|
-
final DateTimeZone timeZone;
|
186
|
-
if (zone != null) {
|
187
|
-
// TODO cache parsed zone?
|
188
|
-
timeZone = parseDateTimeZone(zone);
|
189
|
-
if (timeZone == null) {
|
190
|
-
throw new TimestampParseException("Invalid time zone name '" + text + "'");
|
191
|
-
}
|
192
|
-
}
|
193
|
-
else {
|
194
|
-
timeZone = defaultTimeZone;
|
195
|
-
}
|
196
|
-
|
197
|
-
final long sec = timeZone.convertLocalToUTC(local.getSeconds() * 1000, false) / 1000;
|
198
|
-
return Timestamp.ofEpochSecond(sec, local.getNsecFraction());
|
199
|
-
}
|
200
|
-
|
201
|
-
public LocalTime createLocalTimeFromFormatBag(FormatBag bag)
|
202
|
-
{
|
203
|
-
final long secFractionNsec;
|
204
|
-
if (FormatBag.has(bag.getSecFraction())) {
|
205
|
-
secFractionNsec = bag.getSecFraction() * (int)Math.pow(10, 9 - bag.getSecFractionSize());
|
206
|
-
}
|
207
|
-
else {
|
208
|
-
secFractionNsec = 0;
|
209
|
-
}
|
210
|
-
|
211
|
-
final long sec;
|
212
|
-
if (bag.hasSeconds()) {
|
213
|
-
if (FormatBag.has(bag.getSecondsSize())) {
|
214
|
-
sec = bag.getSeconds() / (int)Math.pow(10, bag.getSecondsSize());
|
215
|
-
}
|
216
|
-
else { // int
|
217
|
-
sec = bag.getSeconds();
|
218
|
-
}
|
219
|
-
|
220
|
-
} else {
|
221
|
-
final int year;
|
222
|
-
if (FormatBag.has(bag.getYear())) {
|
223
|
-
year = bag.getYear();
|
224
|
-
}
|
225
|
-
else {
|
226
|
-
year = 1970;
|
227
|
-
}
|
228
|
-
|
229
|
-
// set up with min this and then add to allow rolling over
|
230
|
-
DateTime dt = new DateTime(year, 1, 1, 0, 0, 0, 0, DateTimeZone.UTC);
|
231
|
-
if (FormatBag.has(bag.getMon())) {
|
232
|
-
dt = dt.plusMonths(bag.getMon() - 1);
|
233
|
-
}
|
234
|
-
if (FormatBag.has(bag.getMDay())) {
|
235
|
-
dt = dt.plusDays(bag.getMDay() - 1);
|
236
|
-
}
|
237
|
-
if (FormatBag.has(bag.getHour())) {
|
238
|
-
dt = dt.plusHours(bag.getHour());
|
239
|
-
}
|
240
|
-
if (FormatBag.has(bag.getMin())) {
|
241
|
-
dt = dt.plusMinutes(bag.getMin());
|
242
|
-
}
|
243
|
-
if (FormatBag.has(bag.getSec())) {
|
244
|
-
dt = dt.plusSeconds(bag.getSec());
|
245
|
-
}
|
246
|
-
sec = dt.getMillis() / 1000;
|
247
|
-
}
|
248
|
-
|
249
|
-
return new LocalTime(sec, secFractionNsec, bag.getZone());
|
250
|
-
}
|
251
|
-
|
252
|
-
private static class LocalTime
|
253
|
-
{
|
254
|
-
private final long seconds;
|
255
|
-
private final long nsecFraction;
|
256
|
-
private final String zone; // +0900, JST, UTC
|
257
|
-
|
258
|
-
public LocalTime(long seconds, long nsecFraction, String zone)
|
259
|
-
{
|
260
|
-
this.seconds = seconds;
|
261
|
-
this.nsecFraction = nsecFraction;
|
262
|
-
this.zone = zone;
|
263
|
-
}
|
264
|
-
|
265
|
-
public long getSeconds()
|
266
|
-
{
|
267
|
-
return seconds;
|
268
|
-
}
|
269
|
-
|
270
|
-
public long getNsecFraction()
|
271
|
-
{
|
272
|
-
return nsecFraction;
|
273
|
-
}
|
274
|
-
|
275
|
-
public String getZone()
|
276
|
-
{
|
277
|
-
return zone;
|
278
|
-
}
|
279
|
-
}
|
280
|
-
|
281
|
-
// TODO: Remove this once deprecated constructors are finally removed.
|
282
|
-
private static boolean deprecationWarned = false;
|
283
|
-
}
|