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/14 09:28:26 UTC
svn commit: r1894224 - in /poi/trunk/poi-ooxml/src:
main/java/org/apache/poi/openxml4j/opc/ZipPackage.java
test/java/org/apache/poi/xssf/usermodel/TestXSSFWorkbook.java
Author: fanningpj
Date: Thu Oct 14 09:28:26 2021
New Revision: 1894224
URL: http://svn.apache.org/viewvc?rev=1894224&view=rev
Log:
temp file package parts
Modified:
poi/trunk/poi-ooxml/src/main/java/org/apache/poi/openxml4j/opc/ZipPackage.java
poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xssf/usermodel/TestXSSFWorkbook.java
Modified: poi/trunk/poi-ooxml/src/main/java/org/apache/poi/openxml4j/opc/ZipPackage.java
URL: http://svn.apache.org/viewvc/poi/trunk/poi-ooxml/src/main/java/org/apache/poi/openxml4j/opc/ZipPackage.java?rev=1894224&r1=1894223&r2=1894224&view=diff
==============================================================================
--- poi/trunk/poi-ooxml/src/main/java/org/apache/poi/openxml4j/opc/ZipPackage.java (original)
+++ poi/trunk/poi-ooxml/src/main/java/org/apache/poi/openxml4j/opc/ZipPackage.java Thu Oct 14 09:28:26 2021
@@ -72,28 +72,28 @@ public final class ZipPackage extends OP
/**
* @param tempFilePackageParts whether to save package part data in temp files to save memory
*/
- public void setUseTempFilePackageParts(boolean tempFilePackageParts) {
+ public static void setUseTempFilePackageParts(boolean tempFilePackageParts) {
useTempFilePackageParts = tempFilePackageParts;
}
/**
* @param encryptTempFiles whether to encrypt temp files
*/
- public void setEncryptTempFilePackageParts(boolean encryptTempFiles) {
+ public static void setEncryptTempFilePackageParts(boolean encryptTempFiles) {
encryptTempFilePackageParts = encryptTempFiles;
}
/**
* @return whether package part data is stored in temp files to save memory
*/
- public boolean useTempFilePackageParts() {
+ public static boolean useTempFilePackageParts() {
return useTempFilePackageParts;
}
/**
* @return whether package part temp files are encrypted
*/
- public boolean encryptTempFilePackageParts() {
+ public static boolean encryptTempFilePackageParts() {
return encryptTempFilePackageParts;
}
Modified: poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xssf/usermodel/TestXSSFWorkbook.java
URL: http://svn.apache.org/viewvc/poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xssf/usermodel/TestXSSFWorkbook.java?rev=1894224&r1=1894223&r2=1894224&view=diff
==============================================================================
--- poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xssf/usermodel/TestXSSFWorkbook.java (original)
+++ poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xssf/usermodel/TestXSSFWorkbook.java Thu Oct 14 09:28:26 2021
@@ -37,18 +37,12 @@ import java.util.List;
import java.util.function.Consumer;
import java.util.zip.CRC32;
+import org.apache.commons.io.output.UnsynchronizedByteArrayOutputStream;
import org.apache.poi.POIDataSamples;
import org.apache.poi.hssf.HSSFTestDataSamples;
import org.apache.poi.ooxml.POIXMLProperties;
import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
-import org.apache.poi.openxml4j.opc.ContentTypes;
-import org.apache.poi.openxml4j.opc.OPCPackage;
-import org.apache.poi.openxml4j.opc.PackageAccess;
-import org.apache.poi.openxml4j.opc.PackagePart;
-import org.apache.poi.openxml4j.opc.PackagePartName;
-import org.apache.poi.openxml4j.opc.PackageRelationship;
-import org.apache.poi.openxml4j.opc.PackageRelationshipCollection;
-import org.apache.poi.openxml4j.opc.PackagingURIHelper;
+import org.apache.poi.openxml4j.opc.*;
import org.apache.poi.openxml4j.opc.internal.FileHelper;
import org.apache.poi.openxml4j.opc.internal.MemoryPackagePart;
import org.apache.poi.openxml4j.opc.internal.PackagePropertiesPart;
@@ -1207,13 +1201,54 @@ public final class TestXSSFWorkbook exte
}
}
- private static void expectFormattedContent(Cell cell, String value) {
- assertEquals(value, new DataFormatter().formatCellValue(cell),
- "Cell " + ref(cell) + " has wrong formatted content.");
+ @Test
+ void testNewWorkbookWithTempFilePackageParts() throws Exception {
+ try(UnsynchronizedByteArrayOutputStream bos = new UnsynchronizedByteArrayOutputStream()) {
+ assertFalse(ZipPackage.useTempFilePackageParts(), "useTempFilePackageParts defaults to false?");
+ assertFalse(ZipPackage.encryptTempFilePackageParts(), "encryptTempFilePackageParts defaults to false?");
+ ZipPackage.setUseTempFilePackageParts(true);
+ assertTrue(ZipPackage.useTempFilePackageParts(), "useTempFilePackageParts was modified?");
+ assertFalse(ZipPackage.encryptTempFilePackageParts(), "encryptTempFilePackageParts was not modified?");
+ try (XSSFWorkbook workbook = new XSSFWorkbook()) {
+ XSSFSheet sheet = workbook.createSheet("sheet1");
+ XSSFRow row = sheet.createRow(0);
+ XSSFCell cell0 = row.createCell(0);
+ cell0.setCellValue("");
+ XSSFCell cell1 = row.createCell(1);
+ cell1.setCellErrorValue(FormulaError.DIV0);
+ XSSFCell cell2 = row.createCell(2);
+ cell2.setCellErrorValue(FormulaError.FUNCTION_NOT_IMPLEMENTED);
+ workbook.write(bos);
+ } finally {
+ ZipPackage.setUseTempFilePackageParts(false);
+ }
+ }
}
- private static String ref(Cell cell) {
- return new CellReference(cell).formatAsString();
+ @Test
+ void testNewWorkbookWithEncryptedTempFilePackageParts() throws Exception {
+ try(UnsynchronizedByteArrayOutputStream bos = new UnsynchronizedByteArrayOutputStream()) {
+ assertFalse(ZipPackage.useTempFilePackageParts(), "useTempFilePackageParts defaults to false?");
+ assertFalse(ZipPackage.encryptTempFilePackageParts(), "encryptTempFilePackageParts defaults to false?");
+ ZipPackage.setUseTempFilePackageParts(true);
+ ZipPackage.setEncryptTempFilePackageParts(true);
+ assertTrue(ZipPackage.useTempFilePackageParts(), "useTempFilePackageParts was modified?");
+ assertTrue(ZipPackage.encryptTempFilePackageParts(), "encryptTempFilePackageParts was modified?");
+ try (XSSFWorkbook workbook = new XSSFWorkbook()) {
+ XSSFSheet sheet = workbook.createSheet("sheet1");
+ XSSFRow row = sheet.createRow(0);
+ XSSFCell cell0 = row.createCell(0);
+ cell0.setCellValue("");
+ XSSFCell cell1 = row.createCell(1);
+ cell1.setCellErrorValue(FormulaError.DIV0);
+ XSSFCell cell2 = row.createCell(2);
+ cell2.setCellErrorValue(FormulaError.FUNCTION_NOT_IMPLEMENTED);
+ workbook.write(bos);
+ } finally {
+ ZipPackage.setUseTempFilePackageParts(false);
+ ZipPackage.setEncryptTempFilePackageParts(false);
+ }
+ }
}
@Test
@@ -1250,4 +1285,13 @@ public final class TestXSSFWorkbook exte
}
}
+ private static void expectFormattedContent(Cell cell, String value) {
+ assertEquals(value, new DataFormatter().formatCellValue(cell),
+ "Cell " + ref(cell) + " has wrong formatted content.");
+ }
+
+ private static String ref(Cell cell) {
+ return new CellReference(cell).formatAsString();
+ }
+
}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@poi.apache.org
For additional commands, e-mail: commits-help@poi.apache.org