embulk-decoder-commons-compress 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (34) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +7 -0
  3. data/LICENSE.txt +23 -0
  4. data/README.md +70 -0
  5. data/build.gradle +63 -0
  6. data/gradle/wrapper/gradle-wrapper.jar +0 -0
  7. data/gradle/wrapper/gradle-wrapper.properties +6 -0
  8. data/gradlew +164 -0
  9. data/gradlew.bat +90 -0
  10. data/lib/embulk/decoder/commons-compress.rb +3 -0
  11. data/src/main/java/org/embulk/decoder/ArchiveInputStreamIterator.java +68 -0
  12. data/src/main/java/org/embulk/decoder/CommonsCompressDecoderPlugin.java +52 -0
  13. data/src/main/java/org/embulk/decoder/CommonsCompressFileInput.java +73 -0
  14. data/src/main/java/org/embulk/decoder/CommonsCompressProvider.java +182 -0
  15. data/src/main/java/org/embulk/decoder/CommonsCompressUtil.java +135 -0
  16. data/src/test/java/org/embulk/decoder/TestArchiveInputStreamIterator.java +106 -0
  17. data/src/test/java/org/embulk/decoder/TestCommonsCompressDecoderPlugin.java +593 -0
  18. data/src/test/java/org/embulk/decoder/TestCommonsCompressFileInput.java +152 -0
  19. data/src/test/java/org/embulk/decoder/TestCommonsCompressProvider.java +369 -0
  20. data/src/test/java/org/embulk/decoder/TestCommonsCompressUtil.java +80 -0
  21. data/src/test/resources/org/embulk/decoder/sample_0.tar +0 -0
  22. data/src/test/resources/org/embulk/decoder/sample_1.csv +1 -0
  23. data/src/test/resources/org/embulk/decoder/sample_1.csv.bz2 +0 -0
  24. data/src/test/resources/org/embulk/decoder/sample_1.tar +0 -0
  25. data/src/test/resources/org/embulk/decoder/sample_2.csv +1 -0
  26. data/src/test/resources/org/embulk/decoder/samples.ar +5 -0
  27. data/src/test/resources/org/embulk/decoder/samples.tar +0 -0
  28. data/src/test/resources/org/embulk/decoder/samples.tar.Z +0 -0
  29. data/src/test/resources/org/embulk/decoder/samples.tar.bz2 +0 -0
  30. data/src/test/resources/org/embulk/decoder/samples.tar.gz +0 -0
  31. data/src/test/resources/org/embulk/decoder/samples.tar.xz +0 -0
  32. data/src/test/resources/org/embulk/decoder/samples.tgz +0 -0
  33. data/src/test/resources/org/embulk/decoder/samples.zip +0 -0
  34. metadata +106 -0
