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: [email protected]
For additional commands, e-mail: [email protected]