This is an automated email from the ASF dual-hosted git repository.
tilman pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/tika.git
The following commit(s) were added to refs/heads/main by this push:
new 0810700 TIKA-3248: avoid ClassCastException
new dd85c73 Merge origin/main into main
0810700 is described below
commit 081070065ec2a989ecfccb9d1186610bbce52f5e
Author: THausherr <[email protected]>
AuthorDate: Mon Dec 14 05:46:44 2020 +0100
TIKA-3248: avoid ClassCastException
---
.../apache/tika/parser/pdf/AbstractPDF2XHTML.java | 24 ++++++++++++----------
1 file changed, 13 insertions(+), 11 deletions(-)
diff --git
a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-pdf-module/src/main/java/org/apache/tika/parser/pdf/AbstractPDF2XHTML.java
b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-pdf-module/src/main/java/org/apache/tika/parser/pdf/AbstractPDF2XHTML.java
index 28093ce..2ba928a 100644
---
a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-pdf-module/src/main/java/org/apache/tika/parser/pdf/AbstractPDF2XHTML.java
+++
b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-pdf-module/src/main/java/org/apache/tika/parser/pdf/AbstractPDF2XHTML.java
@@ -473,17 +473,19 @@ class AbstractPDF2XHTML extends PDFTextStripper {
if (annotation instanceof PDAnnotationFileAttachment) {
PDAnnotationFileAttachment fann =
(PDAnnotationFileAttachment) annotation;
- PDComplexFileSpecification fileSpec =
(PDComplexFileSpecification) fann.getFile();
- try {
- AttributesImpl attributes = new AttributesImpl();
- attributes.addAttribute("", "source", "source",
"CDATA", "annotation");
-
extractMultiOSPDEmbeddedFiles(fann.getAttachmentName(), fileSpec, attributes);
- } catch (SAXException e) {
- throw new IOExceptionWithCause("file embedded in
annotation sax exception", e);
- } catch (TikaException e) {
- throw new IOExceptionWithCause("file embedded in
annotation tika exception", e);
- } catch (IOException e) {
- handleCatchableIOE(e);
+ if (fann.getFile() instanceof PDComplexFileSpecification) {
+ PDComplexFileSpecification fileSpec =
(PDComplexFileSpecification) fann.getFile();
+ try {
+ AttributesImpl attributes = new AttributesImpl();
+ attributes.addAttribute("", "source", "source",
"CDATA", "annotation");
+
extractMultiOSPDEmbeddedFiles(fann.getAttachmentName(), fileSpec, attributes);
+ } catch (SAXException e) {
+ throw new IOExceptionWithCause("file embedded in
annotation sax exception", e);
+ } catch (TikaException e) {
+ throw new IOExceptionWithCause("file embedded in
annotation tika exception", e);
+ } catch (IOException e) {
+ handleCatchableIOE(e);
+ }
}
} else if (annotation instanceof PDAnnotationWidget) {
handleWidget((PDAnnotationWidget)annotation);