Author: frm
Date: Wed Aug  9 10:33:00 2017
New Revision: 1804503

URL: http://svn.apache.org/viewvc?rev=1804503&view=rev
Log:
OAK-6529 - Don't use Buffer.array() directly

Modified:
    
jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/tar/index/IndexLoaderV1.java
    
jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/tar/index/IndexLoaderV2.java
    
jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/file/tar/index/IndexLoaderV1Test.java
    
jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/file/tar/index/IndexLoaderV2Test.java

Modified: 
jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/tar/index/IndexLoaderV1.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/tar/index/IndexLoaderV1.java?rev=1804503&r1=1804502&r2=1804503&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/tar/index/IndexLoaderV1.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/tar/index/IndexLoaderV1.java
 Wed Aug  9 10:33:00 2017
@@ -57,10 +57,11 @@ class IndexLoaderV1 {
         }
 
         ByteBuffer entries = reader.readAtEnd(IndexV1.FOOTER_SIZE + count * 
IndexEntryV1.SIZE, count * IndexEntryV1.SIZE);
-        entries.mark();
 
         CRC32 checksum = new CRC32();
-        checksum.update(entries.array(), entries.position(), 
entries.remaining());
+        entries.mark();
+        checksum.update(entries);
+        entries.reset();
         if (crc32 != (int) checksum.getValue()) {
             throw new InvalidIndexException("Invalid checksum");
         }
@@ -68,6 +69,7 @@ class IndexLoaderV1 {
         long lastMsb = Long.MIN_VALUE;
         long lastLsb = Long.MIN_VALUE;
         byte[] entry = new byte[IndexEntryV1.SIZE];
+        entries.mark();
         for (int i = 0; i < count; i++) {
             entries.get(entry);
 
@@ -96,7 +98,6 @@ class IndexLoaderV1 {
             lastMsb = msb;
             lastLsb = lsb;
         }
-
         entries.reset();
 
         return new IndexV1(entries);

Modified: 
jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/tar/index/IndexLoaderV2.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/tar/index/IndexLoaderV2.java?rev=1804503&r1=1804502&r2=1804503&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/tar/index/IndexLoaderV2.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/tar/index/IndexLoaderV2.java
 Wed Aug  9 10:33:00 2017
@@ -57,10 +57,11 @@ class IndexLoaderV2 {
         }
 
         ByteBuffer entries = reader.readAtEnd(IndexV2.FOOTER_SIZE + count * 
IndexEntryV2.SIZE, count * IndexEntryV2.SIZE);
-        entries.mark();
 
         CRC32 checksum = new CRC32();
-        checksum.update(entries.array(), entries.position(), 
entries.remaining());
+        entries.mark();
+        checksum.update(entries);
+        entries.reset();
         if (crc32 != (int) checksum.getValue()) {
             throw new InvalidIndexException("Invalid checksum");
         }
@@ -68,6 +69,7 @@ class IndexLoaderV2 {
         long lastMsb = Long.MIN_VALUE;
         long lastLsb = Long.MIN_VALUE;
         byte[] entry = new byte[IndexEntryV2.SIZE];
+        entries.mark();
         for (int i = 0; i < count; i++) {
             entries.get(entry);
 
@@ -96,7 +98,6 @@ class IndexLoaderV2 {
             lastMsb = msb;
             lastLsb = lsb;
         }
-
         entries.reset();
 
         return new IndexV2(entries);

Modified: 
jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/file/tar/index/IndexLoaderV1Test.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/file/tar/index/IndexLoaderV1Test.java?rev=1804503&r1=1804502&r2=1804503&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/file/tar/index/IndexLoaderV1Test.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/file/tar/index/IndexLoaderV1Test.java
 Wed Aug  9 10:33:00 2017
@@ -193,7 +193,7 @@ public class IndexLoaderV1Test {
         duplicate.position(duplicate.limit() - IndexEntryV1.SIZE - 
IndexV1.FOOTER_SIZE);
         duplicate
                 .putLong(0).putLong(0).putInt(1).putInt(1).putInt(0)
-                .putInt(0x807077E9)
+            .putInt(0xAA6B4A1A)
                 .putInt(1)
                 .putInt(2 * (IndexEntryV1.SIZE + IndexV1.FOOTER_SIZE))
                 .putInt(IndexLoaderV1.MAGIC);

Modified: 
jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/file/tar/index/IndexLoaderV2Test.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/file/tar/index/IndexLoaderV2Test.java?rev=1804503&r1=1804502&r2=1804503&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/file/tar/index/IndexLoaderV2Test.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/file/tar/index/IndexLoaderV2Test.java
 Wed Aug  9 10:33:00 2017
@@ -193,7 +193,7 @@ public class IndexLoaderV2Test {
         duplicate.position(duplicate.limit() - IndexEntryV2.SIZE - 
IndexV2.FOOTER_SIZE);
         duplicate
                 
.putLong(0).putLong(0).putInt(1).putInt(1).putInt(0).putInt(0).put((byte) 0)
-                .putInt(0x7A7C3A8D)
+            .putInt(0x8B1B0C5)
                 .putInt(1)
                 .putInt(2 * (IndexEntryV2.SIZE + IndexV2.FOOTER_SIZE))
                 .putInt(IndexLoaderV2.MAGIC);


Reply via email to