[seam-issues] [JBoss JIRA] Commented: (SEAMINTL-44) BundleTemplateMessage breaks with non-String ResourceBundles
Nicklas Karlsson (JIRA)
jira-events at lists.jboss.org
Tue Apr 19 07:58:33 EDT 2011
[ https://issues.jboss.org/browse/SEAMINTL-44?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12596484#comment-12596484 ]
Nicklas Karlsson commented on SEAMINTL-44:
------------------------------------------
if I have a
{code}
public class ComplexLabel {
public String label1;
public String label2;
...
{code}
I could have
{code}
#{bundles['general']['mylabel'].label1}
{code}
> BundleTemplateMessage breaks with non-String ResourceBundles
> ------------------------------------------------------------
>
> Key: SEAMINTL-44
> URL: https://issues.jboss.org/browse/SEAMINTL-44
> Project: Seam International
> Issue Type: Bug
> Components: Messages
> Affects Versions: 3.0.0.Final
> Reporter: Nicklas Karlsson
> Assignee: Ken Finnigan
>
> BundleTemplateMessages has in build()
> {code}
> try {
> text = bundles.get(clientLocale, textKey.getBundle()).getString(textKey.getKey());
> } catch (Exception e) {
> log.warn("Could not load bundle: " + textKey);
> text = textDefault;
> }
> {code}
> which will result in a ClassCastException if the resource is non-string (because ResourceBundle.getString implementation casts getObject to String) and is further translated to a "Could not load bundle" warning followed by the BundleKey being outputted.
> Since ResourceBundle.getString is final, there is no way of overloading this behaviour. Using toString on a non-null resource would give some flexibility to this, perhaps.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the seam-issues
mailing list