You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@myfaces.apache.org by simon <si...@chello.at> on 2008/01/26 09:53:50 UTC
Re: svn commit: r615199 -
/myfaces/shared/trunk/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlLinkRendererBase.java
This patch looks weird to me.
Why is myfaces-shared being patched to contain trinidad-specific code?
Does this particular trinidad issue occur on the Sun RI?
* If so, then the problem is a trinidad one, and needs to be fixed in
trinidad.
* if not, then the problem is a generic myfaces one, and should be fixed
with a general-purpose fix, not a trinidad-specific hack.
Regards,
Simon
On Fri, 2008-01-25 at 12:16 +0000, tomsp@apache.org wrote:
> Author: tomsp
> Date: Fri Jan 25 04:16:50 2008
> New Revision: 615199
>
> URL: http://svn.apache.org/viewvc?rev=615199&view=rev
> Log:
> MYFACES-1809 applied patch from Martin Haimberger
>
> Modified:
> myfaces/shared/trunk/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlLinkRendererBase.java
>
> Modified: myfaces/shared/trunk/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlLinkRendererBase.java
> URL: http://svn.apache.org/viewvc/myfaces/shared/trunk/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlLinkRendererBase.java?rev=615199&r1=615198&r2=615199&view=diff
> ==============================================================================
> --- myfaces/shared/trunk/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlLinkRendererBase.java (original)
> +++ myfaces/shared/trunk/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlLinkRendererBase.java Fri Jan 25 04:16:50 2008
> @@ -213,7 +213,10 @@
> onClick.append(formInfo.getForm().getClientId(facesContext));
> onClick.append("',1,{source:'");
> onClick.append(component.getClientId(facesContext));
> - onClick.append("'});return false;");
> + onClick.append("'");
> + // See Jira Issue 1809 https://issues.apache.org/jira/browse/MYFACES-1809
> + onClick.append(getChildParametersTrinidad(component));
> + onClick.append("});return false;");
> }
> else {
> HtmlRendererUtils.renderFormSubmitScript(facesContext);
> @@ -259,6 +262,38 @@
> target = (String) component.getAttributes().get(HTML.TARGET_ATTR);
> }
> return target;
> + }
> +
> + /**
> + * See Jira Issue 1809 https://issues.apache.org/jira/browse/MYFACES-1809
> + */
> + private String getChildParametersTrinidad(UIComponent component) {
> + //https://issues.apache.org/jira/browse/MYFACES-1809//add child parameters
> + StringBuffer params = new StringBuffer();
> + for (Iterator it = getChildren(component).iterator(); it.hasNext();) {
> +
> + UIComponent child = (UIComponent) it.next();
> + if (child instanceof UIParameter) {
> + String name = ((UIParameter) child).getName();
> +
> + if (name == null) {
> + throw new IllegalArgumentException("Unnamed parameter value not allowed within command link.");
> + }
> +
> + Object value = ((UIParameter) child).getValue();
> +
> + //UIParameter is no ValueHolder, so no conversion possible - calling .toString on value....
> + String strParamValue = value != null ? org.apache.myfaces.shared.renderkit.html.util.HTMLEncoder.encode(value.toString(), false, false) : "";
> +
> + params.append(",'");
> +
> + params.append(name);
> + params.append("':'");
> + params.append(strParamValue);
> + params.append("'");
> + }
> + }
> + return params.toString();
> }
>
> private StringBuffer addChildParameters(UIComponent component, UIComponent nestingForm) {
>
>