RendererUtilities.js: Renderer does not expand UIMessage properly.
Description
The renderer has historically supported the construction where the fields for a UIMessage may themselves be a UIBound - for example in the form {messagekey: { valuebinding: "reference.to.key.in.model" }} which allows the resolution of an I18N message to be geared through a model. However, there is a "fault" in the implementation of the protocomponent expander, that it is not possible to take advantage of this facility by means of writing a UIMessage protocomponent with EL reference that expands to this form - for example the following construction {messagekey: "${reference.to.key.in.model}"} fails to expand properly (although "args") are expanded. This patch corrects the protocomponent expander so that the messagekey member of UIMessage is expanded as if it were a UIBound.
Environment
None
Attachments
1
Activity
Show:
Justin Obara December 13, 2010 at 7:53 PM
Antranig reviewed and committed Yura's patch
Antranig Basman November 17, 2010 at 10:35 PM
Patch committed at revision 10265 with a few minor tweaks to naming in test case
Justin Obara November 17, 2010 at 10:07 PM
"Bug Parade Infusion 1.3"
y z November 17, 2010 at 9:51 PM
Hi Antranig, could you please review the patch. Thanks.
The renderer has historically supported the construction where the fields for a UIMessage may themselves be a UIBound - for example in the form
{messagekey: {
valuebinding: "reference.to.key.in.model"
}}
which allows the resolution of an I18N message to be geared through a model. However, there is a "fault" in the implementation of the protocomponent expander, that it is not possible to take advantage of this facility by means of writing a UIMessage protocomponent with EL reference that expands to this form - for example the following construction
{messagekey: "${reference.to.key.in.model}"}
fails to expand properly (although "args") are expanded. This patch corrects the protocomponent expander so that the messagekey member of UIMessage is expanded as if it were a UIBound.