@@ -0,0 +1,80 @@
1
+ package org.embulk.decoder;
2
+
3
+ import static org.junit.Assert.assertEquals;
4
+ import static org.junit.Assert.assertFalse;
5
+ import static org.junit.Assert.assertNull;
6
+ import static org.junit.Assert.assertTrue;
7
+
8
+ import org.apache.commons.compress.archivers.ArchiveStreamFactory;
9
+ import org.apache.commons.compress.compressors.CompressorStreamFactory;
10
+ import org.junit.Test;
11
+
12
+ public class TestCommonsCompressUtil {
13
+
14
+ @Test
15
+ public void testIsArchiveFormat() {
16
+ for (String format : CommonsCompressUtil.archiveFormats) {
17
+ assertTrue("Archive formats should return true.", CommonsCompressUtil.isArchiveFormat(format));
18
+ }
19
+ for (String format : CommonsCompressUtil.compressorFormats) {
20
+ assertFalse("Compressor formats should return false.", CommonsCompressUtil.isArchiveFormat(format));
21
+ }
22
+ assertFalse("Auto-detect should return false.", CommonsCompressUtil.isArchiveFormat(""));
23
+ }
24
+
25
+ @Test
26
+ public void testIsCompressorFormat() {
27
+ for (String format : CommonsCompressUtil.archiveFormats) {
28
+ assertFalse("Archive formats should return false.", CommonsCompressUtil.isCompressorFormat(format));
29
+ }
30
+ for (String format : CommonsCompressUtil.compressorFormats) {
31
+ assertTrue("Compressor formats should return true.", CommonsCompressUtil.isCompressorFormat(format));
32
+ }
33
+ assertFalse("Auto-detect should return false.", CommonsCompressUtil.isArchiveFormat(""));
34
+ }
35
+
36
+ @Test
37
+ public void testIsAutoDetect() {
38
+ for (String format : CommonsCompressUtil.archiveFormats) {
39
+ assertFalse("Archive formats should return false.", CommonsCompressUtil.isAutoDetect(format));
40
+ }
41
+ for (String format : CommonsCompressUtil.compressorFormats) {
42
+ assertFalse("Compressor formats should return false.", CommonsCompressUtil.isAutoDetect(format));
43
+ }
44
+ assertTrue("Verify auto detect format.", CommonsCompressUtil.isAutoDetect(null));
45
+ assertTrue("Verify auto detect format.", CommonsCompressUtil.isAutoDetect(""));
46
+ }
47
+
48
+ @Test
49
+ public void testToFormatsForAutoDetect() {
50
+ assertNull("null returns null.", CommonsCompressUtil.toFormats(null));
51
+ assertNull("zero length string returns null.", CommonsCompressUtil.toFormats(""));
52
+ }
53
+
54
+ @Test
55
+ public void testToFormatsForSingleFormat() {
56
+ String format = ArchiveStreamFactory.TAR;
57
+ String[] formats = CommonsCompressUtil.toFormats(format);
58
+ assertEquals("a single format returns 1 length array.", 1, formats.length);
59
+ assertEquals("a single format returns tar.", ArchiveStreamFactory.TAR, formats[0]);
60
+ }
61
+
62
+ @Test
63
+ public void testToFormatsForSolidCompressionFormat() {
64
+ String format = "tgz";
65
+ String[] formats = CommonsCompressUtil.toFormats(format);
66
+ assertEquals("solid compresson format returns 2 length array.", 2, formats.length);
67
+ assertEquals("solid compresson format returns gzip for 1st element.", CompressorStreamFactory.GZIP, formats[0]);
68
+ assertEquals("solid compresson format returns tar for 2st element.", ArchiveStreamFactory.TAR, formats[1]);
69
+ }
70
+
71
+ @Test
72
+ public void testToFormatsForMultipleFormats() {
73
+ String format = ArchiveStreamFactory.TAR + " " + CompressorStreamFactory.BZIP2;
74
+ String[] formats = CommonsCompressUtil.toFormats(format);
75
+ assertEquals("Two format text returns 2 length array.", 2, formats.length);
76
+ assertEquals("Two format text returns bzip2 for 1st element.", CompressorStreamFactory.BZIP2, formats[0]);
77
+ assertEquals("Two format text returns tar for 1st element.", ArchiveStreamFactory.TAR, formats[1]);
78
+ }
79
+
80
+ }
@@ -0,0 +1,5 @@
1
+ !<arch>
2
+ sample_1.csv 1425248767 501 20 100644 6 `
3
+ 1,foo
4
+ sample_2.csv 1425099808 501 20 100644 6 `
5
+ 2,bar
metadata ADDED
@@ -0,0 +1,106 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: embulk-decoder-commons-compress
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.3.0
5
+ platform: ruby
6
+ authors:
7
+ - Hiroki Ata
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2015-03-02 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: bundler
15
+ version_requirements: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ~>
18
+ - !ruby/object:Gem::Version
19
+ version: '1.0'
20
+ requirement: !ruby/object:Gem::Requirement
21
+ requirements:
22
+ - - ~>
23
+ - !ruby/object:Gem::Version
24
+ version: '1.0'
25
+ prerelease: false
26
+ type: :development
27
+ - !ruby/object:Gem::Dependency
28
+ name: rake
29
+ version_requirements: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - '>='
32
+ - !ruby/object:Gem::Version
33
+ version: '10.0'
34
+ requirement: !ruby/object:Gem::Requirement
35
+ requirements:
36
+ - - '>='
37
+ - !ruby/object:Gem::Version
38
+ version: '10.0'
39
+ prerelease: false
40
+ type: :development
41
+ description: Commons Compress decoder plugin is an Embulk plugin that decodes files using Apache Commons Compress library. It is read by any file input plugins. Search the file input plugins by 'embulk-input file' keywords.
42
+ email:
43
+ - hiroki.ata@gmail.com
44
+ executables: []
45
+ extensions: []
46
+ extra_rdoc_files: []
47
+ files:
48
+ - .gitignore
49
+ - LICENSE.txt
50
+ - README.md
51
+ - build.gradle
52
+ - gradle/wrapper/gradle-wrapper.jar
53
+ - gradle/wrapper/gradle-wrapper.properties
54
+ - gradlew
55
+ - gradlew.bat
56
+ - lib/embulk/decoder/commons-compress.rb
57
+ - src/main/java/org/embulk/decoder/ArchiveInputStreamIterator.java
58
+ - src/main/java/org/embulk/decoder/CommonsCompressDecoderPlugin.java
59
+ - src/main/java/org/embulk/decoder/CommonsCompressFileInput.java
60
+ - src/main/java/org/embulk/decoder/CommonsCompressProvider.java
61
+ - src/main/java/org/embulk/decoder/CommonsCompressUtil.java
62
+ - src/test/java/org/embulk/decoder/TestArchiveInputStreamIterator.java
63
+ - src/test/java/org/embulk/decoder/TestCommonsCompressDecoderPlugin.java
64
+ - src/test/java/org/embulk/decoder/TestCommonsCompressFileInput.java
65
+ - src/test/java/org/embulk/decoder/TestCommonsCompressProvider.java
66
+ - src/test/java/org/embulk/decoder/TestCommonsCompressUtil.java
67
+ - src/test/resources/org/embulk/decoder/sample_0.tar
68
+ - src/test/resources/org/embulk/decoder/sample_1.csv
69
+ - src/test/resources/org/embulk/decoder/sample_1.csv.bz2
70
+ - src/test/resources/org/embulk/decoder/sample_1.tar
71
+ - src/test/resources/org/embulk/decoder/sample_2.csv
72
+ - src/test/resources/org/embulk/decoder/samples.ar
73
+ - src/test/resources/org/embulk/decoder/samples.tar
74
+ - src/test/resources/org/embulk/decoder/samples.tar.Z
75
+ - src/test/resources/org/embulk/decoder/samples.tar.bz2
76
+ - src/test/resources/org/embulk/decoder/samples.tar.gz
77
+ - src/test/resources/org/embulk/decoder/samples.tar.xz
78
+ - src/test/resources/org/embulk/decoder/samples.tgz
79
+ - src/test/resources/org/embulk/decoder/samples.zip
80
+ - classpath/commons-compress-1.9.jar
81
+ - classpath/embulk-decoder-commons-compress-0.3.0.jar
82
+ homepage: https://github.com/hata/embulk-decoder-commons-compress
83
+ licenses:
84
+ - MIT
85
+ metadata: {}
86
+ post_install_message:
87
+ rdoc_options: []
88
+ require_paths:
89
+ - lib
90
+ required_ruby_version: !ruby/object:Gem::Requirement
91
+ requirements:
92
+ - - '>='
93
+ - !ruby/object:Gem::Version
94
+ version: '0'
95
+ required_rubygems_version: !ruby/object:Gem::Requirement
96
+ requirements:
97
+ - - '>='
98
+ - !ruby/object:Gem::Version
99
+ version: '0'
100
+ requirements: []
101
+ rubyforge_project:
102
+ rubygems_version: 2.1.9
103
+ signing_key:
104
+ specification_version: 4
105
+ summary: Commons Compress decoder plugin for Embulk
106
+ test_files: []