You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by cs...@apache.org on 2011/03/30 12:51:01 UTC

svn commit: r1086904 - /maven/indexer/trunk/indexer-core/src/main/java/org/apache/maven/index/updater/IndexDataReader.java

Author: cstamas
Date: Wed Mar 30 10:51:01 2011
New Revision: 1086904

URL: http://svn.apache.org/viewvc?rev=1086904&view=rev
Log:
MINDEXER-13: Patch applied (by Jesse Glick), thanks. IndexDataReader.readIndex issue moved to MINDEXER-20.

Modified:
    maven/indexer/trunk/indexer-core/src/main/java/org/apache/maven/index/updater/IndexDataReader.java

Modified: maven/indexer/trunk/indexer-core/src/main/java/org/apache/maven/index/updater/IndexDataReader.java
URL: http://svn.apache.org/viewvc/maven/indexer/trunk/indexer-core/src/main/java/org/apache/maven/index/updater/IndexDataReader.java?rev=1086904&r1=1086903&r2=1086904&view=diff
==============================================================================
--- maven/indexer/trunk/indexer-core/src/main/java/org/apache/maven/index/updater/IndexDataReader.java (original)
+++ maven/indexer/trunk/indexer-core/src/main/java/org/apache/maven/index/updater/IndexDataReader.java Wed Mar 30 10:51:01 2011
@@ -49,8 +49,24 @@ public class IndexDataReader
         throws IOException
     {
         BufferedInputStream bis = new BufferedInputStream( is, 1024 * 8 );
-        GZIPInputStream gis = new GZIPInputStream( bis, 2 * 1024 );
-        this.dis = new DataInputStream( gis );
+
+        // MINDEXER-13
+        // LightweightHttpWagon may have performed automatic decompression
+        // Handle it transparently
+        bis.mark( 2 );
+        InputStream data;
+        if ( bis.read() == 0x1f && bis.read() == 0x8b ) // GZIPInputStream.GZIP_MAGIC
+        {
+            bis.reset();
+            data = new GZIPInputStream( bis, 2 * 1024 );
+        }
+        else
+        {
+            bis.reset();
+            data = bis;
+        }
+
+        this.dis = new DataInputStream( data );
     }
 
     public IndexDataReadResult readIndex( IndexWriter w, IndexingContext context )