mirror of
https://github.com/apache/poi.git
synced 2026-02-27 20:40:08 +08:00
tag r1806507 as 3.17
git-svn-id: https://svn.apache.org/repos/asf/poi/tags/REL_3_17_FINAL@1806508 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
commit
18363693d9
10
build.xml
10
build.xml
@ -2408,7 +2408,8 @@ under the License.
|
||||
|
||||
<copy todir="${repo}">
|
||||
<mappedresources>
|
||||
<fileset dir="build/dist/maven" includes="@{artifactId}/**"/>
|
||||
<!-- add sha-512 when nexus rules are updated (1/2) -->
|
||||
<fileset dir="build/dist/maven" includes="@{artifactId}/**" excludes="**/*.sha512"/>
|
||||
<regexpmapper from="^([^/]+)/(.*)$$" to="org/apache/poi/\1/${version.id}/\2" handledirsep="true"/>
|
||||
</mappedresources>
|
||||
</copy>
|
||||
@ -2434,10 +2435,11 @@ under the License.
|
||||
<lastUpdated>${lastUpdated}</lastUpdated>
|
||||
</versioning>
|
||||
</metadata>]]></echo>
|
||||
<fixcrlf srcdir="${metadir}" includes="maven-metadata.xml" eol="unix" eof="remove" />
|
||||
<checksum algorithm="SHA-512" fileext=".sha512" format="MD5SUM">
|
||||
<fixcrlf srcdir="${metadir}" includes="maven-metadata.xml" eol="unix" eof="remove" /> <!-- add sha-512 when nexus rules are updated -->
|
||||
<!-- add sha-512 when nexus rules are updated (2/2) -->
|
||||
<!--checksum algorithm="SHA-512" fileext=".sha512" format="MD5SUM">
|
||||
<fileset dir="${metadir}" includes="maven-metadata.xml"/>
|
||||
</checksum>
|
||||
</checksum-->
|
||||
<checksum algorithm="sha1" format="MD5SUM">
|
||||
<fileset dir="${metadir}" includes="maven-metadata.xml"/>
|
||||
</checksum>
|
||||
|
||||
@ -6,7 +6,7 @@
|
||||
<parent>
|
||||
<groupId>org.apache.poi</groupId>
|
||||
<artifactId>poi-parent</artifactId>
|
||||
<version>3.17-beta2-SNAPSHOT</version>
|
||||
<version>3.18-beta1-SNAPSHOT</version>
|
||||
</parent>
|
||||
<artifactId>poi-examples</artifactId>
|
||||
<packaging>jar</packaging>
|
||||
|
||||
@ -6,7 +6,7 @@
|
||||
<parent>
|
||||
<groupId>org.apache.poi</groupId>
|
||||
<artifactId>poi-parent</artifactId>
|
||||
<version>3.17-beta2-SNAPSHOT</version>
|
||||
<version>3.18-beta1-SNAPSHOT</version>
|
||||
</parent>
|
||||
<artifactId>poi-excelant</artifactId>
|
||||
<packaging>jar</packaging>
|
||||
|
||||
@ -6,7 +6,7 @@
|
||||
<parent>
|
||||
<groupId>org.apache.poi</groupId>
|
||||
<artifactId>poi-parent</artifactId>
|
||||
<version>3.17-beta2-SNAPSHOT</version>
|
||||
<version>3.18-beta1-SNAPSHOT</version>
|
||||
</parent>
|
||||
<artifactId>poi-main</artifactId>
|
||||
<packaging>jar</packaging>
|
||||
|
||||
@ -6,7 +6,7 @@
|
||||
<parent>
|
||||
<groupId>org.apache.poi</groupId>
|
||||
<artifactId>poi-parent</artifactId>
|
||||
<version>3.17-beta2-SNAPSHOT</version>
|
||||
<version>3.18-beta1-SNAPSHOT</version>
|
||||
<relativePath>..</relativePath>
|
||||
</parent>
|
||||
<artifactId>poi-ooxml-schema-encryption</artifactId>
|
||||
|
||||
@ -6,7 +6,7 @@
|
||||
<parent>
|
||||
<groupId>org.apache.poi</groupId>
|
||||
<artifactId>poi-parent</artifactId>
|
||||
<version>3.17-beta2-SNAPSHOT</version>
|
||||
<version>3.18-beta1-SNAPSHOT</version>
|
||||
<relativePath>..</relativePath>
|
||||
</parent>
|
||||
<artifactId>poi-ooxml-schema-security</artifactId>
|
||||
|
||||
@ -6,7 +6,7 @@
|
||||
<parent>
|
||||
<groupId>org.apache.poi</groupId>
|
||||
<artifactId>poi-parent</artifactId>
|
||||
<version>3.17-beta2-SNAPSHOT</version>
|
||||
<version>3.18-beta1-SNAPSHOT</version>
|
||||
<relativePath>..</relativePath>
|
||||
</parent>
|
||||
<artifactId>poi-ooxml-schema</artifactId>
|
||||
|
||||
@ -6,7 +6,7 @@
|
||||
<parent>
|
||||
<groupId>org.apache.poi</groupId>
|
||||
<artifactId>poi-parent</artifactId>
|
||||
<version>3.17-beta2-SNAPSHOT</version>
|
||||
<version>3.18-beta1-SNAPSHOT</version>
|
||||
</parent>
|
||||
<artifactId>poi-ooxml</artifactId>
|
||||
<packaging>jar</packaging>
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
<groupId>org.apache.poi</groupId>
|
||||
<artifactId>poi-parent</artifactId>
|
||||
<packaging>pom</packaging>
|
||||
<version>3.17-beta2-SNAPSHOT</version>
|
||||
<version>3.18-beta1-SNAPSHOT</version>
|
||||
<name>Apache POI - the Java API for Microsoft Documents</name>
|
||||
<description>Maven build of Apache POI for Sonar checks</description>
|
||||
<url>http://poi.apache.org/</url>
|
||||
|
||||
@ -6,7 +6,7 @@
|
||||
<parent>
|
||||
<groupId>org.apache.poi</groupId>
|
||||
<artifactId>poi-parent</artifactId>
|
||||
<version>3.17-beta2-SNAPSHOT</version>
|
||||
<version>3.18-beta1-SNAPSHOT</version>
|
||||
</parent>
|
||||
<artifactId>poi-scratchpad</artifactId>
|
||||
<packaging>jar</packaging>
|
||||
|
||||
@ -206,7 +206,7 @@ public final class IOUtils {
|
||||
*
|
||||
* @param doc a writeable document to write to the output stream
|
||||
* @param out the output stream that the document is written to
|
||||
* @throws IOException
|
||||
* @throws IOException thrown on errors writing to the stream
|
||||
*/
|
||||
public static void write(POIDocument doc, OutputStream out) throws IOException {
|
||||
try {
|
||||
@ -225,7 +225,7 @@ public final class IOUtils {
|
||||
*
|
||||
* @param doc a writeable document to write to the output stream
|
||||
* @param out the output stream that the document is written to
|
||||
* @throws IOException
|
||||
* @throws IOException thrown on errors writing to the stream
|
||||
*/
|
||||
public static void write(Workbook doc, OutputStream out) throws IOException {
|
||||
try {
|
||||
@ -245,7 +245,7 @@ public final class IOUtils {
|
||||
*
|
||||
* @param doc a writeable and closeable document to write to the output stream, then close
|
||||
* @param out the output stream that the document is written to
|
||||
* @throws IOException
|
||||
* @throws IOException thrown on errors writing to the stream
|
||||
*/
|
||||
public static void writeAndClose(POIDocument doc, OutputStream out) throws IOException {
|
||||
try {
|
||||
@ -264,7 +264,7 @@ public final class IOUtils {
|
||||
*
|
||||
* @param doc a writeable and closeable document to write to the output file, then close
|
||||
* @param out the output file that the document is written to
|
||||
* @throws IOException
|
||||
* @throws IOException thrown on errors writing to the stream
|
||||
*/
|
||||
public static void writeAndClose(POIDocument doc, File out) throws IOException {
|
||||
try {
|
||||
@ -282,7 +282,7 @@ public final class IOUtils {
|
||||
* This function exists for Java 6 code.
|
||||
*
|
||||
* @param doc a writeable document to write in-place
|
||||
* @throws IOException
|
||||
* @throws IOException thrown on errors writing to the file
|
||||
*/
|
||||
public static void writeAndClose(POIDocument doc) throws IOException {
|
||||
try {
|
||||
|
||||
@ -71,7 +71,9 @@ public class POIXMLTypeLoader {
|
||||
// DEFAULT_XML_OPTIONS.setLoadEntityBytesLimit(4096);
|
||||
|
||||
// POI is not thread-safe - so we can switch to unsynchronized xmlbeans mode - see #61350
|
||||
DEFAULT_XML_OPTIONS.setUnsynchronized();
|
||||
// Update: disabled again for now as it caused strange NPEs and other problems
|
||||
// when reading properties in separate workbooks in multiple threads
|
||||
// DEFAULT_XML_OPTIONS.setUnsynchronized();
|
||||
|
||||
Map<String, String> map = new HashMap<String, String>();
|
||||
map.put("http://schemas.openxmlformats.org/drawingml/2006/main", "a");
|
||||
|
||||
@ -17,6 +17,7 @@
|
||||
|
||||
package org.apache.poi.util;
|
||||
|
||||
import static org.junit.Assert.assertArrayEquals;
|
||||
import static org.junit.Assert.assertEquals;
|
||||
|
||||
import java.io.ByteArrayInputStream;
|
||||
@ -27,8 +28,11 @@ import java.io.FileOutputStream;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.io.OutputStream;
|
||||
import java.io.PushbackInputStream;
|
||||
import java.nio.ByteBuffer;
|
||||
import java.util.Random;
|
||||
|
||||
import org.apache.poi.EmptyFileException;
|
||||
import org.junit.AfterClass;
|
||||
import org.junit.BeforeClass;
|
||||
import org.junit.Test;
|
||||
@ -55,9 +59,57 @@ public final class TestIOUtils {
|
||||
|
||||
@AfterClass
|
||||
public static void tearDown() throws IOException {
|
||||
//noinspection ResultOfMethodCallIgnored
|
||||
TMP.delete();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testPeekFirst8Bytes() throws Exception {
|
||||
assertArrayEquals("01234567".getBytes("UTF-8"),
|
||||
IOUtils.peekFirst8Bytes(new ByteArrayInputStream("0123456789".getBytes("UTF-8"))));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testPeekFirst8BytesWithPushbackInputStream() throws Exception {
|
||||
assertArrayEquals("01234567".getBytes("UTF-8"),
|
||||
IOUtils.peekFirst8Bytes(new PushbackInputStream(new ByteArrayInputStream("0123456789".getBytes("UTF-8")), 8)));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testPeekFirst8BytesTooLessAvailable() throws Exception {
|
||||
assertArrayEquals(new byte[] { 1, 2, 3, 0, 0, 0, 0, 0},
|
||||
IOUtils.peekFirst8Bytes(new ByteArrayInputStream(new byte[] { 1, 2, 3})));
|
||||
}
|
||||
|
||||
@Test(expected = EmptyFileException.class)
|
||||
public void testPeekFirst8BytesEmpty() throws Exception {
|
||||
IOUtils.peekFirst8Bytes(new ByteArrayInputStream(new byte[] {}));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testToByteArray() throws Exception {
|
||||
assertArrayEquals(new byte[] { 1, 2, 3},
|
||||
IOUtils.toByteArray(new ByteArrayInputStream(new byte[] { 1, 2, 3})));
|
||||
}
|
||||
|
||||
@Test(expected = IOException.class)
|
||||
public void testToByteArrayToSmall() throws Exception {
|
||||
assertArrayEquals(new byte[] { 1, 2, 3},
|
||||
IOUtils.toByteArray(new ByteArrayInputStream(new byte[] { 1, 2, 3}), 10));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testToByteArrayByteBuffer() throws Exception {
|
||||
assertArrayEquals(new byte[] { 1, 2, 3},
|
||||
IOUtils.toByteArray(ByteBuffer.wrap(new byte[]{1, 2, 3}), 10));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testToByteArrayByteBufferToSmall() throws Exception {
|
||||
assertArrayEquals(new byte[] { 1, 2, 3, 4, 5, 6, 7},
|
||||
IOUtils.toByteArray(ByteBuffer.wrap(new byte[]{1, 2, 3, 4, 5, 6, 7}), 3));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testSkipFully() throws IOException {
|
||||
InputStream is = new FileInputStream(TMP);
|
||||
@ -90,6 +142,11 @@ public final class TestIOUtils {
|
||||
assertEquals("length: "+LENGTH, LENGTH, skipped);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testSkipFullyBug61294() throws IOException {
|
||||
IOUtils.skipFully(new ByteArrayInputStream(new byte[0]), 1);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testZeroByte() throws IOException {
|
||||
long skipped = IOUtils.skipFully((new ByteArrayInputStream(new byte[0])), 100);
|
||||
@ -105,7 +162,7 @@ public final class TestIOUtils {
|
||||
@Test(expected = IllegalArgumentException.class)
|
||||
public void testSkipNegative() throws IOException {
|
||||
InputStream is = new FileInputStream(TMP);
|
||||
long skipped = IOUtils.skipFully(is, -1);
|
||||
IOUtils.skipFully(is, -1);
|
||||
}
|
||||
|
||||
@Test
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user