diff options
author | Andreas Beeker <kiwiwings@apache.org> | 2020-10-18 22:24:16 +0000 |
---|---|---|
committer | Andreas Beeker <kiwiwings@apache.org> | 2020-10-18 22:24:16 +0000 |
commit | 7a2a057c86e2b053e57f7d9ebdff9710eff3c1a4 (patch) | |
tree | b9bb8eeb7717a5d0a06e85bdaecfa5ab60f08f25 /src/java/org/apache/poi/ss/usermodel | |
parent | 667d9a8f3255bbd21de0b4be8654f865039748dc (diff) | |
download | poi-7a2a057c86e2b053e57f7d9ebdff9710eff3c1a4.tar.gz poi-7a2a057c86e2b053e57f7d9ebdff9710eff3c1a4.zip |
#64817 - Fix issue in testXLSXinPPT
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1882623 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'src/java/org/apache/poi/ss/usermodel')
-rw-r--r-- | src/java/org/apache/poi/ss/usermodel/WorkbookFactory.java | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/src/java/org/apache/poi/ss/usermodel/WorkbookFactory.java b/src/java/org/apache/poi/ss/usermodel/WorkbookFactory.java index ede792368a..c0f376f65f 100644 --- a/src/java/org/apache/poi/ss/usermodel/WorkbookFactory.java +++ b/src/java/org/apache/poi/ss/usermodel/WorkbookFactory.java @@ -17,7 +17,7 @@ package org.apache.poi.ss.usermodel; import static org.apache.poi.extractor.ExtractorFactory.OOXML_PACKAGE; -import static org.apache.poi.poifs.crypt.EncryptionInfo.ENCRYPTION_INFO_ENTRY; +import static org.apache.poi.poifs.crypt.Decryptor.DEFAULT_POIFS_ENTRY; import java.io.BufferedInputStream; import java.io.File; @@ -31,7 +31,6 @@ import java.util.ServiceLoader; import org.apache.poi.EmptyFileException; import org.apache.poi.EncryptedDocumentException; import org.apache.poi.hssf.usermodel.HSSFWorkbook; -import org.apache.poi.poifs.crypt.Decryptor; import org.apache.poi.poifs.filesystem.DirectoryNode; import org.apache.poi.poifs.filesystem.FileMagic; import org.apache.poi.poifs.filesystem.POIFSFileSystem; @@ -132,7 +131,7 @@ public final class WorkbookFactory { */ public static Workbook create(final DirectoryNode root, String password) throws IOException { // Encrypted OOXML files go inside OLE2 containers, is this one? - if (root.hasEntry(Decryptor.DEFAULT_POIFS_ENTRY) || root.hasEntry(OOXML_PACKAGE)) { + if (root.hasEntry(DEFAULT_POIFS_ENTRY) || root.hasEntry(OOXML_PACKAGE)) { return wp(FileMagic.OOXML, w -> w.create(root, password)); } else { return wp(FileMagic.OLE2, w -> w.create(root, password)); @@ -205,9 +204,10 @@ public final class WorkbookFactory { } POIFSFileSystem poifs = new POIFSFileSystem(is); - boolean isOOXML = poifs.getRoot().hasEntry(ENCRYPTION_INFO_ENTRY); + DirectoryNode root = poifs.getRoot(); + boolean isOOXML = root.hasEntry(DEFAULT_POIFS_ENTRY) || root.hasEntry(OOXML_PACKAGE); - return wp(isOOXML ? FileMagic.OOXML : fm, w -> w.create(poifs.getRoot(), password)); + return wp(isOOXML ? FileMagic.OOXML : fm, w -> w.create(root, password)); } /** @@ -279,7 +279,7 @@ public final class WorkbookFactory { final boolean ooxmlEnc; try (POIFSFileSystem fs = new POIFSFileSystem(file, true)) { DirectoryNode root = fs.getRoot(); - ooxmlEnc = root.hasEntry(Decryptor.DEFAULT_POIFS_ENTRY) || root.hasEntry(OOXML_PACKAGE); + ooxmlEnc = root.hasEntry(DEFAULT_POIFS_ENTRY) || root.hasEntry(OOXML_PACKAGE); } return wp(ooxmlEnc ? FileMagic.OOXML : fm, w -> w.create(file, password, readOnly)); } |