Author: lehmi
Date: Sun May  1 17:01:32 2011
New Revision: 1098368

URL: http://svn.apache.org/viewvc?rev=1098368&view=rev
Log:
PDFBOX-821: to ensure 1.5 compliance we had to replace Arrays.copyOf(byte[], 
int) as it is java 1.6 only

Modified:
    
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/io/RandomAccessBuffer.java

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=1098368&r1=1098367&r2=1098368&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 May  1 17:01:32 2011
@@ -17,7 +17,6 @@
 package org.apache.pdfbox.io;
 
 import java.io.IOException;
-import java.util.Arrays;
 
 /**
  * An interface to allow PDF files to be stored completely in memory.
@@ -107,7 +106,7 @@ public class RandomAccessBuffer implemen
             {
                 throw new IOException("RandomAccessBuffer overflow");
             }
-            buffer = Arrays.copyOf(buffer, (int)Math.min(2L * buffer.length, 
Integer.MAX_VALUE));
+            buffer = expandBuffer(buffer, (int)Math.min(2L * buffer.length, 
Integer.MAX_VALUE));
         }
         buffer[(int)pointer++] = (byte)b;
         if (pointer > this.size)
@@ -129,7 +128,7 @@ public class RandomAccessBuffer implemen
                 throw new IOException("RandomAccessBuffer overflow");
             }
             newSize = Math.min(Math.max(2L * buffer.length, newSize), 
Integer.MAX_VALUE);
-            buffer = Arrays.copyOf(buffer, (int)newSize);
+            buffer = expandBuffer(buffer, (int)newSize);
         }
         System.arraycopy(b, offset, buffer, (int)pointer, length);
         pointer += length;
@@ -138,4 +137,19 @@ public class RandomAccessBuffer implemen
             this.size = pointer;
         }
     }
+
+    /**
+     * expand the given buffer to the new size.
+     * 
+     * @param buffer the given buffer
+     * @param newSize the new size
+     * @return the expanded buffer
+     * 
+     */
+    private byte[] expandBuffer(byte[] buffer, int newSize) 
+    {
+        byte[] expandedBuffer = new byte[newSize];
+        System.arraycopy(buffer, 0, expandedBuffer, 0, newSize);
+        return expandedBuffer;
+    }
 }


Reply via email to