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