--- src/scratchpad/src/org/apache/poi/hwpf/model/Sttb.java (revision 1622177) +++ src/scratchpad/src/org/apache/poi/hwpf/model/Sttb.java (revision ) @@ -16,10 +16,11 @@ ==================================================================== */ package org.apache.poi.hwpf.model; -import org.apache.poi.util.ArrayUtil; import org.apache.poi.util.LittleEndian; import org.apache.poi.util.StringUtil; +import java.util.Arrays; + /** * The STTB is a string table that is made up of a header that is followed by an * array of elements. The cData value specifies the number of elements that are @@ -64,7 +65,7 @@ { this._cDataLength = cDataLength; - this._data = ArrayUtil.copyOf( data, new String[data.length] ); + this._data = Arrays.copyOf(data, data.length); this._cbExtra = 0; this._extraData = null; --- src/scratchpad/src/org/apache/poi/hwpf/model/NilPICFAndBinData.java (revision 1622177) +++ src/scratchpad/src/org/apache/poi/hwpf/model/NilPICFAndBinData.java (revision ) @@ -16,11 +16,12 @@ ==================================================================== */ package org.apache.poi.hwpf.model; -import org.apache.poi.util.ArrayUtil; import org.apache.poi.util.LittleEndian; import org.apache.poi.util.POILogFactory; import org.apache.poi.util.POILogger; +import java.util.Arrays; + public class NilPICFAndBinData { @@ -52,8 +53,8 @@ // skip the 62 ignored bytes int binaryLength = lcb - cbHeader; - this._binData = ArrayUtil.copyOfRange( data, offset + cbHeader, + this._binData = Arrays.copyOfRange(data, offset + cbHeader, - offset + cbHeader + binaryLength ); + offset + cbHeader + binaryLength); } public byte[] getBinData() --- src/scratchpad/src/org/apache/poi/hwpf/model/PlfLfo.java (revision 1622177) +++ src/scratchpad/src/org/apache/poi/hwpf/model/PlfLfo.java (revision ) @@ -23,7 +23,6 @@ import java.util.NoSuchElementException; import org.apache.poi.hwpf.model.io.HWPFOutputStream; -import org.apache.poi.util.ArrayUtil; import org.apache.poi.util.LittleEndian; import org.apache.poi.util.POILogFactory; import org.apache.poi.util.POILogger; @@ -118,10 +117,10 @@ { final int newLfoMac = _lfoMac + 1; - _rgLfo = ArrayUtil.copyOf( _rgLfo, new LFO[newLfoMac] ); + _rgLfo = Arrays.copyOf(_rgLfo, newLfoMac); _rgLfo[_lfoMac + 1] = lfo; - _rgLfoData = ArrayUtil.copyOf( _rgLfoData, new LFOData[_lfoMac + 1] ); + _rgLfoData = Arrays.copyOf(_rgLfoData, newLfoMac); _rgLfoData[_lfoMac + 1] = lfoData; this._lfoMac = newLfoMac; --- src/java/org/apache/poi/hssf/record/DrawingGroupRecord.java (revision 1622177) +++ src/java/org/apache/poi/hssf/record/DrawingGroupRecord.java (revision ) @@ -118,7 +118,7 @@ writeHeader( data, offset, segmentLength ); writtenActualData += 4; offset += 4; - ArrayUtil.arraycopy( rawData, writtenRawData, data, offset, segmentLength ); + System.arraycopy( rawData, writtenRawData, data, offset, segmentLength ); offset += segmentLength; writtenRawData += segmentLength; writtenActualData += segmentLength; --- src/java/org/apache/poi/hssf/record/DConRefRecord.java (revision 1622177) +++ src/java/org/apache/poi/hssf/record/DConRefRecord.java (revision ) @@ -18,10 +18,11 @@ */ package org.apache.poi.hssf.record; -import org.apache.poi.util.ArrayUtil; import org.apache.poi.util.LittleEndian; import org.apache.poi.util.LittleEndianOutput; +import java.util.Arrays; + /** * DConRef records specify a range in a workbook (internal or external) that serves as a data source * for pivot tables or data consolidation. @@ -273,7 +274,7 @@ */ public byte[] getPath() { - return ArrayUtil.copyOf(path, path.length); + return Arrays.copyOf(path, path.length); } /** @@ -291,7 +292,7 @@ { offset++; } - String out = new String(ArrayUtil.copyOfRange(path, offset, path.length)); + String out = new String(Arrays.copyOfRange(path, offset, path.length)); //UNC paths have \u0003 chars as path separators. out = out.replaceAll("\u0003", "/"); return out; --- src/java/org/apache/poi/util/ArrayUtil.java (revision 1622177) +++ src/java/org/apache/poi/util/ArrayUtil.java (revision ) @@ -106,89 +106,4 @@ // We're done - array will now have everything moved as required } - /** - * Copies the specified array, truncating or padding with zeros (if - * necessary) so the copy has the specified length. This method is temporary - * replace for Arrays.copyOf() until we start to require JDK 1.6. - * - * @param source - * the array to be copied - * @param newLength - * the length of the copy to be returned - * @return a copy of the original array, truncated or padded with zeros to - * obtain the specified length - * @throws NegativeArraySizeException - * if newLength is negative - * @throws NullPointerException - * if original is null - */ - public static byte[] copyOf( byte[] source, int newLength ) - { - byte[] result = new byte[newLength]; - System.arraycopy( source, 0, result, 0, - Math.min( source.length, newLength ) ); - return result; - } - - /** - * Copies the specified array into specified result array, truncating or - * padding with zeros (if necessary) so the copy has the specified length. - * This method is temporary replace for Arrays.copyOf() until we start to - * require JDK 1.6. - * - * @param source - * the array to be copied - * @param result - * the array to be filled and returned - * @throws NegativeArraySizeException - * if newLength is negative - * @throws NullPointerException - * if original is null - */ - public static T[] copyOf( T[] source, T[] result ) - { - System.arraycopy( source, 0, result, 0, - Math.min( source.length, result.length ) ); - return result; - } - - /** - * Copies the specified range of the specified array into a new array. - * The initial index of the range (from) must lie between zero - * and original.length, inclusive. The value at - * original[from] is placed into the initial element of the copy - * (unless from == original.length or from == to). - * Values from subsequent elements in the original array are placed into - * subsequent elements in the copy. The final index of the range - * (to), which must be greater than or equal to from, - * may be greater than original.length, in which case - * (byte)0 is placed in all elements of the copy whose index is - * greater than or equal to original.length - from. The length - * of the returned array will be to - from. - * - * This method is temporary - * replace for Arrays.copyOfRange() until we start to require JDK 1.6. - * - * @param original the array from which a range is to be copied - * @param from the initial index of the range to be copied, inclusive - * @param to the final index of the range to be copied, exclusive. - * (This index may lie outside the array.) - * @return a new array containing the specified range from the original array, - * truncated or padded with zeros to obtain the required length - * @throws ArrayIndexOutOfBoundsException if from < 0 - * or from > original.length() - * @throws IllegalArgumentException if from > to - * @throws NullPointerException if original is null - * @since 1.6 - */ - public static byte[] copyOfRange(byte[] original, int from, int to) { - int newLength = to - from; - if (newLength < 0) - throw new IllegalArgumentException(from + " > " + to); - byte[] copy = new byte[newLength]; - System.arraycopy(original, from, copy, 0, - Math.min(original.length - from, newLength)); - return copy; - } - } --- src/testcases/org/apache/poi/hssf/record/TestDConRefRecord.java (revision 1622177) +++ src/testcases/org/apache/poi/hssf/record/TestDConRefRecord.java (revision ) @@ -23,7 +23,6 @@ import java.io.IOException; import java.util.Arrays; import junit.framework.TestCase; -import org.apache.poi.util.ArrayUtil; import org.apache.poi.util.LittleEndianOutputStream; /** @@ -288,7 +287,7 @@ public void testGetPath() { DConRefRecord instance = new DConRefRecord(TestcaseRecordInputStream.create(81, data1)); - byte[] expResult = ArrayUtil.copyOfRange(data1, 9, data1.length); + byte[] expResult = Arrays.copyOfRange(data1, 9, data1.length); byte[] result = instance.getPath(); assertTrue("get path", Arrays.equals(expResult, result)); } --- src/ooxml/testcases/org/apache/poi/xwpf/usermodel/TestXWPFDocument.java (revision 1622177) +++ src/ooxml/testcases/org/apache/poi/xwpf/usermodel/TestXWPFDocument.java (revision ) @@ -19,6 +19,7 @@ import java.io.IOException; import java.io.OutputStream; +import java.util.Arrays; import java.util.List; import junit.framework.TestCase; @@ -32,7 +33,6 @@ import org.apache.poi.openxml4j.opc.PackageRelationship; import org.apache.poi.openxml4j.opc.PackagingURIHelper; import org.apache.poi.openxml4j.opc.TargetMode; -import org.apache.poi.util.ArrayUtil; import org.apache.poi.xwpf.XWPFTestDataSamples; import org.apache.xmlbeans.XmlCursor; import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTP; @@ -307,7 +307,7 @@ String id1 = doc.addPictureData(newPic, Document.PICTURE_TYPE_JPEG); assertEquals(2,doc.getAllPackagePictures().size()); /* copy data, to avoid instance-equality */ - byte[] newPicCopy = ArrayUtil.copyOf(newPic, newPic.length); + byte[] newPicCopy = Arrays.copyOf(newPic, newPic.length); String id2 = doc.addPictureData(newPicCopy, Document.PICTURE_TYPE_JPEG); assertEquals(id1,id2); doc.getPackage().revert();