fixed WordExtractor to avoid ArrayIndexOutOfBoundsException when encountering empty footnote block

git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@795333 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Yegor Kozlov 2009-07-18 10:03:01 +00:00
parent 656114c69a
commit 77987258b8
2 changed files with 12 additions and 3 deletions

View File

@ -23,6 +23,7 @@ import java.io.FileInputStream;
import java.io.UnsupportedEncodingException;
import java.util.Iterator;
import java.util.Arrays;
import java.util.ArrayList;
import org.apache.poi.POIOLE2TextExtractor;
import org.apache.poi.hwpf.HWPFDocument;
@ -252,9 +253,13 @@ public final class WordExtractor extends POIOLE2TextExtractor {
ret.append(getHeaderText());
String[] text = getParagraphText();
for(int i=0; i<text.length; i++) {
ret.append(text[i]);
ArrayList<String> text = new ArrayList<String>();
text.addAll(Arrays.asList(getParagraphText()));
text.addAll(Arrays.asList(getFootnoteText()));
text.addAll(Arrays.asList(getEndnoteText()));
for(String p : text) {
ret.append(p);
}
ret.append(getFooterText());

View File

@ -978,6 +978,10 @@ public class Range { // TODO -instantiable superclass
node = (PropertyNode)rpl.get(x);
}
if (node.getEnd() <= start) {
return new int[] {rpl.size(), rpl.size()};
}
int y = x;
node = (PropertyNode)rpl.get(y);
while(node.getEnd() < end && y < rpl.size()-1)