You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@poi.apache.org by fa...@apache.org on 2021/10/17 10:24:04 UTC
svn commit: r1894313 - in /poi/trunk/poi-ooxml/src:
main/java/org/apache/poi/openxml4j/opc/internal/
test/java/org/apache/poi/xssf/usermodel/
Author: fanningpj
Date: Sun Oct 17 10:24:03 2021
New Revision: 1894313
URL: http://svn.apache.org/viewvc?rev=1894313&view=rev
Log:
extra tests for Zip package parts backed by temp files
Modified:
poi/trunk/poi-ooxml/src/main/java/org/apache/poi/openxml4j/opc/internal/EncryptedTempFilePackagePart.java
poi/trunk/poi-ooxml/src/main/java/org/apache/poi/openxml4j/opc/internal/MemoryPackagePart.java
poi/trunk/poi-ooxml/src/main/java/org/apache/poi/openxml4j/opc/internal/TempFilePackagePart.java
poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xssf/usermodel/TestXSSFPicture.java
Modified: poi/trunk/poi-ooxml/src/main/java/org/apache/poi/openxml4j/opc/internal/EncryptedTempFilePackagePart.java
URL: http://svn.apache.org/viewvc/poi/trunk/poi-ooxml/src/main/java/org/apache/poi/openxml4j/opc/internal/EncryptedTempFilePackagePart.java?rev=1894313&r1=1894312&r2=1894313&view=diff
==============================================================================
--- poi/trunk/poi-ooxml/src/main/java/org/apache/poi/openxml4j/opc/internal/EncryptedTempFilePackagePart.java (original)
+++ poi/trunk/poi-ooxml/src/main/java/org/apache/poi/openxml4j/opc/internal/EncryptedTempFilePackagePart.java Sun Oct 17 10:24:03 2021
@@ -62,7 +62,7 @@ public final class EncryptedTempFilePack
*/
public EncryptedTempFilePackagePart(OPCPackage pack, PackagePartName partName,
String contentType) throws InvalidFormatException, IOException {
- this(pack, partName, contentType, false);
+ this(pack, partName, contentType, true);
}
/**
Modified: poi/trunk/poi-ooxml/src/main/java/org/apache/poi/openxml4j/opc/internal/MemoryPackagePart.java
URL: http://svn.apache.org/viewvc/poi/trunk/poi-ooxml/src/main/java/org/apache/poi/openxml4j/opc/internal/MemoryPackagePart.java?rev=1894313&r1=1894312&r2=1894313&view=diff
==============================================================================
--- poi/trunk/poi-ooxml/src/main/java/org/apache/poi/openxml4j/opc/internal/MemoryPackagePart.java (original)
+++ poi/trunk/poi-ooxml/src/main/java/org/apache/poi/openxml4j/opc/internal/MemoryPackagePart.java Sun Oct 17 10:24:03 2021
@@ -57,7 +57,7 @@ public final class MemoryPackagePart ext
*/
public MemoryPackagePart(OPCPackage pack, PackagePartName partName,
String contentType) throws InvalidFormatException {
- super(pack, partName, contentType);
+ this(pack, partName, contentType, true);
}
/**
Modified: poi/trunk/poi-ooxml/src/main/java/org/apache/poi/openxml4j/opc/internal/TempFilePackagePart.java
URL: http://svn.apache.org/viewvc/poi/trunk/poi-ooxml/src/main/java/org/apache/poi/openxml4j/opc/internal/TempFilePackagePart.java?rev=1894313&r1=1894312&r2=1894313&view=diff
==============================================================================
--- poi/trunk/poi-ooxml/src/main/java/org/apache/poi/openxml4j/opc/internal/TempFilePackagePart.java (original)
+++ poi/trunk/poi-ooxml/src/main/java/org/apache/poi/openxml4j/opc/internal/TempFilePackagePart.java Sun Oct 17 10:24:03 2021
@@ -61,7 +61,7 @@ public final class TempFilePackagePart e
*/
public TempFilePackagePart(OPCPackage pack, PackagePartName partName,
String contentType) throws InvalidFormatException, IOException {
- this(pack, partName, contentType, false);
+ this(pack, partName, contentType, true);
}
/**
Modified: poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xssf/usermodel/TestXSSFPicture.java
URL: http://svn.apache.org/viewvc/poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xssf/usermodel/TestXSSFPicture.java?rev=1894313&r1=1894312&r2=1894313&view=diff
==============================================================================
--- poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xssf/usermodel/TestXSSFPicture.java (original)
+++ poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xssf/usermodel/TestXSSFPicture.java Sun Oct 17 10:24:03 2021
@@ -25,6 +25,7 @@ import static org.junit.jupiter.api.Asse
import java.io.IOException;
import java.util.List;
+import org.apache.poi.openxml4j.opc.ZipPackage;
import org.apache.poi.ss.usermodel.BaseTestPicture;
import org.apache.poi.ss.usermodel.ClientAnchor.AnchorType;
import org.apache.poi.ss.usermodel.Drawing;
@@ -105,50 +106,73 @@ public final class TestXSSFPicture exten
}
/**
- * same image refrerred by mulitple sheets
+ * same image referred to by multiple sheets
*/
@Test
- void multiRelationShips() throws IOException {
- try (XSSFWorkbook wb1 = new XSSFWorkbook()) {
- byte[] pic1Data = "test jpeg data".getBytes(LocaleUtil.CHARSET_1252);
- byte[] pic2Data = "test png data".getBytes(LocaleUtil.CHARSET_1252);
-
- List<XSSFPictureData> pictures = wb1.getAllPictures();
- assertEquals(0, pictures.size());
+ void multiRelationships() throws IOException {
+ multiRelationships(false, false);
+ }
- int pic1 = wb1.addPicture(pic1Data, XSSFWorkbook.PICTURE_TYPE_JPEG);
- int pic2 = wb1.addPicture(pic2Data, XSSFWorkbook.PICTURE_TYPE_PNG);
+ @Test
+ void multiRelationshipsWithTempFileParts() throws IOException {
+ multiRelationships(true, false);
+ }
- XSSFSheet sheet1 = wb1.createSheet();
- XSSFDrawing drawing1 = sheet1.createDrawingPatriarch();
- XSSFPicture shape1 = drawing1.createPicture(new XSSFClientAnchor(), pic1);
- XSSFPicture shape2 = drawing1.createPicture(new XSSFClientAnchor(), pic2);
-
- XSSFSheet sheet2 = wb1.createSheet();
- XSSFDrawing drawing2 = sheet2.createDrawingPatriarch();
- XSSFPicture shape3 = drawing2.createPicture(new XSSFClientAnchor(), pic2);
- XSSFPicture shape4 = drawing2.createPicture(new XSSFClientAnchor(), pic1);
+ @Test
+ void multiRelationshipsWithEncryptedTempFileParts() throws IOException {
+ multiRelationships(true, true);
+ }
- assertEquals(2, pictures.size());
+ private void multiRelationships(boolean tempFileParts, boolean encrypt) throws IOException {
+ final boolean originalTempFileSetting = ZipPackage.useTempFilePackageParts();
+ final boolean originalEncryptSetting = ZipPackage.encryptTempFilePackageParts();
+ try {
+ ZipPackage.setUseTempFilePackageParts(tempFileParts);
+ ZipPackage.setEncryptTempFilePackageParts(encrypt);
+ try (XSSFWorkbook wb1 = new XSSFWorkbook()) {
+ byte[] pic1Data = "test jpeg data".getBytes(LocaleUtil.CHARSET_1252);
+ byte[] pic2Data = "test png data".getBytes(LocaleUtil.CHARSET_1252);
+
+ List<XSSFPictureData> pictures = wb1.getAllPictures();
+ assertEquals(0, pictures.size());
+
+ int pic1 = wb1.addPicture(pic1Data, XSSFWorkbook.PICTURE_TYPE_JPEG);
+ int pic2 = wb1.addPicture(pic2Data, XSSFWorkbook.PICTURE_TYPE_PNG);
+
+ XSSFSheet sheet1 = wb1.createSheet();
+ XSSFDrawing drawing1 = sheet1.createDrawingPatriarch();
+ XSSFPicture shape1 = drawing1.createPicture(new XSSFClientAnchor(), pic1);
+ XSSFPicture shape2 = drawing1.createPicture(new XSSFClientAnchor(), pic2);
+
+ XSSFSheet sheet2 = wb1.createSheet();
+ XSSFDrawing drawing2 = sheet2.createDrawingPatriarch();
+ XSSFPicture shape3 = drawing2.createPicture(new XSSFClientAnchor(), pic2);
+ XSSFPicture shape4 = drawing2.createPicture(new XSSFClientAnchor(), pic1);
- try (XSSFWorkbook wb2 = XSSFTestDataSamples.writeOutAndReadBack(wb1)) {
- pictures = wb2.getAllPictures();
assertEquals(2, pictures.size());
- sheet1 = wb2.getSheetAt(0);
- drawing1 = sheet1.createDrawingPatriarch();
- XSSFPicture shape11 = (XSSFPicture) drawing1.getShapes().get(0);
- assertArrayEquals(shape1.getPictureData().getData(), shape11.getPictureData().getData());
- XSSFPicture shape22 = (XSSFPicture) drawing1.getShapes().get(1);
- assertArrayEquals(shape2.getPictureData().getData(), shape22.getPictureData().getData());
-
- sheet2 = wb2.getSheetAt(1);
- drawing2 = sheet2.createDrawingPatriarch();
- XSSFPicture shape33 = (XSSFPicture) drawing2.getShapes().get(0);
- assertArrayEquals(shape3.getPictureData().getData(), shape33.getPictureData().getData());
- XSSFPicture shape44 = (XSSFPicture) drawing2.getShapes().get(1);
- assertArrayEquals(shape4.getPictureData().getData(), shape44.getPictureData().getData());
+ try (XSSFWorkbook wb2 = XSSFTestDataSamples.writeOutAndReadBack(wb1)) {
+ pictures = wb2.getAllPictures();
+ assertEquals(2, pictures.size());
+
+ sheet1 = wb2.getSheetAt(0);
+ drawing1 = sheet1.createDrawingPatriarch();
+ XSSFPicture shape11 = (XSSFPicture) drawing1.getShapes().get(0);
+ assertArrayEquals(shape1.getPictureData().getData(), shape11.getPictureData().getData());
+ XSSFPicture shape22 = (XSSFPicture) drawing1.getShapes().get(1);
+ assertArrayEquals(shape2.getPictureData().getData(), shape22.getPictureData().getData());
+
+ sheet2 = wb2.getSheetAt(1);
+ drawing2 = sheet2.createDrawingPatriarch();
+ XSSFPicture shape33 = (XSSFPicture) drawing2.getShapes().get(0);
+ assertArrayEquals(shape3.getPictureData().getData(), shape33.getPictureData().getData());
+ XSSFPicture shape44 = (XSSFPicture) drawing2.getShapes().get(1);
+ assertArrayEquals(shape4.getPictureData().getData(), shape44.getPictureData().getData());
+ }
}
+ } finally {
+ ZipPackage.setUseTempFilePackageParts(originalTempFileSetting);
+ ZipPackage.setEncryptTempFilePackageParts(originalEncryptSetting);
}
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@poi.apache.org
For additional commands, e-mail: commits-help@poi.apache.org