]
Pete Muir resolved JBSEAM-1254.
-------------------------------
Resolution: Incomplete Description
I'm resolving this as I've had no response from Keith, and I'm pretty sure
that this works correctly anyway.
facesmessages are not always fully interpolated
-----------------------------------------------
Key: JBSEAM-1254
URL:
http://jira.jboss.com/jira/browse/JBSEAM-1254
Project: JBoss Seam
Issue Type: Bug
Components: JSF
Affects Versions: 1.2.1.GA
Reporter: Keith Naas
Assigned To: Pete Muir
Priority: Minor
Fix For: 1.3.0.BETA1
Whenever "FacesMessages.createFacesMessage(Severity severity, String
messageTemplate, Object... params)" is called, the message is fully interpolated.
Meaning, it will resolve EL expressions inside of the message itself. When
"FacesMessages.createFacesMessage(Severity severity, String key, String
defaultMessageTemplate, Object... params)", it does not do this full EL expression
resolution. The code changes below would probably support this.
private static String interpolateBundleMessage(String key, String
defaultMessageTemplate, Object... params)
{
String messageTemplate = defaultMessageTemplate;
if ( key!=null )
{
java.util.ResourceBundle resourceBundle = ResourceBundle.instance();
if ( resourceBundle!=null )
{
try
{
String bundleMessage = resourceBundle.getString(key);
if (bundleMessage!=null) messageTemplate = bundleMessage;
}
catch (MissingResourceException mre) {} //swallow
}
}
return Interpolator.instance().interpolate(messageTemplate, params);
}
public static FacesMessage createFacesMessage(Severity severity, String key, String
defaultMessageTemplate, Object... params)
{
String message = interpolateBundleMessage(key, defaultMessageTemplate, params);
if ( !Strings.isEmpty(message) )
{
return createFacesMessage( severity, message, null);
}
else
{
return null;
}
}
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: