[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