From: Dominik Stadler Date: Mon, 26 Dec 2022 16:15:44 +0000 (+0000) Subject: Bug 65260: Fix how we ignore errors when fonts are not installed X-Git-Tag: REL_5_2_4~327 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=3ef2c4510165052e319a5bccf0e4475e51ddb68f;p=poi.git Bug 65260: Fix how we ignore errors when fonts are not installed The implementation via bug 66230 was not fully working due to the caught exception. Also add this to the 2nd constructor as well. git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1906218 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/poi-ooxml/src/main/java/org/apache/poi/xssf/streaming/SXSSFSheet.java b/poi-ooxml/src/main/java/org/apache/poi/xssf/streaming/SXSSFSheet.java index 5eb5a4be49..2384d7f93a 100644 --- a/poi-ooxml/src/main/java/org/apache/poi/xssf/streaming/SXSSFSheet.java +++ b/poi-ooxml/src/main/java/org/apache/poi/xssf/streaming/SXSSFSheet.java @@ -62,7 +62,11 @@ public class SXSSFSheet implements Sheet, OoxmlSheetExtensions { _sh = xSheet; calculateLeftAndRightMostColumns(xSheet); setRandomAccessWindowSize(randomAccessWindowSize); - _autoSizeColumnTracker = new AutoSizeColumnTracker(this); + try { + _autoSizeColumnTracker = new AutoSizeColumnTracker(this); + } catch (InternalError e) { + LOG.atWarn().log("Failed to create AutoSizeColumnTracker, possibly due to fonts not being installed in your OS", e); + } } private void calculateLeftAndRightMostColumns(XSSFSheet xssfSheet) { @@ -93,7 +97,7 @@ public class SXSSFSheet implements Sheet, OoxmlSheetExtensions { setRandomAccessWindowSize(_workbook.getRandomAccessWindowSize()); try { _autoSizeColumnTracker = new AutoSizeColumnTracker(this); - } catch (Exception e) { + } catch (InternalError e) { LOG.atWarn().log("Failed to create AutoSizeColumnTracker, possibly due to fonts not being installed in your OS", e); } } diff --git a/poi-ooxml/src/test/java/org/apache/poi/xssf/streaming/TestAutoSizeColumnTracker.java b/poi-ooxml/src/test/java/org/apache/poi/xssf/streaming/TestAutoSizeColumnTracker.java index f7161fd0e9..2cc356d422 100644 --- a/poi-ooxml/src/test/java/org/apache/poi/xssf/streaming/TestAutoSizeColumnTracker.java +++ b/poi-ooxml/src/test/java/org/apache/poi/xssf/streaming/TestAutoSizeColumnTracker.java @@ -43,11 +43,10 @@ import org.junit.jupiter.api.Test; /** * Tests the auto-sizing behaviour of {@link SXSSFSheet} when not all * rows fit into the memory window size etc. - * + *

* see Bug #57450 which reported the original misbehaviour */ class TestAutoSizeColumnTracker { - private SXSSFSheet sheet; private SXSSFWorkbook workbook; private AutoSizeColumnTracker tracker;