aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDominik Stadler <centic@apache.org>2020-12-16 20:55:14 +0000
committerDominik Stadler <centic@apache.org>2020-12-16 20:55:14 +0000
commit71d6bf0306c5a3251016846f2920e101933380bb (patch)
treef758ff8315718e17eaef1071c9a4dee3cd41fb09
parent2b154b8d8f03eb3dda1602f5ec6a2daac802f945 (diff)
downloadpoi-71d6bf0306c5a3251016846f2920e101933380bb.tar.gz
poi-71d6bf0306c5a3251016846f2920e101933380bb.zip
Do not wrap RuntimeException so we still can handle them directly
This broke the CI when the "JCE Unlimited Strength Jurisdiction Policy files" are missing, e.g. on some Windows Jenkins nodes. git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1884529 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r--src/java/org/apache/poi/extractor/ExtractorProvider.java3
-rw-r--r--src/ooxml/java/org/apache/poi/ooxml/extractor/POIXMLExtractorFactory.java2
2 files changed, 4 insertions, 1 deletions
diff --git a/src/java/org/apache/poi/extractor/ExtractorProvider.java b/src/java/org/apache/poi/extractor/ExtractorProvider.java
index ccbeee15d0..5669cd9fe7 100644
--- a/src/java/org/apache/poi/extractor/ExtractorProvider.java
+++ b/src/java/org/apache/poi/extractor/ExtractorProvider.java
@@ -53,6 +53,9 @@ public interface ExtractorProvider {
* @param password the password or {@code null} if not encrypted
* @return the extractor
* @throws IOException if node can't be parsed
+ * @throws IllegalStateException if processing fails for some other reason,
+ * e.g. missing JCE Unlimited Strength Jurisdiction Policy files
+ * while handling encrypted files.
*/
POITextExtractor create(DirectoryNode poifsDir, String password) throws IOException;
diff --git a/src/ooxml/java/org/apache/poi/ooxml/extractor/POIXMLExtractorFactory.java b/src/ooxml/java/org/apache/poi/ooxml/extractor/POIXMLExtractorFactory.java
index 088e09c3fe..2a5a9d86f7 100644
--- a/src/ooxml/java/org/apache/poi/ooxml/extractor/POIXMLExtractorFactory.java
+++ b/src/ooxml/java/org/apache/poi/ooxml/extractor/POIXMLExtractorFactory.java
@@ -271,7 +271,7 @@ public final class POIXMLExtractorFactory implements ExtractorProvider {
try (InputStream is = dec.getDataStream(poifsDir)) {
return create(is, password);
}
- } catch (IOException e) {
+ } catch (IOException | RuntimeException e) {
throw e;
} catch (Exception e) {
throw new IOException(e);