embulk 0.7.0-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 +7 -0
- data/.gitignore +15 -0
- data/.ruby-version +1 -0
- data/.travis.yml +18 -0
- data/COPYING +14 -0
- data/Gemfile +2 -0
- data/Gemfile.lock +31 -0
- data/README.md +206 -0
- data/Rakefile +26 -0
- data/appveyor.yml +20 -0
- data/bin/embulk +106 -0
- data/build.gradle +338 -0
- data/embulk-cli/build.gradle +6 -0
- data/embulk-cli/src/main/java/org/embulk/cli/Main.java +22 -0
- data/embulk-cli/src/main/sh/selfrun.sh +158 -0
- data/embulk-cli/src/test/java/org/embulk/cli/DummyMain.java +23 -0
- data/embulk-cli/src/test/java/org/embulk/cli/SelfrunTest.java +281 -0
- data/embulk-core/build.gradle +59 -0
- data/embulk-core/src/main/java/org/embulk/EmbulkEmbed.java +315 -0
- data/embulk-core/src/main/java/org/embulk/EmbulkService.java +76 -0
- data/embulk-core/src/main/java/org/embulk/command/PreviewPrinter.java +84 -0
- data/embulk-core/src/main/java/org/embulk/command/TablePreviewPrinter.java +107 -0
- data/embulk-core/src/main/java/org/embulk/command/VerticalPreviewPrinter.java +47 -0
- data/embulk-core/src/main/java/org/embulk/config/CommitReport.java +33 -0
- data/embulk-core/src/main/java/org/embulk/config/Config.java +15 -0
- data/embulk-core/src/main/java/org/embulk/config/ConfigDefault.java +15 -0
- data/embulk-core/src/main/java/org/embulk/config/ConfigDiff.java +29 -0
- data/embulk-core/src/main/java/org/embulk/config/ConfigException.java +20 -0
- data/embulk-core/src/main/java/org/embulk/config/ConfigInject.java +14 -0
- data/embulk-core/src/main/java/org/embulk/config/ConfigLoader.java +141 -0
- data/embulk-core/src/main/java/org/embulk/config/ConfigSource.java +31 -0
- data/embulk-core/src/main/java/org/embulk/config/DataSource.java +39 -0
- data/embulk-core/src/main/java/org/embulk/config/DataSourceImpl.java +231 -0
- data/embulk-core/src/main/java/org/embulk/config/DataSourceSerDe.java +84 -0
- data/embulk-core/src/main/java/org/embulk/config/GenericTypeReference.java +20 -0
- data/embulk-core/src/main/java/org/embulk/config/ModelManager.java +123 -0
- data/embulk-core/src/main/java/org/embulk/config/Task.java +10 -0
- data/embulk-core/src/main/java/org/embulk/config/TaskInvocationHandler.java +180 -0
- data/embulk-core/src/main/java/org/embulk/config/TaskReport.java +29 -0
- data/embulk-core/src/main/java/org/embulk/config/TaskSerDe.java +345 -0
- data/embulk-core/src/main/java/org/embulk/config/TaskSource.java +31 -0
- data/embulk-core/src/main/java/org/embulk/config/TaskValidationException.java +38 -0
- data/embulk-core/src/main/java/org/embulk/config/TaskValidator.java +24 -0
- data/embulk-core/src/main/java/org/embulk/exec/BulkLoader.java +652 -0
- data/embulk-core/src/main/java/org/embulk/exec/ExecModule.java +52 -0
- data/embulk-core/src/main/java/org/embulk/exec/ExecutionInterruptedException.java +10 -0
- data/embulk-core/src/main/java/org/embulk/exec/ExecutionResult.java +26 -0
- data/embulk-core/src/main/java/org/embulk/exec/ExtensionServiceLoaderModule.java +43 -0
- data/embulk-core/src/main/java/org/embulk/exec/ForGuess.java +16 -0
- data/embulk-core/src/main/java/org/embulk/exec/ForSystemConfig.java +16 -0
- data/embulk-core/src/main/java/org/embulk/exec/GuessExecutor.java +373 -0
- data/embulk-core/src/main/java/org/embulk/exec/LocalExecutorPlugin.java +129 -0
- data/embulk-core/src/main/java/org/embulk/exec/LocalThreadExecutor.java +34 -0
- data/embulk-core/src/main/java/org/embulk/exec/LoggerProvider.java +60 -0
- data/embulk-core/src/main/java/org/embulk/exec/NoSampleException.java +10 -0
- data/embulk-core/src/main/java/org/embulk/exec/PartialExecutionException.java +18 -0
- data/embulk-core/src/main/java/org/embulk/exec/PooledBufferAllocator.java +77 -0
- data/embulk-core/src/main/java/org/embulk/exec/PreviewExecutor.java +183 -0
- data/embulk-core/src/main/java/org/embulk/exec/PreviewResult.java +27 -0
- data/embulk-core/src/main/java/org/embulk/exec/PreviewedNoticeError.java +17 -0
- data/embulk-core/src/main/java/org/embulk/exec/ResumeState.java +100 -0
- data/embulk-core/src/main/java/org/embulk/exec/SamplingParserPlugin.java +136 -0
- data/embulk-core/src/main/java/org/embulk/exec/SetCurrentThreadName.java +19 -0
- data/embulk-core/src/main/java/org/embulk/exec/SystemConfigModule.java +24 -0
- data/embulk-core/src/main/java/org/embulk/exec/TempFileAllocator.java +35 -0
- data/embulk-core/src/main/java/org/embulk/guice/Bootstrap.java +157 -0
- data/embulk-core/src/main/java/org/embulk/guice/CloseableInjector.java +22 -0
- data/embulk-core/src/main/java/org/embulk/guice/InjectorProxy.java +145 -0
- data/embulk-core/src/main/java/org/embulk/guice/LifeCycleInjector.java +26 -0
- data/embulk-core/src/main/java/org/embulk/guice/LifeCycleInjectorProxy.java +61 -0
- data/embulk-core/src/main/java/org/embulk/guice/LifeCycleManager.java +187 -0
- data/embulk-core/src/main/java/org/embulk/guice/LifeCycleMethods.java +89 -0
- data/embulk-core/src/main/java/org/embulk/guice/LifeCycleMethodsMap.java +38 -0
- data/embulk-core/src/main/java/org/embulk/guice/LifeCycleModule.java +97 -0
- data/embulk-core/src/main/java/org/embulk/jruby/JRubyPluginSource.java +72 -0
- data/embulk-core/src/main/java/org/embulk/jruby/JRubyScriptingModule.java +119 -0
- data/embulk-core/src/main/java/org/embulk/plugin/BuiltinPluginSourceModule.java +17 -0
- data/embulk-core/src/main/java/org/embulk/plugin/InjectedPluginSource.java +96 -0
- data/embulk-core/src/main/java/org/embulk/plugin/PluginClassLoader.java +168 -0
- data/embulk-core/src/main/java/org/embulk/plugin/PluginClassLoaderFactory.java +9 -0
- data/embulk-core/src/main/java/org/embulk/plugin/PluginClassLoaderModule.java +71 -0
- data/embulk-core/src/main/java/org/embulk/plugin/PluginManager.java +78 -0
- data/embulk-core/src/main/java/org/embulk/plugin/PluginSource.java +6 -0
- data/embulk-core/src/main/java/org/embulk/plugin/PluginSourceNotMatchException.java +19 -0
- data/embulk-core/src/main/java/org/embulk/plugin/PluginType.java +47 -0
- data/embulk-core/src/main/java/org/embulk/plugin/compat/InputPluginWrapper.java +102 -0
- data/embulk-core/src/main/java/org/embulk/plugin/compat/PluginWrappers.java +30 -0
- data/embulk-core/src/main/java/org/embulk/plugin/compat/TransactionalFileInputWrapper.java +96 -0
- data/embulk-core/src/main/java/org/embulk/plugin/compat/TransactionalFileOutputWrapper.java +102 -0
- data/embulk-core/src/main/java/org/embulk/plugin/compat/TransactionalPageOutputWrapper.java +95 -0
- data/embulk-core/src/main/java/org/embulk/spi/Buffer.java +148 -0
- data/embulk-core/src/main/java/org/embulk/spi/BufferAllocator.java +8 -0
- data/embulk-core/src/main/java/org/embulk/spi/Column.java +92 -0
- data/embulk-core/src/main/java/org/embulk/spi/ColumnConfig.java +112 -0
- data/embulk-core/src/main/java/org/embulk/spi/ColumnVisitor.java +14 -0
- data/embulk-core/src/main/java/org/embulk/spi/DecoderPlugin.java +16 -0
- data/embulk-core/src/main/java/org/embulk/spi/EncoderPlugin.java +16 -0
- data/embulk-core/src/main/java/org/embulk/spi/Exec.java +113 -0
- data/embulk-core/src/main/java/org/embulk/spi/ExecAction.java +6 -0
- data/embulk-core/src/main/java/org/embulk/spi/ExecSession.java +217 -0
- data/embulk-core/src/main/java/org/embulk/spi/ExecutorPlugin.java +19 -0
- data/embulk-core/src/main/java/org/embulk/spi/Extension.java +44 -0
- data/embulk-core/src/main/java/org/embulk/spi/FileInput.java +11 -0
- data/embulk-core/src/main/java/org/embulk/spi/FileInputPlugin.java +30 -0
- data/embulk-core/src/main/java/org/embulk/spi/FileInputRunner.java +162 -0
- data/embulk-core/src/main/java/org/embulk/spi/FileOutput.java +13 -0
- data/embulk-core/src/main/java/org/embulk/spi/FileOutputPlugin.java +28 -0
- data/embulk-core/src/main/java/org/embulk/spi/FileOutputRunner.java +202 -0
- data/embulk-core/src/main/java/org/embulk/spi/FilterPlugin.java +18 -0
- data/embulk-core/src/main/java/org/embulk/spi/FormatterPlugin.java +18 -0
- data/embulk-core/src/main/java/org/embulk/spi/GuessPlugin.java +9 -0
- data/embulk-core/src/main/java/org/embulk/spi/InputPlugin.java +33 -0
- data/embulk-core/src/main/java/org/embulk/spi/OutputPlugin.java +29 -0
- data/embulk-core/src/main/java/org/embulk/spi/Page.java +51 -0
- data/embulk-core/src/main/java/org/embulk/spi/PageBuilder.java +338 -0
- data/embulk-core/src/main/java/org/embulk/spi/PageFormat.java +47 -0
- data/embulk-core/src/main/java/org/embulk/spi/PageOutput.java +11 -0
- data/embulk-core/src/main/java/org/embulk/spi/PageReader.java +226 -0
- data/embulk-core/src/main/java/org/embulk/spi/ParserPlugin.java +17 -0
- data/embulk-core/src/main/java/org/embulk/spi/ProcessState.java +10 -0
- data/embulk-core/src/main/java/org/embulk/spi/ProcessTask.java +117 -0
- data/embulk-core/src/main/java/org/embulk/spi/Schema.java +134 -0
- data/embulk-core/src/main/java/org/embulk/spi/SchemaConfig.java +93 -0
- data/embulk-core/src/main/java/org/embulk/spi/SchemaConfigException.java +22 -0
- data/embulk-core/src/main/java/org/embulk/spi/TaskState.java +81 -0
- data/embulk-core/src/main/java/org/embulk/spi/TempFileException.java +19 -0
- data/embulk-core/src/main/java/org/embulk/spi/TempFileSpace.java +87 -0
- data/embulk-core/src/main/java/org/embulk/spi/Transactional.java +10 -0
- data/embulk-core/src/main/java/org/embulk/spi/TransactionalFileInput.java +17 -0
- data/embulk-core/src/main/java/org/embulk/spi/TransactionalFileOutput.java +19 -0
- data/embulk-core/src/main/java/org/embulk/spi/TransactionalPageOutput.java +17 -0
- data/embulk-core/src/main/java/org/embulk/spi/time/DateTimeZoneSerDe.java +55 -0
- data/embulk-core/src/main/java/org/embulk/spi/time/JRubyTimeParserHelper.java +8 -0
- data/embulk-core/src/main/java/org/embulk/spi/time/JRubyTimeParserHelperFactory.java +6 -0
- data/embulk-core/src/main/java/org/embulk/spi/time/Timestamp.java +159 -0
- data/embulk-core/src/main/java/org/embulk/spi/time/TimestampFormat.java +100 -0
- data/embulk-core/src/main/java/org/embulk/spi/time/TimestampFormatter.java +97 -0
- data/embulk-core/src/main/java/org/embulk/spi/time/TimestampParseException.java +10 -0
- data/embulk-core/src/main/java/org/embulk/spi/time/TimestampParser.java +104 -0
- data/embulk-core/src/main/java/org/embulk/spi/time/TimestampSerDe.java +49 -0
- data/embulk-core/src/main/java/org/embulk/spi/type/AbstractType.java +58 -0
- data/embulk-core/src/main/java/org/embulk/spi/type/BooleanType.java +12 -0
- data/embulk-core/src/main/java/org/embulk/spi/type/DoubleType.java +12 -0
- data/embulk-core/src/main/java/org/embulk/spi/type/LongType.java +12 -0
- data/embulk-core/src/main/java/org/embulk/spi/type/StringType.java +12 -0
- data/embulk-core/src/main/java/org/embulk/spi/type/TimestampType.java +41 -0
- data/embulk-core/src/main/java/org/embulk/spi/type/Type.java +15 -0
- data/embulk-core/src/main/java/org/embulk/spi/type/TypeDeserializer.java +44 -0
- data/embulk-core/src/main/java/org/embulk/spi/type/Types.java +14 -0
- data/embulk-core/src/main/java/org/embulk/spi/unit/ByteSize.java +156 -0
- data/embulk-core/src/main/java/org/embulk/spi/unit/LocalFile.java +106 -0
- data/embulk-core/src/main/java/org/embulk/spi/unit/LocalFileSerDe.java +113 -0
- data/embulk-core/src/main/java/org/embulk/spi/unit/ToString.java +54 -0
- data/embulk-core/src/main/java/org/embulk/spi/unit/ToStringMap.java +34 -0
- data/embulk-core/src/main/java/org/embulk/spi/util/CharsetSerDe.java +55 -0
- data/embulk-core/src/main/java/org/embulk/spi/util/Decoders.java +81 -0
- data/embulk-core/src/main/java/org/embulk/spi/util/DynamicColumnNotFoundException.java +10 -0
- data/embulk-core/src/main/java/org/embulk/spi/util/DynamicColumnSetter.java +18 -0
- data/embulk-core/src/main/java/org/embulk/spi/util/DynamicColumnSetterFactory.java +94 -0
- data/embulk-core/src/main/java/org/embulk/spi/util/DynamicPageBuilder.java +161 -0
- data/embulk-core/src/main/java/org/embulk/spi/util/Encoders.java +81 -0
- data/embulk-core/src/main/java/org/embulk/spi/util/Executors.java +95 -0
- data/embulk-core/src/main/java/org/embulk/spi/util/FileInputInputStream.java +111 -0
- data/embulk-core/src/main/java/org/embulk/spi/util/FileOutputOutputStream.java +119 -0
- data/embulk-core/src/main/java/org/embulk/spi/util/Filters.java +100 -0
- data/embulk-core/src/main/java/org/embulk/spi/util/InputStreamFileInput.java +190 -0
- data/embulk-core/src/main/java/org/embulk/spi/util/InputStreamTransactionalFileInput.java +25 -0
- data/embulk-core/src/main/java/org/embulk/spi/util/Inputs.java +65 -0
- data/embulk-core/src/main/java/org/embulk/spi/util/LineDecoder.java +118 -0
- data/embulk-core/src/main/java/org/embulk/spi/util/LineEncoder.java +123 -0
- data/embulk-core/src/main/java/org/embulk/spi/util/ListFileInput.java +52 -0
- data/embulk-core/src/main/java/org/embulk/spi/util/Newline.java +38 -0
- data/embulk-core/src/main/java/org/embulk/spi/util/OutputStreamFileOutput.java +88 -0
- data/embulk-core/src/main/java/org/embulk/spi/util/PagePrinter.java +102 -0
- data/embulk-core/src/main/java/org/embulk/spi/util/Pages.java +139 -0
- data/embulk-core/src/main/java/org/embulk/spi/util/ResumableInputStream.java +128 -0
- data/embulk-core/src/main/java/org/embulk/spi/util/RetryExecutor.java +130 -0
- data/embulk-core/src/main/java/org/embulk/spi/util/Timestamps.java +53 -0
- data/embulk-core/src/main/java/org/embulk/spi/util/dynamic/AbstractDynamicColumnSetter.java +79 -0
- data/embulk-core/src/main/java/org/embulk/spi/util/dynamic/BooleanColumnSetter.java +64 -0
- data/embulk-core/src/main/java/org/embulk/spi/util/dynamic/DefaultValueSetter.java +18 -0
- data/embulk-core/src/main/java/org/embulk/spi/util/dynamic/DoubleColumnSetter.java +61 -0
- data/embulk-core/src/main/java/org/embulk/spi/util/dynamic/LongColumnSetter.java +69 -0
- data/embulk-core/src/main/java/org/embulk/spi/util/dynamic/NullDefaultValueSetter.java +34 -0
- data/embulk-core/src/main/java/org/embulk/spi/util/dynamic/SkipColumnSetter.java +52 -0
- data/embulk-core/src/main/java/org/embulk/spi/util/dynamic/StringColumnSetter.java +56 -0
- data/embulk-core/src/main/java/org/embulk/spi/util/dynamic/TimestampColumnSetter.java +64 -0
- data/embulk-core/src/main/resources/embulk/logback-color.xml +72 -0
- data/embulk-core/src/main/resources/embulk/logback-console.xml +14 -0
- data/embulk-core/src/main/resources/embulk/logback-file.xml +25 -0
- data/embulk-core/src/main/resources/embulk/parent_first_packages.properties +70 -0
- data/embulk-core/src/main/resources/embulk/parent_first_resources.properties +28 -0
- data/embulk-core/src/test/java/org/embulk/EmbulkTestRuntime.java +114 -0
- data/embulk-core/src/test/java/org/embulk/GuiceBinder.java +72 -0
- data/embulk-core/src/test/java/org/embulk/RandomManager.java +53 -0
- data/embulk-core/src/test/java/org/embulk/TestPluginSourceModule.java +23 -0
- data/embulk-core/src/test/java/org/embulk/TestUtilityModule.java +17 -0
- data/embulk-core/src/test/java/org/embulk/config/TestConfigLoader.java +66 -0
- data/embulk-core/src/test/java/org/embulk/config/TestConfigSource.java +114 -0
- data/embulk-core/src/test/java/org/embulk/config/TestTaskSource.java +70 -0
- data/embulk-core/src/test/java/org/embulk/plugin/MockPluginSource.java +58 -0
- data/embulk-core/src/test/java/org/embulk/plugin/TestPluginType.java +18 -0
- data/embulk-core/src/test/java/org/embulk/spi/MockFileOutput.java +63 -0
- data/embulk-core/src/test/java/org/embulk/spi/MockFormatterPlugin.java +101 -0
- data/embulk-core/src/test/java/org/embulk/spi/MockParserPlugin.java +73 -0
- data/embulk-core/src/test/java/org/embulk/spi/PageTestUtils.java +57 -0
- data/embulk-core/src/test/java/org/embulk/spi/TestBuffer.java +24 -0
- data/embulk-core/src/test/java/org/embulk/spi/TestFileInputInputStream.java +89 -0
- data/embulk-core/src/test/java/org/embulk/spi/TestFileInputRunner.java +196 -0
- data/embulk-core/src/test/java/org/embulk/spi/TestFileOutputRunner.java +207 -0
- data/embulk-core/src/test/java/org/embulk/spi/TestInputStreamFileInput.java +188 -0
- data/embulk-core/src/test/java/org/embulk/spi/TestPageBuilderReader.java +319 -0
- data/embulk-core/src/test/java/org/embulk/spi/time/TestTimestamp.java +116 -0
- data/embulk-core/src/test/java/org/embulk/spi/time/TestTimestampFormatterParser.java +63 -0
- data/embulk-core/src/test/java/org/embulk/spi/time/TestTimestampFormatterParserDeprecated.java +67 -0
- data/embulk-core/src/test/java/org/embulk/spi/type/TestTypeSerDe.java +45 -0
- data/embulk-core/src/test/java/org/embulk/spi/unit/TestByteSize.java +79 -0
- data/embulk-core/src/test/java/org/embulk/spi/util/TestLineDecoder.java +132 -0
- data/embulk-core/src/test/java/org/embulk/spi/util/TestLineEncoder.java +123 -0
- data/embulk-docs/Makefile +178 -0
- data/embulk-docs/build.gradle +32 -0
- data/embulk-docs/make.bat +243 -0
- data/embulk-docs/push-gh-pages.sh +49 -0
- data/embulk-docs/src/_static/embulk-architecture.png +0 -0
- data/embulk-docs/src/_static/embulk-logo.png +0 -0
- data/embulk-docs/src/_static/embulk-logo.svg +133 -0
- data/embulk-docs/src/built-in.rst +440 -0
- data/embulk-docs/src/conf.py +260 -0
- data/embulk-docs/src/customization.rst +184 -0
- data/embulk-docs/src/index.rst +84 -0
- data/embulk-docs/src/recipe.rst +8 -0
- data/embulk-docs/src/recipe/scheduled-csv-load-to-elasticsearch-kibana4.rst +153 -0
- data/embulk-docs/src/release.rst +57 -0
- data/embulk-docs/src/release/release-0.1.0.rst +8 -0
- data/embulk-docs/src/release/release-0.2.0.rst +16 -0
- data/embulk-docs/src/release/release-0.2.1.rst +19 -0
- data/embulk-docs/src/release/release-0.3.0.rst +34 -0
- data/embulk-docs/src/release/release-0.3.1.rst +11 -0
- data/embulk-docs/src/release/release-0.3.2.rst +15 -0
- data/embulk-docs/src/release/release-0.4.0.rst +74 -0
- data/embulk-docs/src/release/release-0.4.1.rst +18 -0
- data/embulk-docs/src/release/release-0.4.10.rst +17 -0
- data/embulk-docs/src/release/release-0.4.2.rst +18 -0
- data/embulk-docs/src/release/release-0.4.3.rst +34 -0
- data/embulk-docs/src/release/release-0.4.4.rst +39 -0
- data/embulk-docs/src/release/release-0.4.5.rst +24 -0
- data/embulk-docs/src/release/release-0.4.6.rst +30 -0
- data/embulk-docs/src/release/release-0.4.7.rst +16 -0
- data/embulk-docs/src/release/release-0.4.8.rst +15 -0
- data/embulk-docs/src/release/release-0.4.9.rst +23 -0
- data/embulk-docs/src/release/release-0.5.0.rst +89 -0
- data/embulk-docs/src/release/release-0.5.1.rst +13 -0
- data/embulk-docs/src/release/release-0.5.2.rst +30 -0
- data/embulk-docs/src/release/release-0.5.3.rst +22 -0
- data/embulk-docs/src/release/release-0.5.4.rst +24 -0
- data/embulk-docs/src/release/release-0.5.5.rst +18 -0
- data/embulk-docs/src/release/release-0.6.0.rst +34 -0
- data/embulk-docs/src/release/release-0.6.1.rst +11 -0
- data/embulk-docs/src/release/release-0.6.10.rst +15 -0
- data/embulk-docs/src/release/release-0.6.11.rst +19 -0
- data/embulk-docs/src/release/release-0.6.12.rst +31 -0
- data/embulk-docs/src/release/release-0.6.13.rst +23 -0
- data/embulk-docs/src/release/release-0.6.14.rst +47 -0
- data/embulk-docs/src/release/release-0.6.15.rst +26 -0
- data/embulk-docs/src/release/release-0.6.16.rst +26 -0
- data/embulk-docs/src/release/release-0.6.17.rst +39 -0
- data/embulk-docs/src/release/release-0.6.18.rst +14 -0
- data/embulk-docs/src/release/release-0.6.19.rst +18 -0
- data/embulk-docs/src/release/release-0.6.2.rst +17 -0
- data/embulk-docs/src/release/release-0.6.20.rst +19 -0
- data/embulk-docs/src/release/release-0.6.21.rst +20 -0
- data/embulk-docs/src/release/release-0.6.22.rst +26 -0
- data/embulk-docs/src/release/release-0.6.23.rst +17 -0
- data/embulk-docs/src/release/release-0.6.24.rst +13 -0
- data/embulk-docs/src/release/release-0.6.25.rst +12 -0
- data/embulk-docs/src/release/release-0.6.3.rst +23 -0
- data/embulk-docs/src/release/release-0.6.4.rst +13 -0
- data/embulk-docs/src/release/release-0.6.5.rst +17 -0
- data/embulk-docs/src/release/release-0.6.6.rst +17 -0
- data/embulk-docs/src/release/release-0.6.7.rst +17 -0
- data/embulk-docs/src/release/release-0.6.8.rst +24 -0
- data/embulk-docs/src/release/release-0.6.9.rst +24 -0
- data/embulk-docs/src/release/release-0.7.0.rst +96 -0
- data/embulk-standards/build.gradle +5 -0
- data/embulk-standards/src/main/java/org/embulk/standards/CsvFormatterPlugin.java +284 -0
- data/embulk-standards/src/main/java/org/embulk/standards/CsvParserPlugin.java +379 -0
- data/embulk-standards/src/main/java/org/embulk/standards/CsvTokenizer.java +411 -0
- data/embulk-standards/src/main/java/org/embulk/standards/GzipFileDecoderPlugin.java +55 -0
- data/embulk-standards/src/main/java/org/embulk/standards/GzipFileEncoderPlugin.java +71 -0
- data/embulk-standards/src/main/java/org/embulk/standards/LocalFileInputPlugin.java +203 -0
- data/embulk-standards/src/main/java/org/embulk/standards/LocalFileOutputPlugin.java +148 -0
- data/embulk-standards/src/main/java/org/embulk/standards/NullOutputPlugin.java +59 -0
- data/embulk-standards/src/main/java/org/embulk/standards/RenameFilterPlugin.java +56 -0
- data/embulk-standards/src/main/java/org/embulk/standards/StandardPluginExtension.java +16 -0
- data/embulk-standards/src/main/java/org/embulk/standards/StandardPluginModule.java +53 -0
- data/embulk-standards/src/main/java/org/embulk/standards/StdoutOutputPlugin.java +85 -0
- data/embulk-standards/src/main/resources/META-INF/services/org.embulk.spi.Extension +1 -0
- data/embulk-standards/src/test/java/org/embulk/standards/TestCsvFormatterPlugin.java +312 -0
- data/embulk-standards/src/test/java/org/embulk/standards/TestCsvParserPlugin.java +75 -0
- data/embulk-standards/src/test/java/org/embulk/standards/TestCsvTokenizer.java +360 -0
- data/embulk-standards/src/test/java/org/embulk/standards/TestRenameFilterPlugin.java +88 -0
- data/embulk.gemspec +39 -0
- data/gradle/wrapper/gradle-wrapper.jar +0 -0
- data/gradle/wrapper/gradle-wrapper.properties +6 -0
- data/gradlew +164 -0
- data/gradlew.bat +90 -0
- data/lib/embulk.rb +72 -0
- data/lib/embulk/buffer.rb +22 -0
- data/lib/embulk/column.rb +70 -0
- data/lib/embulk/command/embulk_bundle.rb +56 -0
- data/lib/embulk/command/embulk_example.rb +32 -0
- data/lib/embulk/command/embulk_generate_bin.rb +62 -0
- data/lib/embulk/command/embulk_main.rb +2 -0
- data/lib/embulk/command/embulk_migrate_plugin.rb +170 -0
- data/lib/embulk/command/embulk_new_plugin.rb +124 -0
- data/lib/embulk/command/embulk_run.rb +470 -0
- data/lib/embulk/command/embulk_selfupdate.rb +84 -0
- data/lib/embulk/data/bundle/.bundle/config +3 -0
- data/lib/embulk/data/bundle/.ruby-version +1 -0
- data/lib/embulk/data/bundle/Gemfile +26 -0
- data/lib/embulk/data/bundle/embulk/filter/example.rb +42 -0
- data/lib/embulk/data/bundle/embulk/input/example.rb +54 -0
- data/lib/embulk/data/bundle/embulk/output/example.rb +58 -0
- data/lib/embulk/data/new/LICENSE.txt +21 -0
- data/lib/embulk/data/new/README.md.erb +111 -0
- data/lib/embulk/data/new/gitignore.erb +13 -0
- data/lib/embulk/data/new/java/build.gradle.erb +73 -0
- data/lib/embulk/data/new/java/decoder.java.erb +84 -0
- data/lib/embulk/data/new/java/encoder.java.erb +86 -0
- data/lib/embulk/data/new/java/file_input.java.erb +143 -0
- data/lib/embulk/data/new/java/file_output.java.erb +93 -0
- data/lib/embulk/data/new/java/filter.java.erb +56 -0
- data/lib/embulk/data/new/java/formatter.java.erb +54 -0
- data/lib/embulk/data/new/java/gradle/wrapper/gradle-wrapper.jar +0 -0
- data/lib/embulk/data/new/java/gradle/wrapper/gradle-wrapper.properties +6 -0
- data/lib/embulk/data/new/java/gradlew +164 -0
- data/lib/embulk/data/new/java/gradlew.bat +90 -0
- data/lib/embulk/data/new/java/input.java.erb +87 -0
- data/lib/embulk/data/new/java/output.java.erb +77 -0
- data/lib/embulk/data/new/java/parser.java.erb +60 -0
- data/lib/embulk/data/new/java/plugin_loader.rb.erb +3 -0
- data/lib/embulk/data/new/java/test.java.erb +5 -0
- data/lib/embulk/data/new/ruby/.ruby-version +1 -0
- data/lib/embulk/data/new/ruby/Gemfile +2 -0
- data/lib/embulk/data/new/ruby/Rakefile +3 -0
- data/lib/embulk/data/new/ruby/decoder_guess.rb.erb +25 -0
- data/lib/embulk/data/new/ruby/filter.rb.erb +41 -0
- data/lib/embulk/data/new/ruby/formatter.rb.erb +49 -0
- data/lib/embulk/data/new/ruby/gemspec.erb +20 -0
- data/lib/embulk/data/new/ruby/input.rb.erb +59 -0
- data/lib/embulk/data/new/ruby/output.rb.erb +61 -0
- data/lib/embulk/data/new/ruby/parser.rb.erb +44 -0
- data/lib/embulk/data/new/ruby/parser_guess.rb.erb +65 -0
- data/lib/embulk/data/package_data.rb +50 -0
- data/lib/embulk/data_source.rb +220 -0
- data/lib/embulk/decoder_plugin.rb +27 -0
- data/lib/embulk/encoder_plugin.rb +27 -0
- data/lib/embulk/error.rb +8 -0
- data/lib/embulk/executor_plugin.rb +23 -0
- data/lib/embulk/file_input.rb +87 -0
- data/lib/embulk/file_input_plugin.rb +27 -0
- data/lib/embulk/file_output.rb +56 -0
- data/lib/embulk/file_output_plugin.rb +27 -0
- data/lib/embulk/filter_plugin.rb +105 -0
- data/lib/embulk/formatter_plugin.rb +105 -0
- data/lib/embulk/guess/charset.rb +44 -0
- data/lib/embulk/guess/csv.rb +327 -0
- data/lib/embulk/guess/gzip.rb +18 -0
- data/lib/embulk/guess/newline.rb +22 -0
- data/lib/embulk/guess/schema_guess.rb +118 -0
- data/lib/embulk/guess/time_format_guess.rb +394 -0
- data/lib/embulk/guess_plugin.rb +129 -0
- data/lib/embulk/input_plugin.rb +121 -0
- data/lib/embulk/java/bootstrap.rb +24 -0
- data/lib/embulk/java/imports.rb +69 -0
- data/lib/embulk/java/time_helper.rb +79 -0
- data/lib/embulk/java_plugin.rb +90 -0
- data/lib/embulk/logger.rb +154 -0
- data/lib/embulk/output_plugin.rb +150 -0
- data/lib/embulk/page.rb +30 -0
- data/lib/embulk/page_builder.rb +76 -0
- data/lib/embulk/parser_plugin.rb +78 -0
- data/lib/embulk/plugin.rb +239 -0
- data/lib/embulk/plugin_registry.rb +96 -0
- data/lib/embulk/runner.rb +184 -0
- data/lib/embulk/schema.rb +103 -0
- data/lib/embulk/version.rb +3 -0
- data/settings.gradle +6 -0
- data/test/guess/test_schema_guess.rb +11 -0
- data/test/guess/test_time_format_guess.rb +133 -0
- data/test/helper.rb +21 -0
- data/test/run-test.rb +14 -0
- metadata +566 -0
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
package org.embulk.spi;
|
|
2
|
+
|
|
3
|
+
import java.util.Objects;
|
|
4
|
+
import com.fasterxml.jackson.annotation.JsonCreator;
|
|
5
|
+
import com.fasterxml.jackson.annotation.JsonValue;
|
|
6
|
+
import org.embulk.config.ConfigSource;
|
|
7
|
+
import org.embulk.spi.type.Type;
|
|
8
|
+
import org.embulk.spi.type.TimestampType;
|
|
9
|
+
|
|
10
|
+
public class ColumnConfig
|
|
11
|
+
{
|
|
12
|
+
private final String name;
|
|
13
|
+
private final Type type;
|
|
14
|
+
private final ConfigSource option;
|
|
15
|
+
|
|
16
|
+
@Deprecated
|
|
17
|
+
public ColumnConfig(String name, Type type, String format)
|
|
18
|
+
{
|
|
19
|
+
this.name = name;
|
|
20
|
+
this.type = type;
|
|
21
|
+
this.option = Exec.newConfigSource(); // only for backward compatibility
|
|
22
|
+
if (format != null) {
|
|
23
|
+
option.set("format", format);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
public ColumnConfig(String name, Type type, ConfigSource option)
|
|
28
|
+
{
|
|
29
|
+
this.name = name;
|
|
30
|
+
this.type = type;
|
|
31
|
+
this.option = option;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
@JsonCreator
|
|
35
|
+
public ColumnConfig(ConfigSource conf)
|
|
36
|
+
{
|
|
37
|
+
this.name = conf.get(String.class, "name");
|
|
38
|
+
this.type = conf.get(Type.class, "type");
|
|
39
|
+
this.option = conf.deepCopy();
|
|
40
|
+
option.remove("name");
|
|
41
|
+
option.remove("type");
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
public String getName()
|
|
45
|
+
{
|
|
46
|
+
return name;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
public Type getType()
|
|
50
|
+
{
|
|
51
|
+
return type;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
public ConfigSource getOption()
|
|
55
|
+
{
|
|
56
|
+
return option;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
@JsonValue
|
|
60
|
+
public ConfigSource getConfigSource()
|
|
61
|
+
{
|
|
62
|
+
ConfigSource conf = option.deepCopy();
|
|
63
|
+
conf.set("name", name);
|
|
64
|
+
conf.set("type", type);
|
|
65
|
+
return conf;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
@Deprecated
|
|
69
|
+
public String getFormat()
|
|
70
|
+
{
|
|
71
|
+
return option.get(String.class, "format", null);
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
public Column toColumn(int index)
|
|
75
|
+
{
|
|
76
|
+
String format = option.get(String.class, "format", null);
|
|
77
|
+
if (type instanceof TimestampType && format != null) {
|
|
78
|
+
// this behavior is only for backward compatibility. TimestampType#getFormat is @Deprecated
|
|
79
|
+
return new Column(index, name, ((TimestampType) type).withFormat(format));
|
|
80
|
+
} else {
|
|
81
|
+
return new Column(index, name, type);
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
@Override
|
|
86
|
+
public boolean equals(Object obj)
|
|
87
|
+
{
|
|
88
|
+
if (this == obj) {
|
|
89
|
+
return true;
|
|
90
|
+
}
|
|
91
|
+
if (!(obj instanceof ColumnConfig)) {
|
|
92
|
+
return false;
|
|
93
|
+
}
|
|
94
|
+
ColumnConfig other = (ColumnConfig) obj;
|
|
95
|
+
return Objects.equals(this.name, other.name) &&
|
|
96
|
+
Objects.equals(type, other.type) &&
|
|
97
|
+
Objects.equals(option, other.option);
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
@Override
|
|
101
|
+
public int hashCode()
|
|
102
|
+
{
|
|
103
|
+
return Objects.hash(name, type);
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
@Override
|
|
107
|
+
public String toString()
|
|
108
|
+
{
|
|
109
|
+
return String.format("ColumnConfig[%s, %s]",
|
|
110
|
+
getName(), getType());
|
|
111
|
+
}
|
|
112
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
package org.embulk.spi;
|
|
2
|
+
|
|
3
|
+
public interface ColumnVisitor
|
|
4
|
+
{
|
|
5
|
+
void booleanColumn(Column column);
|
|
6
|
+
|
|
7
|
+
void longColumn(Column column);
|
|
8
|
+
|
|
9
|
+
void doubleColumn(Column column);
|
|
10
|
+
|
|
11
|
+
void stringColumn(Column column);
|
|
12
|
+
|
|
13
|
+
void timestampColumn(Column column);
|
|
14
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
package org.embulk.spi;
|
|
2
|
+
|
|
3
|
+
import org.embulk.config.TaskSource;
|
|
4
|
+
import org.embulk.config.ConfigSource;
|
|
5
|
+
|
|
6
|
+
public interface DecoderPlugin
|
|
7
|
+
{
|
|
8
|
+
interface Control
|
|
9
|
+
{
|
|
10
|
+
void run(TaskSource taskSource);
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
void transaction(ConfigSource config, DecoderPlugin.Control control);
|
|
14
|
+
|
|
15
|
+
FileInput open(TaskSource taskSource, FileInput input);
|
|
16
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
package org.embulk.spi;
|
|
2
|
+
|
|
3
|
+
import org.embulk.config.TaskSource;
|
|
4
|
+
import org.embulk.config.ConfigSource;
|
|
5
|
+
|
|
6
|
+
public interface EncoderPlugin
|
|
7
|
+
{
|
|
8
|
+
interface Control
|
|
9
|
+
{
|
|
10
|
+
void run(TaskSource taskSource);
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
void transaction(ConfigSource config, EncoderPlugin.Control control);
|
|
14
|
+
|
|
15
|
+
FileOutput open(TaskSource taskSource, FileOutput fileOutput);
|
|
16
|
+
}
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
package org.embulk.spi;
|
|
2
|
+
|
|
3
|
+
import java.util.concurrent.ExecutionException;
|
|
4
|
+
import org.slf4j.Logger;
|
|
5
|
+
import com.google.inject.Injector;
|
|
6
|
+
import org.embulk.config.ModelManager;
|
|
7
|
+
import org.embulk.config.CommitReport; // Deprecated
|
|
8
|
+
import org.embulk.config.TaskReport;
|
|
9
|
+
import org.embulk.config.ConfigDiff;
|
|
10
|
+
import org.embulk.config.ConfigSource;
|
|
11
|
+
import org.embulk.config.TaskSource;
|
|
12
|
+
import org.embulk.plugin.PluginType;
|
|
13
|
+
import org.embulk.spi.time.Timestamp;
|
|
14
|
+
|
|
15
|
+
public class Exec
|
|
16
|
+
{
|
|
17
|
+
private static final InheritableThreadLocal<ExecSession> session = new InheritableThreadLocal<ExecSession>();
|
|
18
|
+
|
|
19
|
+
private Exec() { }
|
|
20
|
+
|
|
21
|
+
public static <T> T doWith(ExecSession session, ExecAction<T> action) throws ExecutionException
|
|
22
|
+
{
|
|
23
|
+
Exec.session.set(session);
|
|
24
|
+
try {
|
|
25
|
+
return action.run();
|
|
26
|
+
} catch (Exception ex) {
|
|
27
|
+
throw new ExecutionException(ex);
|
|
28
|
+
} finally {
|
|
29
|
+
Exec.session.set(null);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
public static ExecSession session()
|
|
34
|
+
{
|
|
35
|
+
ExecSession session = Exec.session.get();
|
|
36
|
+
if (session == null) {
|
|
37
|
+
throw new NullPointerException("Exec is used outside of Exec.doWith");
|
|
38
|
+
}
|
|
39
|
+
return session;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
public static Injector getInjector()
|
|
43
|
+
{
|
|
44
|
+
return session().getInjector();
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
public static Timestamp getTransactionTime()
|
|
48
|
+
{
|
|
49
|
+
return session().getTransactionTime();
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
public static Logger getLogger(String name)
|
|
53
|
+
{
|
|
54
|
+
return session().getLogger(name);
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
public static Logger getLogger(Class<?> name)
|
|
58
|
+
{
|
|
59
|
+
return session().getLogger(name);
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
public static BufferAllocator getBufferAllocator()
|
|
63
|
+
{
|
|
64
|
+
return session().getBufferAllocator();
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
public static ModelManager getModelManager()
|
|
68
|
+
{
|
|
69
|
+
return session().getModelManager();
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
public static <T> T newPlugin(Class<T> iface, PluginType type)
|
|
73
|
+
{
|
|
74
|
+
return session().newPlugin(iface, type);
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
public static TaskReport newTaskReport()
|
|
78
|
+
{
|
|
79
|
+
return session().newTaskReport();
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
@Deprecated
|
|
83
|
+
public static CommitReport newCommitReport()
|
|
84
|
+
{
|
|
85
|
+
return session().newCommitReport();
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
public static ConfigDiff newConfigDiff()
|
|
89
|
+
{
|
|
90
|
+
return session().newConfigDiff();
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
public static ConfigSource newConfigSource()
|
|
94
|
+
{
|
|
95
|
+
return session().newConfigSource();
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
public static TaskSource newTaskSource()
|
|
99
|
+
{
|
|
100
|
+
return session().newTaskSource();
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
// TODO this method is still beta
|
|
104
|
+
public static TempFileSpace getTempFileSpace()
|
|
105
|
+
{
|
|
106
|
+
return session().getTempFileSpace();
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
public static boolean isPreview()
|
|
110
|
+
{
|
|
111
|
+
return session().isPreview();
|
|
112
|
+
}
|
|
113
|
+
}
|
|
@@ -0,0 +1,217 @@
|
|
|
1
|
+
package org.embulk.spi;
|
|
2
|
+
|
|
3
|
+
import org.joda.time.DateTimeZone;
|
|
4
|
+
import org.slf4j.Logger;
|
|
5
|
+
import org.slf4j.ILoggerFactory;
|
|
6
|
+
import com.google.common.base.Optional;
|
|
7
|
+
import com.google.inject.Injector;
|
|
8
|
+
import org.embulk.config.Task;
|
|
9
|
+
import org.embulk.config.Config;
|
|
10
|
+
import org.embulk.config.ConfigDefault;
|
|
11
|
+
import org.embulk.config.ModelManager;
|
|
12
|
+
import org.embulk.config.CommitReport;
|
|
13
|
+
import org.embulk.config.TaskReport;
|
|
14
|
+
import org.embulk.config.ConfigDiff;
|
|
15
|
+
import org.embulk.config.ConfigSource;
|
|
16
|
+
import org.embulk.config.TaskSource;
|
|
17
|
+
import org.embulk.config.DataSourceImpl;
|
|
18
|
+
import org.embulk.exec.TempFileAllocator;
|
|
19
|
+
import org.embulk.plugin.PluginType;
|
|
20
|
+
import org.embulk.plugin.PluginManager;
|
|
21
|
+
import org.embulk.spi.time.Timestamp;
|
|
22
|
+
import org.embulk.spi.time.TimestampFormatter;
|
|
23
|
+
import org.embulk.spi.time.TimestampFormatter.FormatterTask;
|
|
24
|
+
|
|
25
|
+
public class ExecSession
|
|
26
|
+
{
|
|
27
|
+
private final Injector injector;
|
|
28
|
+
private final ILoggerFactory loggerFactory;
|
|
29
|
+
private final ModelManager modelManager;
|
|
30
|
+
private final PluginManager pluginManager;
|
|
31
|
+
private final BufferAllocator bufferAllocator;
|
|
32
|
+
|
|
33
|
+
private final Timestamp transactionTime;
|
|
34
|
+
private final TempFileSpace tempFileSpace;
|
|
35
|
+
|
|
36
|
+
private final boolean preview;
|
|
37
|
+
|
|
38
|
+
@Deprecated
|
|
39
|
+
public interface SessionTask
|
|
40
|
+
extends Task
|
|
41
|
+
{
|
|
42
|
+
@Config("transaction_time")
|
|
43
|
+
@ConfigDefault("null")
|
|
44
|
+
Optional<Timestamp> getTransactionTime();
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
public static class Builder
|
|
48
|
+
{
|
|
49
|
+
private final Injector injector;
|
|
50
|
+
private Timestamp transactionTime;
|
|
51
|
+
|
|
52
|
+
public Builder(Injector injector)
|
|
53
|
+
{
|
|
54
|
+
this.injector = injector;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
public Builder fromExecConfig(ConfigSource configSource)
|
|
58
|
+
{
|
|
59
|
+
this.transactionTime = configSource.get(Timestamp.class, "transaction_time", null);
|
|
60
|
+
return this;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
public Builder setTransactionTime(Timestamp timestamp)
|
|
64
|
+
{
|
|
65
|
+
this.transactionTime = timestamp;
|
|
66
|
+
return this;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
public ExecSession build()
|
|
70
|
+
{
|
|
71
|
+
if (transactionTime == null) {
|
|
72
|
+
transactionTime = Timestamp.ofEpochMilli(System.currentTimeMillis()); // TODO get nanoseconds for default
|
|
73
|
+
}
|
|
74
|
+
return new ExecSession(injector, transactionTime);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
public static Builder builder(Injector injector)
|
|
79
|
+
{
|
|
80
|
+
return new Builder(injector);
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
@Deprecated
|
|
84
|
+
public ExecSession(Injector injector, ConfigSource configSource)
|
|
85
|
+
{
|
|
86
|
+
this(injector,
|
|
87
|
+
configSource.loadConfig(SessionTask.class).getTransactionTime().or(
|
|
88
|
+
Timestamp.ofEpochMilli(System.currentTimeMillis())
|
|
89
|
+
)
|
|
90
|
+
); // TODO get nanoseconds for default
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
private ExecSession(Injector injector, Timestamp transactionTime)
|
|
94
|
+
{
|
|
95
|
+
this.injector = injector;
|
|
96
|
+
this.loggerFactory = injector.getInstance(ILoggerFactory.class);
|
|
97
|
+
this.modelManager = injector.getInstance(ModelManager.class);
|
|
98
|
+
this.pluginManager = injector.getInstance(PluginManager.class);
|
|
99
|
+
this.bufferAllocator = injector.getInstance(BufferAllocator.class);
|
|
100
|
+
|
|
101
|
+
this.transactionTime = transactionTime;
|
|
102
|
+
|
|
103
|
+
TempFileAllocator tempFileAllocator = injector.getInstance(TempFileAllocator.class);
|
|
104
|
+
this.tempFileSpace = tempFileAllocator.newSpace(transactionTime.toString());
|
|
105
|
+
|
|
106
|
+
this.preview = false;
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
private ExecSession(ExecSession copy, boolean preview)
|
|
110
|
+
{
|
|
111
|
+
this.injector = copy.injector;
|
|
112
|
+
this.loggerFactory = copy.loggerFactory;
|
|
113
|
+
this.modelManager = copy.modelManager;
|
|
114
|
+
this.pluginManager = copy.pluginManager;
|
|
115
|
+
this.bufferAllocator = copy.bufferAllocator;
|
|
116
|
+
|
|
117
|
+
this.transactionTime = copy.transactionTime;
|
|
118
|
+
this.tempFileSpace = copy.tempFileSpace;
|
|
119
|
+
|
|
120
|
+
this.preview = preview;
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
public ExecSession forPreview()
|
|
124
|
+
{
|
|
125
|
+
return new ExecSession(this, true);
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
public ConfigSource getSessionExecConfig()
|
|
129
|
+
{
|
|
130
|
+
return newConfigSource()
|
|
131
|
+
.set("transaction_time", transactionTime);
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
public Injector getInjector()
|
|
135
|
+
{
|
|
136
|
+
return injector;
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
public Timestamp getTransactionTime()
|
|
140
|
+
{
|
|
141
|
+
return transactionTime;
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
public Logger getLogger(String name)
|
|
145
|
+
{
|
|
146
|
+
return loggerFactory.getLogger(name);
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
public Logger getLogger(Class<?> name)
|
|
150
|
+
{
|
|
151
|
+
return loggerFactory.getLogger(name.getName());
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
public BufferAllocator getBufferAllocator()
|
|
155
|
+
{
|
|
156
|
+
return bufferAllocator;
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
public ModelManager getModelManager()
|
|
160
|
+
{
|
|
161
|
+
return modelManager;
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
public <T> T newPlugin(Class<T> iface, PluginType type)
|
|
165
|
+
{
|
|
166
|
+
return pluginManager.newPlugin(iface, type);
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
public TaskReport newTaskReport()
|
|
170
|
+
{
|
|
171
|
+
return new DataSourceImpl(modelManager);
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
@Deprecated
|
|
175
|
+
public CommitReport newCommitReport()
|
|
176
|
+
{
|
|
177
|
+
return new DataSourceImpl(modelManager);
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
public ConfigDiff newConfigDiff()
|
|
181
|
+
{
|
|
182
|
+
return new DataSourceImpl(modelManager);
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
public ConfigSource newConfigSource()
|
|
186
|
+
{
|
|
187
|
+
return new DataSourceImpl(modelManager);
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
public TaskSource newTaskSource()
|
|
191
|
+
{
|
|
192
|
+
return new DataSourceImpl(modelManager);
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
public TimestampFormatter newTimestampFormatter(String format, DateTimeZone timezone)
|
|
196
|
+
{
|
|
197
|
+
ConfigSource config = Exec.newConfigSource();
|
|
198
|
+
config.set("timezone", timezone.getID());
|
|
199
|
+
FormatterTask formatterTask = config.loadConfig(FormatterTask.class);
|
|
200
|
+
return new TimestampFormatter(format, formatterTask);
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
public TempFileSpace getTempFileSpace()
|
|
204
|
+
{
|
|
205
|
+
return tempFileSpace;
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
public boolean isPreview()
|
|
209
|
+
{
|
|
210
|
+
return preview;
|
|
211
|
+
}
|
|
212
|
+
|
|
213
|
+
public void cleanup()
|
|
214
|
+
{
|
|
215
|
+
tempFileSpace.cleanup();
|
|
216
|
+
}
|
|
217
|
+
}
|