You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "Ning Zhang (Jira)" <ji...@apache.org> on 2019/10/09 07:27:00 UTC

[jira] [Created] (CONFIGURATION-764) Default date lookup can not work for some specific format

Ning Zhang created CONFIGURATION-764:
----------------------------------------

             Summary: Default date lookup can not work for some specific format
                 Key: CONFIGURATION-764
                 URL: https://issues.apache.org/jira/browse/CONFIGURATION-764
             Project: Commons Configuration
          Issue Type: Bug
          Components: Interpolation
    Affects Versions: 2.6
         Environment: Java 1.8.0_144,

Windows 10/Linux
            Reporter: Ning Zhang
         Attachments: 0001-Fix-default-date-lookup-issue.patch

When default date lookup is like: *${date:yyyyMM}/${date:ddHHmmss}*

It will encounter one exception like:

_java.lang.IllegalArgumentException: Illegal pattern character 't'_

But if change date lookup format to : /*${date:yyyyMM}/${date:ddHHmmss}*

There will be not such issue anymore.

After investigation, found it is caused by _interpolate_ method in _ConfigurationInterpolator.java_.

For the input date lookup format, it is will be taken as single variable via _looksLikeSingleVariable_,

so default date lookup will try to format the date directly then throw one exception.

Attached patch is trying to catch the exception then return null, substitutor will continue to work.

 



--
This message was sent by Atlassian Jira
(v8.3.4#803005)