You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@poi.apache.org by ma...@apache.org on 2021/02/28 16:47:43 UTC

svn commit: r1886999 - in /poi/trunk/src/scratchpad/src/org/apache/poi/hwpf: HWPFDocument.java model/EscherRecordHolder.java

Author: mariusvolkhart
Date: Sun Feb 28 16:47:43 2021
New Revision: 1886999

URL: http://svn.apache.org/viewvc?rev=1886999&view=rev
Log:
Simplify initialization of HWPF EscherRecordHolder

Modified:
    poi/trunk/src/scratchpad/src/org/apache/poi/hwpf/HWPFDocument.java
    poi/trunk/src/scratchpad/src/org/apache/poi/hwpf/model/EscherRecordHolder.java

Modified: poi/trunk/src/scratchpad/src/org/apache/poi/hwpf/HWPFDocument.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/scratchpad/src/org/apache/poi/hwpf/HWPFDocument.java?rev=1886999&r1=1886998&r2=1886999&view=diff
==============================================================================
--- poi/trunk/src/scratchpad/src/org/apache/poi/hwpf/HWPFDocument.java (original)
+++ poi/trunk/src/scratchpad/src/org/apache/poi/hwpf/HWPFDocument.java Sun Feb 28 16:47:43 2021
@@ -309,11 +309,7 @@ public final class HWPFDocument extends
                 FSPADocumentPart.HEADER);
         _fspaMain = new FSPATable(_tableStream, _fib, FSPADocumentPart.MAIN);
 
-        if (_fib.getFcDggInfo() != 0) {
-            _escherRecordHolder = new EscherRecordHolder(_tableStream, _fib.getFcDggInfo(), _fib.getLcbDggInfo());
-        } else {
-            _escherRecordHolder = new EscherRecordHolder();
-        }
+        _escherRecordHolder = new EscherRecordHolder(_tableStream, _fib.getFcDggInfo(), _fib.getLcbDggInfo());
 
         // read in the pictures stream
         _pictures = new PicturesTable(this, _dataStream, _mainStream, _fspaMain, _escherRecordHolder);

Modified: poi/trunk/src/scratchpad/src/org/apache/poi/hwpf/model/EscherRecordHolder.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/scratchpad/src/org/apache/poi/hwpf/model/EscherRecordHolder.java?rev=1886999&r1=1886998&r2=1886999&view=diff
==============================================================================
--- poi/trunk/src/scratchpad/src/org/apache/poi/hwpf/model/EscherRecordHolder.java (original)
+++ poi/trunk/src/scratchpad/src/org/apache/poi/hwpf/model/EscherRecordHolder.java Sun Feb 28 16:47:43 2021
@@ -34,19 +34,23 @@ import org.apache.poi.util.Internal;
  */
 @Internal
 public final class EscherRecordHolder {
-	private final ArrayList<EscherRecord> escherRecords;
-
-	public EscherRecordHolder() {
-		escherRecords = new ArrayList<>();
-	}
+	private final ArrayList<EscherRecord> escherRecords = new ArrayList<>();
 
 	public EscherRecordHolder(byte[] data, int offset, int size) {
-		this();
 		fillEscherRecords(data, offset, size);
 	}
 
+	/**
+	 * Parses the records out of the given data.
+	 *
+	 * The thing to be aware of here is that if {@code size} is {@code 0}, the document does not contain images.
+	 *
+	 * @see FileInformationBlock#getLcbDggInfo()
+	 */
 	private void fillEscherRecords(byte[] data, int offset, int size)
 	{
+		if (size == 0) return;
+
 		EscherRecordFactory recordFactory = new DefaultEscherRecordFactory();
 		int pos = offset;
 		while ( pos < offset + size)
@@ -62,6 +66,7 @@ public final class EscherRecordHolder {
 		return escherRecords;
 	}
 
+	@Override
 	public String toString() {
 		StringBuilder buffer = new StringBuilder();
 



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@poi.apache.org
For additional commands, e-mail: commits-help@poi.apache.org