You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pdfbox.apache.org by le...@apache.org on 2020/03/15 17:18:08 UTC

svn commit: r1875213 - in /pdfbox/trunk: examples/src/main/java/org/apache/pdfbox/examples/signature/ pdfbox/src/main/java/org/apache/pdfbox/io/ pdfbox/src/main/java/org/apache/pdfbox/pdfparser/ pdfbox/src/test/java/org/apache/pdfbox/pdfparser/

Author: lehmi
Date: Sun Mar 15 17:18:07 2020
New Revision: 1875213

URL: http://svn.apache.org/viewvc?rev=1875213&view=rev
Log:
PDFBOX-3888: remove readFully or replace it with skip

Modified:
    pdfbox/trunk/examples/src/main/java/org/apache/pdfbox/examples/signature/ShowSignature.java
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/io/RandomAccessBuffer.java
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/io/RandomAccessBufferedFileInputStream.java
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/io/RandomAccessFile.java
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/io/RandomAccessRead.java
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/io/ScratchFileBuffer.java
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdfparser/InputStreamSource.java
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdfparser/PDFObjectStreamParser.java
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdfparser/RandomAccessSource.java
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdfparser/SequentialSource.java
    pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/pdfparser/InputStreamSourceTest.java
    pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/pdfparser/RandomAccessSourceTest.java

Modified: pdfbox/trunk/examples/src/main/java/org/apache/pdfbox/examples/signature/ShowSignature.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/examples/src/main/java/org/apache/pdfbox/examples/signature/ShowSignature.java?rev=1875213&r1=1875212&r2=1875213&view=diff
==============================================================================
--- pdfbox/trunk/examples/src/main/java/org/apache/pdfbox/examples/signature/ShowSignature.java (original)
+++ pdfbox/trunk/examples/src/main/java/org/apache/pdfbox/examples/signature/ShowSignature.java Sun Mar 15 17:18:07 2020
@@ -310,7 +310,8 @@ public final class ShowSignature
             {
                 System.err.println("'<' expected at offset " + byteRange[1] + ", but got " + (char) c);
             }
