Author: fanningpj
Date: Fri Dec 10 18:07:25 2021
New Revision: 1895788
URL: http://svn.apache.org/viewvc?rev=1895788&view=rev
Log:
[bug-65738] do not treat zip directories as parts
Modified:
poi/trunk/poi-ooxml/src/main/java/org/apache/poi/openxml4j/opc/ZipPackage.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=1895788&r1=1895787&r2=1895788&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
Fri Dec 10 18:07:25 2021
@@ -308,6 +308,7 @@ public final class ZipPackage extends OP
// its relationship exists, and then it won't tie up)
final List<EntryTriple> entries =
Collections.list(zipArchive.getEntries()).stream()
+ .filter(zipArchiveEntry ->
!ignoreEntry(zipArchiveEntry))
.map(zae -> new EntryTriple(zae, contentTypeManager))
.filter(mm -> mm.partName != null)
.sorted()
@@ -320,6 +321,11 @@ public final class ZipPackage extends OP
return newPartList;
}
+ private static boolean ignoreEntry(ZipArchiveEntry zipArchiveEntry) {
+ String name = zipArchiveEntry.getName();
+ return name.startsWith("[trash]") || name.endsWith("/");
+ }
+
private class EntryTriple implements Comparable<EntryTriple> {
final ZipArchiveEntry zipArchiveEntry;
final PackagePartName partName;
@@ -331,7 +337,7 @@ public final class ZipPackage extends OP
final String entryName = zipArchiveEntry.getName();
PackagePartName ppn = null;
// ignore trash parts
- if (!entryName.startsWith("[trash]")) {
+ if (!ignoreEntry(zipArchiveEntry)) {
try {
// We get an error when we parse [Content_Types].xml
// because it's not a valid URI.
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]