You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tika.apache.org by ni...@apache.org on 2015/08/20 20:31:15 UTC

svn commit: r1696836 - in /tika/trunk: ./ tika-parent/ tika-parsers/src/main/java/org/apache/tika/parser/pkg/ tika-parsers/src/test/java/org/apache/tika/parser/pkg/

Author: nick
Date: Thu Aug 20 18:31:15 2015
New Revision: 1696836

URL: http://svn.apache.org/r1696836
Log:
TIKA-1718 Upgrade to Commons Compress 1.10, and fix various TODOs that this permits

Modified:
    tika/trunk/CHANGES.txt
    tika/trunk/tika-parent/pom.xml
    tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/pkg/CompressorParser.java
    tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/pkg/PackageParser.java
    tika/trunk/tika-parsers/src/test/java/org/apache/tika/parser/pkg/ZlibParserTest.java

Modified: tika/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/tika/trunk/CHANGES.txt?rev=1696836&r1=1696835&r2=1696836&view=diff
==============================================================================
--- tika/trunk/CHANGES.txt (original)
+++ tika/trunk/CHANGES.txt Thu Aug 20 18:31:15 2015
@@ -12,6 +12,9 @@ Release 1.11 - Current Development
   * Corrected Tika Config XML detector defintion explicit loading 
     of MimeTypes (TIKA-1708)
 
+  * Upgraded to Commons Compress 1.10, which enables zlib compressed
+    archives support (TIKA-1718)
+
 
 Release 1.10 - 8/1/2015
 

Modified: tika/trunk/tika-parent/pom.xml
URL: http://svn.apache.org/viewvc/tika/trunk/tika-parent/pom.xml?rev=1696836&r1=1696835&r2=1696836&view=diff
==============================================================================
--- tika/trunk/tika-parent/pom.xml (original)
+++ tika/trunk/tika-parent/pom.xml Thu Aug 20 18:31:15 2015
@@ -301,7 +301,7 @@
     <maven.compiler.source>1.7</maven.compiler.source>
     <maven.compiler.target>1.7</maven.compiler.target>
     <project.reporting.outputEncoding>${project.build.sourceEncoding}</project.reporting.outputEncoding>
-    <commons.compress.version>1.9</commons.compress.version>
+    <commons.compress.version>1.10</commons.compress.version>
     <commons.io.version>2.4</commons.io.version>
     <slf4j.version>1.7.12</slf4j.version>
   </properties>

Modified: tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/pkg/CompressorParser.java
URL: http://svn.apache.org/viewvc/tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/pkg/CompressorParser.java?rev=1696836&r1=1696835&r2=1696836&view=diff
==============================================================================
--- tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/pkg/CompressorParser.java (original)
+++ tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/pkg/CompressorParser.java Thu Aug 20 18:31:15 2015
@@ -58,11 +58,10 @@ public class CompressorParser extends Ab
     private static final MediaType GZIP_ALT = MediaType.application("x-gzip");
     private static final MediaType XZ = MediaType.application("x-xz");
     private static final MediaType PACK = MediaType.application("application/x-java-pack200");
-    // TODO Not yet supported by CompressorStreamFactory, see COMPRESS-316
     private static final MediaType ZLIB = MediaType.application("zlib");
 
     private static final Set<MediaType> SUPPORTED_TYPES =
-            MediaType.set(BZIP, BZIP2, GZIP, GZIP_ALT, XZ, PACK);
+            MediaType.set(BZIP, BZIP2, GZIP, GZIP_ALT, XZ, PACK, ZLIB);
 
     static MediaType getMediaType(CompressorInputStream stream) {
         // TODO Add support for the remaining CompressorInputStream formats:
@@ -103,14 +102,14 @@ public class CompressorParser extends Ab
 
         CompressorInputStream cis;
         try {
-            CompressorStreamFactory factory = new CompressorStreamFactory();
             CompressorParserOptions options =
                  context.get(CompressorParserOptions.class, new CompressorParserOptions() {
                      public boolean decompressConcatenated(Metadata metadata) {
                          return false;
                      }
                  });
-            factory.setDecompressConcatenated(options.decompressConcatenated(metadata));
+            CompressorStreamFactory factory = 
+                    new CompressorStreamFactory(options.decompressConcatenated(metadata));
             cis = factory.createCompressorInputStream(stream);
         } catch (CompressorException e) {
             throw new TikaException("Unable to uncompress document stream", e);

Modified: tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/pkg/PackageParser.java
URL: http://svn.apache.org/viewvc/tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/pkg/PackageParser.java?rev=1696836&r1=1696835&r2=1696836&view=diff
==============================================================================
--- tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/pkg/PackageParser.java (original)
+++ tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/pkg/PackageParser.java Thu Aug 20 18:31:15 2015
@@ -24,6 +24,7 @@ import java.io.InputStream;
 import java.util.Date;
 import java.util.Set;
 
+import org.apache.commons.compress.PasswordRequiredException;
 import org.apache.commons.compress.archivers.ArchiveEntry;
 import org.apache.commons.compress.archivers.ArchiveException;
 import org.apache.commons.compress.archivers.ArchiveInputStream;
@@ -188,14 +189,8 @@ public class PackageParser extends Abstr
                 throw new EncryptedDocumentException(zfe);
             }
             // Otherwise fall through to raise the exception as normal
-        } catch (IOException ie) {
-            // Is this a password protection error?
-            // (COMPRESS-298 should give a nicer way when implemented, see TIKA-1525)
-            if ("Cannot read encrypted files without a password".equals(ie.getMessage())) {
-                throw new EncryptedDocumentException();
-            }
-            // Otherwise fall through to raise the exception as normal
-            throw ie;
+        } catch (PasswordRequiredException pre) {
+            throw new EncryptedDocumentException(pre);
         } finally {
             ais.close();
             tmp.close();

Modified: tika/trunk/tika-parsers/src/test/java/org/apache/tika/parser/pkg/ZlibParserTest.java
URL: http://svn.apache.org/viewvc/tika/trunk/tika-parsers/src/test/java/org/apache/tika/parser/pkg/ZlibParserTest.java?rev=1696836&r1=1696835&r2=1696836&view=diff
==============================================================================
--- tika/trunk/tika-parsers/src/test/java/org/apache/tika/parser/pkg/ZlibParserTest.java (original)
+++ tika/trunk/tika-parsers/src/test/java/org/apache/tika/parser/pkg/ZlibParserTest.java Thu Aug 20 18:31:15 2015
@@ -24,18 +24,14 @@ import org.apache.tika.metadata.Metadata
 import org.apache.tika.parser.AutoDetectParser;
 import org.apache.tika.parser.Parser;
 import org.apache.tika.sax.BodyContentHandler;
-import org.junit.Ignore;
 import org.junit.Test;
 import org.xml.sax.ContentHandler;
 
 /**
  * Test case for parsing zlib compressed
- * 
- * Note - currently disabled, pending a fix for COMPRESS-316
  */
 public class ZlibParserTest extends AbstractPkgTest {
     @Test
-    @Ignore
     public void testZlibParsing() throws Exception {
         Parser parser = new AutoDetectParser(); // Should auto-detect!
         ContentHandler handler = new BodyContentHandler();
@@ -60,7 +56,6 @@ public class ZlibParserTest extends Abst
      *  fired for all the embedded entries.
      */
     @Test
-    @Ignore
     public void testEmbedded() throws Exception {
        Parser parser = new AutoDetectParser(); // Should auto-detect!
        ContentHandler handler = new BodyContentHandler();