You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@poi.apache.org by ce...@apache.org on 2017/12/28 08:45:51 UTC
svn commit: r1819405 - in /poi/trunk:
src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFParagraph.java
src/ooxml/testcases/org/apache/poi/xwpf/usermodel/TestXWPFParagraph.java
test-data/document/61787.docx
Author: centic
Date: Thu Dec 28 08:45:51 2017
New Revision: 1819405
URL: http://svn.apache.org/viewvc?rev=1819405&view=rev
Log:
Fix bug 61787, which was introduced by bug 58067: Change how deleted content is detected to not incorrectly see too much text as deleted.
Added:
poi/trunk/test-data/document/61787.docx
Modified:
poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFParagraph.java
poi/trunk/src/ooxml/testcases/org/apache/poi/xwpf/usermodel/TestXWPFParagraph.java
Modified: poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFParagraph.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFParagraph.java?rev=1819405&r1=1819404&r2=1819405&view=diff
==============================================================================
--- poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFParagraph.java (original)
+++ poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFParagraph.java Thu Dec 28 08:45:51 2017
@@ -148,6 +148,12 @@ public class XWPFParagraph implements IB
// This implementation does not preserve the tagging information
buildRunsInOrderFromXml(o);
}
+ if (o instanceof CTRunTrackChange) {
+ // add all the insertions as text
+ for (CTRunTrackChange change : ((CTRunTrackChange) o).getInsArray()) {
+ buildRunsInOrderFromXml(change);
+ }
+ }
}
c.dispose();
}
@@ -189,7 +195,7 @@ public class XWPFParagraph implements IB
if (run instanceof XWPFRun) {
XWPFRun xRun = (XWPFRun) run;
// don't include the text if reviewing is enabled and this is a deleted run
- if (!xRun.getCTR().isSetRsidDel()) {
+ if (xRun.getCTR().getDelTextArray().length == 0) {
out.append(xRun);
}
} else if (run instanceof XWPFSDT) {
Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/xwpf/usermodel/TestXWPFParagraph.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/xwpf/usermodel/TestXWPFParagraph.java?rev=1819405&r1=1819404&r2=1819405&view=diff
==============================================================================
--- poi/trunk/src/ooxml/testcases/org/apache/poi/xwpf/usermodel/TestXWPFParagraph.java (original)
+++ poi/trunk/src/ooxml/testcases/org/apache/poi/xwpf/usermodel/TestXWPFParagraph.java Thu Dec 28 08:45:51 2017
@@ -414,7 +414,9 @@ public final class TestXWPFParagraph {
//CTMoveBookmarkImpl into ooxml-lite.
XWPFDocument doc = XWPFTestDataSamples.openSampleDocument("Tika-792.docx");
XWPFParagraph paragraph = doc.getParagraphs().get(0);
- assertEquals("s", paragraph.getText());
+ assertEquals("", paragraph.getText());
+ paragraph = doc.getParagraphs().get(1);
+ assertEquals("b", paragraph.getText());
doc.close();
}
@@ -612,7 +614,19 @@ public final class TestXWPFParagraph {
}
assertEquals("This is a test.\n\n\n\n3\n4\n5\n\n\n\nThis is a whole paragraph where one word is deleted.\n", str.toString());
}
-
+
+ @Test
+ public void test61787() throws IOException {
+ XWPFDocument doc = XWPFTestDataSamples.openSampleDocument("61787.docx");
+
+ StringBuilder str = new StringBuilder();
+ for(XWPFParagraph par : doc.getParagraphs()) {
+ str.append(par.getText()).append("\n");
+ }
+ String s = str.toString();
+ assertTrue("Having text: \n" + s + "\nTrimmed lenght: " + s.trim().length(), s.trim().length() > 0);
+ }
+
/**
* Tests for numbered lists
*
Added: poi/trunk/test-data/document/61787.docx
URL: http://svn.apache.org/viewvc/poi/trunk/test-data/document/61787.docx?rev=1819405&view=auto
==============================================================================
Binary files poi/trunk/test-data/document/61787.docx (added) and poi/trunk/test-data/document/61787.docx Thu Dec 28 08:45:51 2017 differ
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@poi.apache.org
For additional commands, e-mail: commits-help@poi.apache.org