Bug 56913 - Replace usages of o.a.p.util.ArrayUtil.copyOf* methods with replacements from j.u.Arrays
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1622589 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
ff053aa4cd
commit
d60adb500e
@ -18,10 +18,11 @@
|
|||||||
*/
|
*/
|
||||||
package org.apache.poi.hssf.record;
|
package org.apache.poi.hssf.record;
|
||||||
|
|
||||||
import org.apache.poi.util.ArrayUtil;
|
|
||||||
import org.apache.poi.util.LittleEndian;
|
import org.apache.poi.util.LittleEndian;
|
||||||
import org.apache.poi.util.LittleEndianOutput;
|
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
|
* DConRef records specify a range in a workbook (internal or external) that serves as a data source
|
||||||
* for pivot tables or data consolidation.
|
* for pivot tables or data consolidation.
|
||||||
@ -273,7 +274,7 @@ public class DConRefRecord extends StandardRecord
|
|||||||
*/
|
*/
|
||||||
public byte[] getPath()
|
public byte[] getPath()
|
||||||
{
|
{
|
||||||
return ArrayUtil.copyOf(path, path.length);
|
return Arrays.copyOf(path, path.length);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -291,7 +292,7 @@ public class DConRefRecord extends StandardRecord
|
|||||||
{
|
{
|
||||||
offset++;
|
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.
|
//UNC paths have \u0003 chars as path separators.
|
||||||
out = out.replaceAll("\u0003", "/");
|
out = out.replaceAll("\u0003", "/");
|
||||||
return out;
|
return out;
|
||||||
|
@ -118,7 +118,7 @@ public final class DrawingGroupRecord extends AbstractEscherHolderRecord {
|
|||||||
writeHeader( data, offset, segmentLength );
|
writeHeader( data, offset, segmentLength );
|
||||||
writtenActualData += 4;
|
writtenActualData += 4;
|
||||||
offset += 4;
|
offset += 4;
|
||||||
ArrayUtil.arraycopy( rawData, writtenRawData, data, offset, segmentLength );
|
System.arraycopy( rawData, writtenRawData, data, offset, segmentLength );
|
||||||
offset += segmentLength;
|
offset += segmentLength;
|
||||||
writtenRawData += segmentLength;
|
writtenRawData += segmentLength;
|
||||||
writtenActualData += segmentLength;
|
writtenActualData += segmentLength;
|
||||||
|
@ -106,89 +106,4 @@ public class ArrayUtil
|
|||||||
// We're done - array will now have everything moved as required
|
// 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 <tt>newLength</tt> is negative
|
|
||||||
* @throws NullPointerException
|
|
||||||
* if <tt>original</tt> 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 <tt>newLength</tt> is negative
|
|
||||||
* @throws NullPointerException
|
|
||||||
* if <tt>original</tt> is null
|
|
||||||
*/
|
|
||||||
public static <T> 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 (<tt>from</tt>) must lie between zero
|
|
||||||
* and <tt>original.length</tt>, inclusive. The value at
|
|
||||||
* <tt>original[from]</tt> is placed into the initial element of the copy
|
|
||||||
* (unless <tt>from == original.length</tt> or <tt>from == to</tt>).
|
|
||||||
* Values from subsequent elements in the original array are placed into
|
|
||||||
* subsequent elements in the copy. The final index of the range
|
|
||||||
* (<tt>to</tt>), which must be greater than or equal to <tt>from</tt>,
|
|
||||||
* may be greater than <tt>original.length</tt>, in which case
|
|
||||||
* <tt>(byte)0</tt> is placed in all elements of the copy whose index is
|
|
||||||
* greater than or equal to <tt>original.length - from</tt>. The length
|
|
||||||
* of the returned array will be <tt>to - from</tt>.
|
|
||||||
*
|
|
||||||
* 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 <tt>from < 0</tt>
|
|
||||||
* or <tt>from > original.length()</tt>
|
|
||||||
* @throws IllegalArgumentException if <tt>from > to</tt>
|
|
||||||
* @throws NullPointerException if <tt>original</tt> 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;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -19,6 +19,7 @@ package org.apache.poi.xwpf.usermodel;
|
|||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.io.OutputStream;
|
import java.io.OutputStream;
|
||||||
|
import java.util.Arrays;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import junit.framework.TestCase;
|
import junit.framework.TestCase;
|
||||||
@ -32,7 +33,6 @@ import org.apache.poi.openxml4j.opc.PackagePartName;
|
|||||||
import org.apache.poi.openxml4j.opc.PackageRelationship;
|
import org.apache.poi.openxml4j.opc.PackageRelationship;
|
||||||
import org.apache.poi.openxml4j.opc.PackagingURIHelper;
|
import org.apache.poi.openxml4j.opc.PackagingURIHelper;
|
||||||
import org.apache.poi.openxml4j.opc.TargetMode;
|
import org.apache.poi.openxml4j.opc.TargetMode;
|
||||||
import org.apache.poi.util.ArrayUtil;
|
|
||||||
import org.apache.poi.xwpf.XWPFTestDataSamples;
|
import org.apache.poi.xwpf.XWPFTestDataSamples;
|
||||||
import org.apache.xmlbeans.XmlCursor;
|
import org.apache.xmlbeans.XmlCursor;
|
||||||
import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTP;
|
import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTP;
|
||||||
@ -307,7 +307,7 @@ public final class TestXWPFDocument extends TestCase {
|
|||||||
String id1 = doc.addPictureData(newPic, Document.PICTURE_TYPE_JPEG);
|
String id1 = doc.addPictureData(newPic, Document.PICTURE_TYPE_JPEG);
|
||||||
assertEquals(2,doc.getAllPackagePictures().size());
|
assertEquals(2,doc.getAllPackagePictures().size());
|
||||||
/* copy data, to avoid instance-equality */
|
/* 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);
|
String id2 = doc.addPictureData(newPicCopy, Document.PICTURE_TYPE_JPEG);
|
||||||
assertEquals(id1,id2);
|
assertEquals(id1,id2);
|
||||||
doc.getPackage().revert();
|
doc.getPackage().revert();
|
||||||
|
@ -16,11 +16,12 @@
|
|||||||
==================================================================== */
|
==================================================================== */
|
||||||
package org.apache.poi.hwpf.model;
|
package org.apache.poi.hwpf.model;
|
||||||
|
|
||||||
import org.apache.poi.util.ArrayUtil;
|
|
||||||
import org.apache.poi.util.LittleEndian;
|
import org.apache.poi.util.LittleEndian;
|
||||||
import org.apache.poi.util.POILogFactory;
|
import org.apache.poi.util.POILogFactory;
|
||||||
import org.apache.poi.util.POILogger;
|
import org.apache.poi.util.POILogger;
|
||||||
|
|
||||||
|
import java.util.Arrays;
|
||||||
|
|
||||||
public class NilPICFAndBinData
|
public class NilPICFAndBinData
|
||||||
{
|
{
|
||||||
|
|
||||||
@ -52,8 +53,8 @@ public class NilPICFAndBinData
|
|||||||
|
|
||||||
// skip the 62 ignored bytes
|
// skip the 62 ignored bytes
|
||||||
int binaryLength = lcb - cbHeader;
|
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()
|
public byte[] getBinData()
|
||||||
|
@ -23,7 +23,6 @@ import java.util.Arrays;
|
|||||||
import java.util.NoSuchElementException;
|
import java.util.NoSuchElementException;
|
||||||
|
|
||||||
import org.apache.poi.hwpf.model.io.HWPFOutputStream;
|
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.LittleEndian;
|
||||||
import org.apache.poi.util.POILogFactory;
|
import org.apache.poi.util.POILogFactory;
|
||||||
import org.apache.poi.util.POILogger;
|
import org.apache.poi.util.POILogger;
|
||||||
@ -118,10 +117,10 @@ public class PlfLfo
|
|||||||
{
|
{
|
||||||
final int newLfoMac = _lfoMac + 1;
|
final int newLfoMac = _lfoMac + 1;
|
||||||
|
|
||||||
_rgLfo = ArrayUtil.copyOf( _rgLfo, new LFO[newLfoMac] );
|
_rgLfo = Arrays.copyOf(_rgLfo, newLfoMac);
|
||||||
_rgLfo[_lfoMac + 1] = lfo;
|
_rgLfo[_lfoMac + 1] = lfo;
|
||||||
|
|
||||||
_rgLfoData = ArrayUtil.copyOf( _rgLfoData, new LFOData[_lfoMac + 1] );
|
_rgLfoData = Arrays.copyOf(_rgLfoData, newLfoMac);
|
||||||
_rgLfoData[_lfoMac + 1] = lfoData;
|
_rgLfoData[_lfoMac + 1] = lfoData;
|
||||||
|
|
||||||
this._lfoMac = newLfoMac;
|
this._lfoMac = newLfoMac;
|
||||||
|
@ -16,10 +16,11 @@
|
|||||||
==================================================================== */
|
==================================================================== */
|
||||||
package org.apache.poi.hwpf.model;
|
package org.apache.poi.hwpf.model;
|
||||||
|
|
||||||
import org.apache.poi.util.ArrayUtil;
|
|
||||||
import org.apache.poi.util.LittleEndian;
|
import org.apache.poi.util.LittleEndian;
|
||||||
import org.apache.poi.util.StringUtil;
|
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
|
* 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
|
* array of elements. The cData value specifies the number of elements that are
|
||||||
@ -64,7 +65,7 @@ public class Sttb
|
|||||||
{
|
{
|
||||||
this._cDataLength = cDataLength;
|
this._cDataLength = cDataLength;
|
||||||
|
|
||||||
this._data = ArrayUtil.copyOf( data, new String[data.length] );
|
this._data = Arrays.copyOf(data, data.length);
|
||||||
|
|
||||||
this._cbExtra = 0;
|
this._cbExtra = 0;
|
||||||
this._extraData = null;
|
this._extraData = null;
|
||||||
|
@ -23,7 +23,6 @@ import java.io.ByteArrayOutputStream;
|
|||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import junit.framework.TestCase;
|
import junit.framework.TestCase;
|
||||||
import org.apache.poi.util.ArrayUtil;
|
|
||||||
import org.apache.poi.util.LittleEndianOutputStream;
|
import org.apache.poi.util.LittleEndianOutputStream;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -288,7 +287,7 @@ public class TestDConRefRecord extends TestCase
|
|||||||
public void testGetPath()
|
public void testGetPath()
|
||||||
{
|
{
|
||||||
DConRefRecord instance = new DConRefRecord(TestcaseRecordInputStream.create(81, data1));
|
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();
|
byte[] result = instance.getPath();
|
||||||
assertTrue("get path", Arrays.equals(expResult, result));
|
assertTrue("get path", Arrays.equals(expResult, result));
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user