Author: fanningpj Date: Wed Sep 6 22:32:28 2023 New Revision: 1912149 URL: http://svn.apache.org/viewvc?rev=1912149&view=rev Log: [GitHub-511] Prevent artificial row creation when reading XWPFTable. Thanks to Christian Appl. This closes #511
Modified: poi/trunk/poi-ooxml/src/main/java/org/apache/poi/xwpf/usermodel/XWPFAbstractFootnoteEndnote.java poi/trunk/poi-ooxml/src/main/java/org/apache/poi/xwpf/usermodel/XWPFComment.java poi/trunk/poi-ooxml/src/main/java/org/apache/poi/xwpf/usermodel/XWPFDocument.java poi/trunk/poi-ooxml/src/main/java/org/apache/poi/xwpf/usermodel/XWPFFooter.java poi/trunk/poi-ooxml/src/main/java/org/apache/poi/xwpf/usermodel/XWPFHeader.java poi/trunk/poi-ooxml/src/main/java/org/apache/poi/xwpf/usermodel/XWPFHeaderFooter.java poi/trunk/poi-ooxml/src/main/java/org/apache/poi/xwpf/usermodel/XWPFSDTContent.java poi/trunk/poi-ooxml/src/main/java/org/apache/poi/xwpf/usermodel/XWPFTable.java poi/trunk/poi-ooxml/src/main/java/org/apache/poi/xwpf/usermodel/XWPFTableCell.java Modified: poi/trunk/poi-ooxml/src/main/java/org/apache/poi/xwpf/usermodel/XWPFAbstractFootnoteEndnote.java URL: http://svn.apache.org/viewvc/poi/trunk/poi-ooxml/src/main/java/org/apache/poi/xwpf/usermodel/XWPFAbstractFootnoteEndnote.java?rev=1912149&r1=1912148&r2=1912149&view=diff ============================================================================== --- poi/trunk/poi-ooxml/src/main/java/org/apache/poi/xwpf/usermodel/XWPFAbstractFootnoteEndnote.java (original) +++ poi/trunk/poi-ooxml/src/main/java/org/apache/poi/xwpf/usermodel/XWPFAbstractFootnoteEndnote.java Wed Sep 6 22:32:28 2023 @@ -83,7 +83,7 @@ public abstract class XWPFAbstractFootno bodyElements.add(p); paragraphs.add(p); } else if (o instanceof CTTbl) { - XWPFTable t = new XWPFTable((CTTbl) o, this); + XWPFTable t = new XWPFTable((CTTbl) o, this, false); bodyElements.add(t); tables.add(t); } else if (o instanceof CTSdtBlock) { Modified: poi/trunk/poi-ooxml/src/main/java/org/apache/poi/xwpf/usermodel/XWPFComment.java URL: http://svn.apache.org/viewvc/poi/trunk/poi-ooxml/src/main/java/org/apache/poi/xwpf/usermodel/XWPFComment.java?rev=1912149&r1=1912148&r2=1912149&view=diff ============================================================================== --- poi/trunk/poi-ooxml/src/main/java/org/apache/poi/xwpf/usermodel/XWPFComment.java (original) +++ poi/trunk/poi-ooxml/src/main/java/org/apache/poi/xwpf/usermodel/XWPFComment.java Wed Sep 6 22:32:28 2023 @@ -55,7 +55,7 @@ public class XWPFComment implements IBod bodyElements.add(p); paragraphs.add(p); } else if (o instanceof CTTbl) { - XWPFTable t = new XWPFTable((CTTbl) o, this); + XWPFTable t = new XWPFTable((CTTbl) o, this, false); bodyElements.add(t); tables.add(t); } else if (o instanceof CTSdtBlock) { Modified: poi/trunk/poi-ooxml/src/main/java/org/apache/poi/xwpf/usermodel/XWPFDocument.java URL: http://svn.apache.org/viewvc/poi/trunk/poi-ooxml/src/main/java/org/apache/poi/xwpf/usermodel/XWPFDocument.java?rev=1912149&r1=1912148&r2=1912149&view=diff ============================================================================== --- poi/trunk/poi-ooxml/src/main/java/org/apache/poi/xwpf/usermodel/XWPFDocument.java (original) +++ poi/trunk/poi-ooxml/src/main/java/org/apache/poi/xwpf/usermodel/XWPFDocument.java Wed Sep 6 22:32:28 2023 @@ -219,7 +219,7 @@ public class XWPFDocument extends POIXML bodyElements.add(p); paragraphs.add(p); } else if (bodyObj instanceof CTTbl) { - XWPFTable t = new XWPFTable((CTTbl) bodyObj, this); + XWPFTable t = new XWPFTable((CTTbl) bodyObj, this, false); bodyElements.add(t); tables.add(t); } else if (bodyObj instanceof CTSdtBlock) { Modified: poi/trunk/poi-ooxml/src/main/java/org/apache/poi/xwpf/usermodel/XWPFFooter.java URL: http://svn.apache.org/viewvc/poi/trunk/poi-ooxml/src/main/java/org/apache/poi/xwpf/usermodel/XWPFFooter.java?rev=1912149&r1=1912148&r2=1912149&view=diff ============================================================================== --- poi/trunk/poi-ooxml/src/main/java/org/apache/poi/xwpf/usermodel/XWPFFooter.java (original) +++ poi/trunk/poi-ooxml/src/main/java/org/apache/poi/xwpf/usermodel/XWPFFooter.java Wed Sep 6 22:32:28 2023 @@ -57,7 +57,7 @@ public class XWPFFooter extends XWPFHead bodyElements.add(p); } if (o instanceof CTTbl) { - XWPFTable t = new XWPFTable((CTTbl) o, this); + XWPFTable t = new XWPFTable((CTTbl) o, this, false); tables.add(t); bodyElements.add(t); } @@ -105,7 +105,7 @@ public class XWPFFooter extends XWPFHead bodyElements.add(p); } if (o instanceof CTTbl) { - XWPFTable t = new XWPFTable((CTTbl) o, this); + XWPFTable t = new XWPFTable((CTTbl) o, this, false); tables.add(t); bodyElements.add(t); } Modified: poi/trunk/poi-ooxml/src/main/java/org/apache/poi/xwpf/usermodel/XWPFHeader.java URL: http://svn.apache.org/viewvc/poi/trunk/poi-ooxml/src/main/java/org/apache/poi/xwpf/usermodel/XWPFHeader.java?rev=1912149&r1=1912148&r2=1912149&view=diff ============================================================================== --- poi/trunk/poi-ooxml/src/main/java/org/apache/poi/xwpf/usermodel/XWPFHeader.java (original) +++ poi/trunk/poi-ooxml/src/main/java/org/apache/poi/xwpf/usermodel/XWPFHeader.java Wed Sep 6 22:32:28 2023 @@ -64,7 +64,7 @@ public class XWPFHeader extends XWPFHead paragraphs.add(p); } if (o instanceof CTTbl) { - XWPFTable t = new XWPFTable((CTTbl) o, this); + XWPFTable t = new XWPFTable((CTTbl) o, this, false); tables.add(t); } } @@ -106,7 +106,7 @@ public class XWPFHeader extends XWPFHead bodyElements.add(p); } if (o instanceof CTTbl) { - XWPFTable t = new XWPFTable((CTTbl) o, this); + XWPFTable t = new XWPFTable((CTTbl) o, this, false); tables.add(t); bodyElements.add(t); } Modified: poi/trunk/poi-ooxml/src/main/java/org/apache/poi/xwpf/usermodel/XWPFHeaderFooter.java URL: http://svn.apache.org/viewvc/poi/trunk/poi-ooxml/src/main/java/org/apache/poi/xwpf/usermodel/XWPFHeaderFooter.java?rev=1912149&r1=1912148&r2=1912149&view=diff ============================================================================== --- poi/trunk/poi-ooxml/src/main/java/org/apache/poi/xwpf/usermodel/XWPFHeaderFooter.java (original) +++ poi/trunk/poi-ooxml/src/main/java/org/apache/poi/xwpf/usermodel/XWPFHeaderFooter.java Wed Sep 6 22:32:28 2023 @@ -545,7 +545,7 @@ public abstract class XWPFHeaderFooter e bodyElements.add(p); } if (o instanceof CTTbl) { - XWPFTable t = new XWPFTable((CTTbl) o, this); + XWPFTable t = new XWPFTable((CTTbl) o, this, false); tables.add(t); bodyElements.add(t); } Modified: poi/trunk/poi-ooxml/src/main/java/org/apache/poi/xwpf/usermodel/XWPFSDTContent.java URL: http://svn.apache.org/viewvc/poi/trunk/poi-ooxml/src/main/java/org/apache/poi/xwpf/usermodel/XWPFSDTContent.java?rev=1912149&r1=1912148&r2=1912149&view=diff ============================================================================== --- poi/trunk/poi-ooxml/src/main/java/org/apache/poi/xwpf/usermodel/XWPFSDTContent.java (original) +++ poi/trunk/poi-ooxml/src/main/java/org/apache/poi/xwpf/usermodel/XWPFSDTContent.java Wed Sep 6 22:32:28 2023 @@ -71,7 +71,7 @@ public class XWPFSDTContent implements I bodyElements.add(p); // paragraphs.add(p); } else if (o instanceof CTTbl) { - XWPFTable t = new XWPFTable((CTTbl) o, part); + XWPFTable t = new XWPFTable((CTTbl) o, part,false); bodyElements.add(t); // tables.add(t); } else if (o instanceof CTSdtBlock) { Modified: poi/trunk/poi-ooxml/src/main/java/org/apache/poi/xwpf/usermodel/XWPFTable.java URL: http://svn.apache.org/viewvc/poi/trunk/poi-ooxml/src/main/java/org/apache/poi/xwpf/usermodel/XWPFTable.java?rev=1912149&r1=1912148&r2=1912149&view=diff ============================================================================== --- poi/trunk/poi-ooxml/src/main/java/org/apache/poi/xwpf/usermodel/XWPFTable.java (original) +++ poi/trunk/poi-ooxml/src/main/java/org/apache/poi/xwpf/usermodel/XWPFTable.java Wed Sep 6 22:32:28 2023 @@ -156,11 +156,15 @@ public class XWPFTable implements IBodyE } public XWPFTable(CTTbl table, IBody part) { + this(table, part, true); + } + + public XWPFTable(CTTbl table, IBody part, boolean initRow) { this.part = part; this.ctTbl = table; // is an empty table: I add one row and one column as default - if (table.sizeOfTrArray() == 0) { + if (initRow && table.sizeOfTrArray() == 0) { createEmptyTable(table); } Modified: poi/trunk/poi-ooxml/src/main/java/org/apache/poi/xwpf/usermodel/XWPFTableCell.java URL: http://svn.apache.org/viewvc/poi/trunk/poi-ooxml/src/main/java/org/apache/poi/xwpf/usermodel/XWPFTableCell.java?rev=1912149&r1=1912148&r2=1912149&view=diff ============================================================================== --- poi/trunk/poi-ooxml/src/main/java/org/apache/poi/xwpf/usermodel/XWPFTableCell.java (original) +++ poi/trunk/poi-ooxml/src/main/java/org/apache/poi/xwpf/usermodel/XWPFTableCell.java Wed Sep 6 22:32:28 2023 @@ -96,7 +96,7 @@ public class XWPFTableCell implements IB bodyElements.add(p); } if (o instanceof CTTbl) { - XWPFTable t = new XWPFTable((CTTbl) o, this); + XWPFTable t = new XWPFTable((CTTbl) o, this, false); tables.add(t); bodyElements.add(t); } --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@poi.apache.org For additional commands, e-mail: commits-h...@poi.apache.org