[
https://issues.apache.org/jira/browse/PDFBOX-1803?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13844288#comment-13844288
]
Fred Hansen commented on PDFBOX-1803:
-------------------------------------
Before rewriting DateConverter I reviewed all the JIRA reports about it.
Several such as PDFBOX-977 and PDFBOX-145 were IOExceptions. This was the
documented response to an invalid date, but the programs had been unprepared to
deal with it. Some of my thinking was along these lines:
{panel:bgColor=#ffd}
- programmers cut corners by failing to read documentation
- dates are important, but if one is invalid the user penalty should not be an
exception that halts processing of the PDF
- an exception is a heavy weight response while a date format error is a
light-weight failure
- how should a program handle a bad date? at best it can leave the date blank
or put in a dummy value
{panel}
So I decided on the dummy value scheme. The program can be written paying no
attention to errors and not failing. The user may see the dummy value, but he
or she is unlikely to confuse that with a "real" creation date. There are no
exceptions to trip up the programmer or prematurely terminate execution. And
yet the bad date can easily be detected and processed, if desired.
> StringIndexOutOfBound on DateConverter.toCalendar
> -------------------------------------------------
>
> Key: PDFBOX-1803
> URL: https://issues.apache.org/jira/browse/PDFBOX-1803
> Project: PDFBox
> Issue Type: Bug
> Components: PDModel, Utilities
> Affects Versions: 1.8.3
> Reporter: Eric Leleu
> Priority: Minor
> Attachments: PDFBOX-DateConverter-1.8-fred.patch,
> PDFBOX-DateConverter-Trunk-fred.patch, PDFBox-DateConverter-Br18.patch,
> PDFBox-DateConverter-Trunk.patch
>
>
> Some PDF have an empty string as CreationDate & ModDate in the Information
> Dictionary.
> According to the PDF specification, this two element are optional.
> My first fix was to test the null & the empty string in the
> toCalendar(String, String[]) method and I return null if one of the both
> condition is verified.
> But according to a test case(TestDateUtil) a NullPointer is expected on null
> value of text. Can you explain why this behaviour has been adopted?
> To fixe this unexpected exception in my execution path, I have added a test
> on the empty string in the deprecated method toCalendar(String). (Patch in
> attachment)
> I'm waiting your comment before commit this patch (or change it by my first
> implementation)
> BR,
> Eric
--
This message was sent by Atlassian JIRA
(v6.1.4#6159)