Author: tilman
Date: Sat Nov 15 13:19:10 2025
New Revision: 1929758
Log:
PDFBOX-5660: optimize, as suggested by Valery Bokov; DRY refactoring; closes
#330
Modified:
pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/pdfparser/BruteForceParser.java
Modified:
pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/pdfparser/BruteForceParser.java
==============================================================================
---
pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/pdfparser/BruteForceParser.java
Sat Nov 15 12:45:02 2025 (r1929757)
+++
pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/pdfparser/BruteForceParser.java
Sat Nov 15 13:19:10 2025 (r1929758)
@@ -22,6 +22,7 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
+import java.util.Set;
import java.util.stream.Collectors;
import org.apache.commons.logging.Log;
@@ -305,14 +306,15 @@ public class BruteForceParser extends CO
Map<Long, COSObjectKey> bfSearchForObjStreamOffsets =
bfSearchForObjStreamOffsets();
Map<COSObjectKey, Long> bfCOSObjectOffsets = getBFCOSObjectOffsets();
+ Set<Entry<Long, COSObjectKey>> entries =
bfSearchForObjStreamOffsets.entrySet();
// log warning about skipped stream
- bfSearchForObjStreamOffsets.entrySet().stream() //
+ entries.stream() //
.filter(o -> bfCOSObjectOffsets.get(o.getValue()) == null) //
.forEach(o -> LOG.warn(
"Skipped incomplete object stream:" + o.getValue() + "
at " + o.getKey()));
// collect all stream offsets
- List<Long> objStreamOffsets =
bfSearchForObjStreamOffsets.entrySet().stream() //
+ List<Long> objStreamOffsets = entries.stream() //
.filter(o -> bfCOSObjectOffsets.get(o.getValue()) != null) //
.filter(o ->
o.getKey().equals(bfCOSObjectOffsets.get(o.getValue()))) //
.map(Map.Entry::getKey) //