You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tika.apache.org by "Tim Allison (JIRA)" <ji...@apache.org> on 2014/06/26 19:13:26 UTC

[jira] [Commented] (TIKA-1233) PDFBox can throw StringIndexOutOfBoundsException on some dates

    [ https://issues.apache.org/jira/browse/TIKA-1233?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14044881#comment-14044881 ] 

Tim Allison commented on TIKA-1233:
-----------------------------------

Hindsight and current eval methodology turn out to be 20/20...at least in this case.  I just ran Tika 1.5 against a small 10,000 pdf test set from govdocs1.  There were 13 DateFormatter exceptions in that test set, by far the most common exception.  With the current eval methodology (nascent TIKA-1302 code), we would have caught the importance of this before the 1.5 release.

> PDFBox can throw StringIndexOutOfBoundsException on some dates
> --------------------------------------------------------------
>
>                 Key: TIKA-1233
>                 URL: https://issues.apache.org/jira/browse/TIKA-1233
>             Project: Tika
>          Issue Type: Bug
>          Components: parser
>    Affects Versions: 1.5
>            Reporter: Tim Allison
>            Priority: Trivial
>              Labels: easyfix
>             Fix For: 1.6
>
>
> PDFBOX's date parser can throw a StringIndexOutOfBoundsException if a date string for parsing is empty or contains only spaces.  A few of my test pdfs have this "feature."
> Until PDFBOX-1803 is resolved, we can add an extra catch to prevent this from causing problems in TIKA
> {noformat}
> @@ -171,6 +171,9 @@
>              addMetadata(metadata, TikaCoreProperties.CREATED, info.getCreationDate());
>          } catch (IOException e) {
>              // Invalid date format, just ignore
> +        } catch (StringIndexOutOfBoundsException e){
> +            //remove after PDFBOX-1883 is fixed
> +            // Invalid date format, just ignore
>          }
>          try {
>              Calendar modified = info.getModificationDate();
> @@ -178,6 +181,9 @@
>              addMetadata(metadata, TikaCoreProperties.MODIFIED, modified);
>          } catch (IOException e) {
>              // Invalid date format, just ignore
> +        } catch (StringIndexOutOfBoundsException e){
> +            //remove after PDFBOX-1883 is fixed
> +            // Invalid date format, just ignore
>          }
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.2#6252)