[
https://issues.apache.org/jira/browse/LANG-917?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Thomas Neidhart updated LANG-917:
---------------------------------
Labels: patch (was: )
> Exception when combining custom and choice format in ExtendedMessageFormat
> --------------------------------------------------------------------------
>
> Key: LANG-917
> URL: https://issues.apache.org/jira/browse/LANG-917
> Project: Commons Lang
> Issue Type: Bug
> Components: lang.text.*
> Affects Versions: 2.5, 2.6
> Reporter: Arne Burmeister
> Labels: patch
> Attachments: ExtendedMessageFormatTest.java, LANG-917.patch
>
>
> When using a custom format registered and a choice format with an inner
> format is used in the same message format, an IndexOutOfBoundsException
> occurs in the custructor of ExtendedMessageFormat:
> {code:java}new ExtendedMessageFormat("Hi {0,test,any}, got
> {1,choice,0#none|1#one|1<{1,number}}", Collections.singletonMap("test", new
> TestFormatFactory()));{code}
> {noformat}
> java.lang.IndexOutOfBoundsException: Index: 2, Size: 2
> at java.util.ArrayList.rangeCheck(ArrayList.java:604)
> at java.util.ArrayList.get(ArrayList.java:382)
> at
> org.apache.commons.lang.text.ExtendedMessageFormat.insertFormats(ExtendedMessageFormat.java:364)
> at
> org.apache.commons.lang.text.ExtendedMessageFormat.applyPattern(ExtendedMessageFormat.java:192)
> at
> org.apache.commons.lang.text.ExtendedMessageFormat.<init>(ExtendedMessageFormat.java:127)
> {noformat}
> The problem occurs at the start of {{\{1,number\}}}.
> As a workaround i registered the {{TestFormatFactory}} also for "choice" and
> then returning {{new ChoiceFormat(arguments)}}, but that is not the idea.
> I also checked the change logs, but there seems no change on this problem. I
> have not tester, but I think the bug still is present in the current release.
--
This message was sent by Atlassian JIRA
(v6.1#6144)