add safe path for documents with missing list information

git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1389056 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Sergey Vladimirov 2012-09-23 13:34:46 +00:00
parent 725269f178
commit 5ee2ce9546
1 changed files with 22 additions and 7 deletions

View File

@ -167,11 +167,12 @@ public abstract class AbstractWordConverter
}
structures.add( structure );
}
private final Set<Bookmark> bookmarkStack = new LinkedHashSet<Bookmark>();
private FontReplacer fontReplacer = new DefaultFontReplacer();
private POILogger log = POILogFactory.getLogger( getClass() );
private NumberingState numberingState = new NumberingState();
private PicturesManager picturesManager;
@ -1053,17 +1054,31 @@ public abstract class AbstractWordConverter
processPageBreak( wordDocument, flow );
}
boolean processed = false;
if ( paragraph.isInList() )
{
HWPFList hwpfList = paragraph.getList();
try
{
HWPFList hwpfList = paragraph.getList();
String label = AbstractWordUtils.getBulletText( numberingState,
hwpfList, (char) paragraph.getIlvl() );
String label = AbstractWordUtils.getBulletText(
numberingState, hwpfList,
(char) paragraph.getIlvl() );
processParagraph( wordDocument, flow, currentTableLevel,
paragraph, label );
processParagraph( wordDocument, flow, currentTableLevel,
paragraph, label );
processed = true;
}
catch ( Exception exc )
{
log.log(
POILogger.WARN,
"Can't process paragraph as list entry, will be processed without list information",
exc );
}
}
else
if ( processed == false )
{
processParagraph( wordDocument, flow, currentTableLevel,
paragraph, AbstractWordUtils.EMPTY );