]> source.dussan.org Git - poi.git/commitdiff
Bug 65260: Fix how we ignore errors when fonts are not installed
authorDominik Stadler <centic@apache.org>
Mon, 26 Dec 2022 16:15:44 +0000 (16:15 +0000)
committerDominik Stadler <centic@apache.org>
Mon, 26 Dec 2022 16:15:44 +0000 (16:15 +0000)
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

poi-ooxml/src/main/java/org/apache/poi/xssf/streaming/SXSSFSheet.java
poi-ooxml/src/test/java/org/apache/poi/xssf/streaming/TestAutoSizeColumnTracker.java

index 5eb5a4be49de7f30967ad7c03347c6b73e92c61a..2384d7f93a883e69f1a7f06f3ffa7272099662bc 100644 (file)
@@ -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);
         }
     }
index f7161fd0e9230030bbc16cab8c8d7c86a9e43d03..2cc356d422a2afb65117ca9c7387d56282c060cd 100644 (file)
@@ -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.
- *
+ * <p>
  * see Bug #57450 which reported the original misbehaviour
  */
 class TestAutoSizeColumnTracker {
-
     private SXSSFSheet sheet;
     private SXSSFWorkbook workbook;
     private AutoSizeColumnTracker tracker;