-            byte[] contentFromFile = raf.readFully(byteRange[2] - byteRange[1] - 2);
+            byte[] contentFromFile = new byte[byteRange[2] - byteRange[1] - 2];
+            raf.read(contentFromFile);
             byte[] contentAsHex = Hex.getString(contents.getBytes()).getBytes(StandardCharsets.US_ASCII);
             if (contentFromFile.length != contentAsHex.length)
             {

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/io/RandomAccessBuffer.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/io/RandomAccessBuffer.java?rev=1875213&r1=1875212&r2=1875213&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/io/RandomAccessBuffer.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/io/RandomAccessBuffer.java Sun Mar 15 17:18:07 2020
@@ -498,21 +498,6 @@ public class RandomAccessBuffer implemen
      * {@inheritDoc}
      */
     @Override
-    public byte[] readFully(int length) throws IOException
-    {
-        byte[] b = new byte[length];
-        int bytesRead = read(b);
-        while (bytesRead < length)
-        {
-            bytesRead += read(b, bytesRead, length - bytesRead);
-        }
-        return b;
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    @Override
     public int read(byte[] b) throws IOException
     {
         return read(b, 0, b.length);

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/io/RandomAccessBufferedFileInputStream.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/io/RandomAccessBufferedFileInputStream.java?rev=1875213&r1=1875212&r2=1875213&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/io/RandomAccessBufferedFileInputStream.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/io/RandomAccessBufferedFileInputStream.java Sun Mar 15 17:18:07 2020
@@ -331,18 +331,6 @@ extends InputStream implements RandomAcc
     }
 
     @Override
-    public byte[] readFully(int length) throws IOException
-    {
-        byte[] b = new byte[length];
-        int bytesRead = read(b);
-        while(bytesRead < length)
-        {
-            bytesRead += read(b, bytesRead, length-bytesRead);
-        }
-        return b;
-    }
-
-    @Override
     public boolean isEOF() throws IOException
     {
         int peek = peek();

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/io/RandomAccessFile.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/io/RandomAccessFile.java?rev=1875213&r1=1875212&r2=1875213&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/io/RandomAccessFile.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/io/RandomAccessFile.java Sun Mar 15 17:18:07 2020
@@ -159,15 +159,6 @@ public class RandomAccessFile implements
     }
     
     @Override
-    public byte[] readFully(int length) throws IOException
-    {
-        checkClosed();
-        byte[] b = new byte[length];
-        ras.readFully(b);
-        return b;
-    }
-
-    @Override
     public boolean isEOF() throws IOException
     {
         return peek() == -1;

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/io/RandomAccessRead.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/io/RandomAccessRead.java?rev=1875213&r1=1875212&r2=1875213&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/io/RandomAccessRead.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/io/RandomAccessRead.java Sun Mar 15 17:18:07 2020
@@ -104,14 +104,6 @@ public interface RandomAccessRead extend
     void rewind(int bytes) throws IOException;
 
     /**
-     * Reads a given number of bytes.
-     * @param length the number of bytes to be read
-     * @return a byte array containing the bytes just read
-     * @throws IOException if an I/O error occurs while reading data
-     */
-    byte[] readFully(int length) throws IOException;
-
-    /**
      * A simple test to see if we are at the end of the data.
      *
      * @return true if we are at the end of the data.

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/io/ScratchFileBuffer.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/io/ScratchFileBuffer.java?rev=1875213&r1=1875212&r2=1875213&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/io/ScratchFileBuffer.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/io/ScratchFileBuffer.java Sun Mar 15 17:18:07 2020
@@ -372,28 +372,6 @@ class ScratchFileBuffer implements Rando
      * {@inheritDoc}
      */
     @Override
-    public byte[] readFully(int len) throws IOException
-    {
-        byte[] b = new byte[len];
-
-        int n = 0;
-        do
-        {
-            int count = read(b, n, len - n);
-            if (count < 0)
-            {
-                throw new EOFException();
-            }
-            n += count;
-        } while (n < len);
-
-        return b;
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    @Override
     public boolean isEOF() throws IOException
     {
         checkClosed();

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdfparser/InputStreamSource.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdfparser/InputStreamSource.java?rev=1875213&r1=1875212&r2=1875213&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdfparser/InputStreamSource.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdfparser/InputStreamSource.java Sun Mar 15 17:18:07 2020
@@ -117,28 +117,6 @@ final class InputStreamSource implements
     }
 
     @Override
-    public byte[] readFully(int length) throws IOException
-    {
-        byte[] bytes = new byte[length];
-        int off = 0;
-        int len = length;
-        while (len > 0)
-        {
-            int n = this.read(bytes, off, len);
-            if (n > 0)
-            {
-                off += n;
-                len -= n;
-            }
-            else
-            {
-                break;
-            }
-        }
-        return bytes;
-    }
-
-    @Override
     public boolean isEOF() throws IOException
     {
         return peek() == -1;

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdfparser/PDFObjectStreamParser.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdfparser/PDFObjectStreamParser.java?rev=1875213&r1=1875212&r2=1875213&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdfparser/PDFObjectStreamParser.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdfparser/PDFObjectStreamParser.java Sun Mar 15 17:18:07 2020
@@ -81,10 +81,10 @@ public class PDFObjectStreamParser exten
                 long currentPosition = seqSource.getPosition();
                 if (firstObject > 0 && currentPosition < firstObject)
                 {
-                    seqSource.readFully(firstObject - (int) currentPosition);
+                    seqSource.skip(firstObject - (int) currentPosition);
                 }
                 // jump to the offset of the object to be parsed
-                seqSource.readFully(objectOffset);
+                seqSource.skip(objectOffset);
                 streamObject = parseDirObject();
             }
         }

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdfparser/RandomAccessSource.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdfparser/RandomAccessSource.java?rev=1875213&r1=1875212&r2=1875213&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdfparser/RandomAccessSource.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdfparser/RandomAccessSource.java Sun Mar 15 17:18:07 2020
@@ -86,12 +86,6 @@ final class RandomAccessSource implement
     }
 
     @Override
-    public byte[] readFully(int length) throws IOException
-    {
-        return reader.readFully(length);
-    }
-
-    @Override
     public boolean isEOF() throws IOException
     {
         return reader.isEOF();

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdfparser/SequentialSource.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdfparser/SequentialSource.java?rev=1875213&r1=1875212&r2=1875213&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdfparser/SequentialSource.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdfparser/SequentialSource.java Sun Mar 15 17:18:07 2020
@@ -97,13 +97,21 @@ interface SequentialSource extends Close
     void unread(byte[] bytes, int start, int len) throws IOException;
 
     /**
-     * Reads a given number of bytes in its entirety.
+     * Skips a given number of bytes.
      *
-     * @param length the number of bytes to be read
-     * @return a byte array containing the bytes just read
+     * @param length the number of bytes to be skipped
      * @throws IOException if an I/O error occurs while reading data
      */
-    byte[] readFully(int length) throws IOException;
+    default void skip(int length) throws IOException
+    {
+        int i = 0;
+        while (i++ < length)
+        {
+            int value = read();
+            if (value == -1)
+                break;
+        }
+    }
 
     /**
      * Returns true if the end of the data source has been reached.

Modified: pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/pdfparser/InputStreamSourceTest.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/pdfparser/InputStreamSourceTest.java?rev=1875213&r1=1875212&r2=1875213&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/pdfparser/InputStreamSourceTest.java (original)
+++ pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/pdfparser/InputStreamSourceTest.java Sun Mar 15 17:18:07 2020
@@ -27,7 +27,7 @@ import org.junit.Test;
 public class InputStreamSourceTest
 {
     @Test
-    public void testPositionReadFully() throws IOException
+    public void testPositionSkip() throws IOException
     {
         byte[] inputValues = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
         ByteArrayInputStream bais = new ByteArrayInputStream(inputValues);
@@ -35,7 +35,7 @@ public class InputStreamSourceTest
         InputStreamSource inputStreamSource = new InputStreamSource(bais);
 
         Assert.assertEquals(0, inputStreamSource.getPosition());
-        inputStreamSource.readFully(5);
+        inputStreamSource.skip(5);
         Assert.assertEquals(5, inputStreamSource.getPosition());
 
         inputStreamSource.close();
@@ -86,7 +86,7 @@ public class InputStreamSourceTest
         InputStreamSource inputStreamSource = new InputStreamSource(bais);
 
         Assert.assertEquals(0, inputStreamSource.getPosition());
-        inputStreamSource.readFully(6);
+        inputStreamSource.skip(6);
         Assert.assertEquals(6, inputStreamSource.getPosition());
 
         inputStreamSource.peek();
@@ -106,7 +106,8 @@ public class InputStreamSourceTest
         Assert.assertEquals(0, inputStreamSource.getPosition());
         inputStreamSource.read();
         inputStreamSource.read();
-        byte[] readBytes = inputStreamSource.readFully(6);
+        byte[] readBytes = new byte[6];
+        inputStreamSource.read(readBytes);
         Assert.assertEquals(8, inputStreamSource.getPosition());
         inputStreamSource.unread(readBytes);
         Assert.assertEquals(2, inputStreamSource.getPosition());

Modified: pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/pdfparser/RandomAccessSourceTest.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/pdfparser/RandomAccessSourceTest.java?rev=1875213&r1=1875212&r2=1875213&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/pdfparser/RandomAccessSourceTest.java (original)
+++ pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/pdfparser/RandomAccessSourceTest.java Sun Mar 15 17:18:07 2020
@@ -29,7 +29,7 @@ import org.junit.Test;
 public class RandomAccessSourceTest
 {
     @Test
-    public void testPositionReadFully() throws IOException
+    public void testPositionSkip() throws IOException
     {
         byte[] inputValues = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
         ByteArrayInputStream bais = new ByteArrayInputStream(inputValues);
@@ -38,7 +38,7 @@ public class RandomAccessSourceTest
                 new RandomAccessBuffer(bais));
 
         Assert.assertEquals(0, randomAccessSource.getPosition());
-        randomAccessSource.readFully(5);
+        randomAccessSource.skip(5);
         Assert.assertEquals(5, randomAccessSource.getPosition());
 
         randomAccessSource.close();
@@ -92,7 +92,7 @@ public class RandomAccessSourceTest
                 new RandomAccessBuffer(bais));
 
         Assert.assertEquals(0, randomAccessSource.getPosition());
-        randomAccessSource.readFully(6);
+        randomAccessSource.skip(6);
         Assert.assertEquals(6, randomAccessSource.getPosition());
 
         randomAccessSource.peek();
@@ -113,7 +113,8 @@ public class RandomAccessSourceTest
         Assert.assertEquals(0, randomAccessSource.getPosition());
         randomAccessSource.read();
         randomAccessSource.read();
-        byte[] readBytes = randomAccessSource.readFully(6);
+        byte[] readBytes = new byte[6];
+        randomAccessSource.read(readBytes);
         Assert.assertEquals(8, randomAccessSource.getPosition());
         randomAccessSource.unread(readBytes);
         Assert.assertEquals(2, randomAccessSource.getPosition());