dev@javaserverfaces.java.net

Re: [mojarra~git:22fb7da2] JAVASERVERFACES-4092 - [Port 2.1] JAVASERVERFACES-3031 not fixed when usi

From: Vernon Singleton <vsingleton_at_gmail.com>
Date: Wed, 20 Jan 2016 10:39:14 -0500

Yay!

On Wed, Jan 20, 2016 at 9:56 AM, manfred riem <manfred.riem_at_oracle.com>
wrote:

> Hi Vernon,
>
> No they were passing.
>
> Thanks!
>
> Kind regards,
> Manfred Riem
>
> On 1/19/16, 10:06 AM, Vernon Singleton wrote:
>
> Are they failing for the 2.1.29 branch right now?
>
> On Tue, Jan 19, 2016 at 9:44 AM, manfred riem <manfred.riem_at_oracle.com>
> wrote:
>
>> Hi Vernon,
>>
>> Yes CI test are being run.
>>
>> Thanks!
>>
>> Kind regards,
>> Manfred Riem
>>
>> On 1/18/16, 8:52 AM, Vernon Singleton wrote:
>>
>> Hi Manfred and dev,
>>
>> So, is the 2.1.29 branch getting tested by one of the CI servers?
>>
>> - Vernon
>>
>> On Fri, Jan 15, 2016 at 9:09 AM, manfred riem <manfred.riem_at_oracle.com>
>> wrote:
>>
>>> Hi Vernon,
>>>
>>> CC'ing dev alias as we should really be using it for open communication.
>>>
>>> You are using Glassfish to run the tests right?
>>>
>>> Thanks!
>>>
>>> Kind regards,
>>> Manfred Riem
>>>
>>> On 1/14/16, 5:29 PM, Vernon Singleton wrote:
>>>
>>> Hi Manfred,
>>>
>>> On Thu, Jan 14, 2016 at 10:23 AM, manfred riem <manfred.riem_at_oracle.com>
>>> wrote:
>>>
>>>> Hi Vernon,
>>>>
>>>> I assume you made sure all the tests pass locally before committing?
>>>>
>>>
>>> I am not able to get the "Agnostic - Application - Basic" tests to pass
>>> even without the commit ... getting the following failure:
>>>
>>> Running com.sun.faces.test.agnostic.application.ApplicationImplConfigIT
>>> Jan 14, 2016 6:20:08 PM com.gargoylesoftware.htmlunit.WebClient
>>> printContentIfNecessary
>>> INFO: statusCode=[500] contentType=[text/plain]
>>> Jan 14, 2016 6:20:08 PM com.gargoylesoftware.htmlunit.WebClient
>>> printContentIfNecessary
>>> INFO:
>>>
>>> Message:
>>> PWC6033: Error in Javac compilation for JSP
>>> PWC6197: An error occurred at line: 48 in the jsp file: /appConfig.jsp
>>> PWC6199: Generated servlet error:
>>> package com.sun.faces.taglib.jsf_core does not exist
>>>
>>> Any idea what causes this?
>>>
>>> - Vernon
>>>
>>>
>>>
>>>> Thanks!
>>>>
>>>> Kind regards,
>>>> Manfred Riem
>>>>
>>>> On 1/12/16, 12:33 PM, vsingleton_at_java.net wrote:
>>>>
>>>>> Project: mojarra
>>>>> Repository: git
>>>>> Revision: 22fb7da2ff9a1140c9342a967f1a4e39582849cf
>>>>> Author: vsingleton
>>>>> Date: 2016-01-12 18:26:36 UTC
>>>>> Link:
>>>>>
>>>>> Log Message:
>>>>> ------------
>>>>> JAVASERVERFACES-4092 - [Port 2.1] JAVASERVERFACES-3031 not fixed when
>>>>> using f:param without AJAX
>>>>>
>>>>>
>>>>>
>>>>> Revisions:
>>>>> ----------
>>>>> 22fb7da2ff9a1140c9342a967f1a4e39582849cf
>>>>>
>>>>>
>>>>> Modified Paths:
>>>>> ---------------
>>>>> jsf-ri/src/main/java/com/sun/faces/renderkit/RenderKitUtils.java
>>>>>
>>>>> test/agnostic/ajax-namespace/src/main/java/com/sun/faces/test/agnostic/ajax_namespace/UserBean.java
>>>>> test/agnostic/ajax-namespace/src/main/webapp/WEB-INF/faces-config.xml
>>>>> test/agnostic/ajax-namespace/src/main/webapp/index.xhtml
>>>>>
>>>>> test/agnostic/ajax-namespace/src/test/java/com/sun/faces/test/agnostic/ajax_namespace/Issue3031IT.java
>>>>>
>>>>>
>>>>> Added Paths:
>>>>> ------------
>>>>>
>>>>> test/agnostic/ajax-namespace/src/main/java/com/sun/faces/test/agnostic/ajax_namespace/ExternalContextFactoryImpl.java
>>>>>
>>>>> test/agnostic/ajax-namespace/src/main/java/com/sun/faces/test/agnostic/ajax_namespace/ExternalContextNamespaceImpl.java
>>>>>
>>>>> test/agnostic/ajax-namespace/src/main/java/com/sun/faces/test/agnostic/ajax_namespace/NamespacedRequestParameterMap.java
>>>>>
>>>>>
>>>>> Diffs:
>>>>> ------
>>>>> --- a/jsf-ri/src/main/java/com/sun/faces/renderkit/RenderKitUtils.java
>>>>> +++ b/jsf-ri/src/main/java/com/sun/faces/renderkit/RenderKitUtils.java
>>>>> @@ -65,6 +65,8 @@ import javax.faces.render.ResponseStateManager;
>>>>> import javax.faces.render.Renderer;
>>>>>
>>>>> import com.sun.faces.RIConstants;
>>>>> +import com.sun.faces.config.WebConfiguration;
>>>>> +import
>>>>> com.sun.faces.config.WebConfiguration.BooleanWebContextInitParameter;
>>>>> import com.sun.faces.facelets.util.DevTools;
>>>>> import com.sun.faces.util.FacesLogger;
>>>>> import com.sun.faces.util.Util;
>>>>> @@ -151,7 +153,7 @@ public class RenderKitUtils {
>>>>>
>>>>>
>>>>> protected static final Logger LOGGER =
>>>>> FacesLogger.RENDERKIT.getLogger();
>>>>> -
>>>>> +
>>>>>
>>>>> // ------------------------------------------------------------
>>>>> Constructors
>>>>>
>>>>> @@ -1562,8 +1564,21 @@ public class RenderKitUtils {
>>>>> appendProperty(builder, componentClientId,
>>>>> componentClientId);
>>>>>
>>>>> if ((null != params)&& (!params.isEmpty())) {
>>>>> +
>>>>> + String namingContainerId = "";
>>>>> +
>>>>> + WebConfiguration webConfig =
>>>>> WebConfiguration.getInstance();
>>>>> + boolean namespaceParameters =
>>>>> webConfig.isOptionEnabled(BooleanWebContextInitParameter.NamespaceParameters);
>>>>> +
>>>>> + if (namespaceParameters) {
>>>>> + UIViewRoot viewRoot = context.getViewRoot();
>>>>> + if (viewRoot instanceof NamingContainer) {
>>>>> + namingContainerId =
>>>>> viewRoot.getContainerClientId(context);
>>>>> + }
>>>>> + }
>>>>> +
>>>>> for (ClientBehaviorContext.Parameter param : params) {
>>>>> - appendProperty(builder, param.getName(),
>>>>> param.getValue());
>>>>> + appendProperty(builder, namingContainerId +
>>>>> param.getName(), param.getValue());
>>>>> }
>>>>> }
>>>>>
>>>>> --- /dev/null
>>>>> +++
>>>>> b/test/agnostic/ajax-namespace/src/main/java/com/sun/faces/test/agnostic/ajax_namespace/ExternalContextFactoryImpl.java
>>>>> @@ -0,0 +1,83 @@
>>>>> +/*
>>>>> + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
>>>>> + *
>>>>> + * Copyright (c) 1997-2012 Oracle and/or its affiliates. All rights
>>>>> reserved.
>>>>> + *
>>>>> + * The contents of this file are subject to the terms of either the
>>>>> GNU
>>>>> + * General Public License Version 2 only ("GPL") or the Common
>>>>> Development
>>>>> + * and Distribution License("CDDL") (collectively, the "License").
>>>>> You
>>>>> + * may not use this file except in compliance with the License. You
>>>>> can
>>>>> + * obtain a copy of the License at
>>>>> + * https://glassfish.dev.java.net/public/CDDL+GPL_1_1.html
>>>>> + * or packager/legal/LICENSE.txt. See the License for the specific
>>>>> + * language governing permissions and limitations under the License.
>>>>> + *
>>>>> + * When distributing the software, include this License Header Notice
>>>>> in each
>>>>> + * file and include the License file at packager/legal/LICENSE.txt.
>>>>> + *
>>>>> + * GPL Classpath Exception:
>>>>> + * Oracle designates this particular file as subject to the
>>>>> "Classpath"
>>>>> + * exception as provided by Oracle in the GPL Version 2 section of
>>>>> the License
>>>>> + * file that accompanied this code.
>>>>> + *
>>>>> + * Modifications:
>>>>> + * If applicable, add the following below the License Header, with
>>>>> the fields
>>>>> + * enclosed by brackets [] replaced by your own identifying
>>>>> information:
>>>>> + * "Portions Copyright [year] [name of copyright owner]"
>>>>> + *
>>>>> + * Contributor(s):
>>>>> + * If you wish your version of this file to be governed by only the
>>>>> CDDL or
>>>>> + * only the GPL Version 2, indicate your decision by adding
>>>>> "[Contributor]
>>>>> + * elects to include this software in this distribution under the
>>>>> [CDDL or GPL
>>>>> + * Version 2] license." If you don't indicate a single choice of
>>>>> license, a
>>>>> + * recipient has the option to distribute your version of this file
>>>>> under
>>>>> + * either the CDDL, the GPL Version 2 or to extend the choice of
>>>>> license to
>>>>> + * its licensees as provided above. However, if you add GPL Version
>>>>> 2 code
>>>>> + * and therefore, elected the GPL Version 2 license, then the option
>>>>> applies
>>>>> + * only if the new code is made subject to such option by the
>>>>> copyright
>>>>> + * holder.
>>>>> +
>>>>> + */
>>>>> +
>>>>> +package com.sun.faces.test.agnostic.ajax_namespace;
>>>>> +
>>>>> +import javax.faces.FacesException;
>>>>> +import javax.faces.application.Application;
>>>>> +import javax.faces.application.ApplicationFactory;
>>>>> +import javax.faces.context.ExternalContext;
>>>>> +import javax.faces.context.ExternalContextFactory;
>>>>> +import javax.servlet.ServletContext;
>>>>> +import javax.servlet.ServletRequest;
>>>>> +import javax.servlet.ServletResponse;
>>>>> +
>>>>> +import com.sun.faces.context.ExternalContextImpl;
>>>>> +
>>>>> +public class ExternalContextFactoryImpl extends
>>>>> ExternalContextFactory {
>>>>> + private final ExternalContextFactory parent;
>>>>> +
>>>>> + public ExternalContextFactoryImpl(ExternalContextFactory
>>>>> parent) {
>>>>> + this.parent = parent;
>>>>> + }
>>>>> +
>>>>> + @Override
>>>>> + public ExternalContextFactory getWrapped() {
>>>>> + return parent;
>>>>> + }
>>>>> +
>>>>> + public ExternalContext getExternalContext(Object context,
>>>>> Object request,
>>>>> + Object response) throws FacesException {
>>>>> + ExternalContext extContext = new
>>>>> ExternalContextNamespaceImpl(
>>>>> + new
>>>>> ExternalContextImpl((ServletContext) context,
>>>>> + (ServletRequest)
>>>>> request, (ServletResponse) response));
>>>>> +
>>>>> + if (request instanceof ServletRequest) {
>>>>> + ((ServletRequest) request)
>>>>> + .setAttribute(
>>>>> +
>>>>> com.sun.faces.context.ExternalContextFactoryImpl.DEFAULT_EXTERNAL_CONTEXT_KEY,
>>>>> + extContext);
>>>>> + }
>>>>> +
>>>>> + return extContext;
>>>>> + }
>>>>> +
>>>>> +}
>>>>> \ No newline at end of file
>>>>> --- /dev/null
>>>>> +++
>>>>> b/test/agnostic/ajax-namespace/src/main/java/com/sun/faces/test/agnostic/ajax_namespace/ExternalContextNamespaceImpl.java
>>>>> @@ -0,0 +1,75 @@
>>>>> +/*
>>>>> + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
>>>>> + *
>>>>> + * Copyright (c) 1997-2012 Oracle and/or its affiliates. All rights
>>>>> reserved.
>>>>> + *
>>>>> + * The contents of this file are subject to the terms of either the
>>>>> GNU
>>>>> + * General Public License Version 2 only ("GPL") or the Common
>>>>> Development
>>>>> + * and Distribution License("CDDL") (collectively, the "License").
>>>>> You
>>>>> + * may not use this file except in compliance with the License. You
>>>>> can
>>>>> + * obtain a copy of the License at
>>>>> + * https://glassfish.dev.java.net/public/CDDL+GPL_1_1.html
>>>>> + * or packager/legal/LICENSE.txt. See the License for the specific
>>>>> + * language governing permissions and limitations under the License.
>>>>> + *
>>>>> + * When distributing the software, include this License Header Notice
>>>>> in each
>>>>> + * file and include the License file at packager/legal/LICENSE.txt.
>>>>> + *
>>>>> + * GPL Classpath Exception:
>>>>> + * Oracle designates this particular file as subject to the
>>>>> "Classpath"
>>>>> + * exception as provided by Oracle in the GPL Version 2 section of
>>>>> the License
>>>>> + * file that accompanied this code.
>>>>> + *
>>>>> + * Modifications:
>>>>> + * If applicable, add the following below the License Header, with
>>>>> the fields
>>>>> + * enclosed by brackets [] replaced by your own identifying
>>>>> information:
>>>>> + * "Portions Copyright [year] [name of copyright owner]"
>>>>> + *
>>>>> + * Contributor(s):
>>>>> + * If you wish your version of this file to be governed by only the
>>>>> CDDL or
>>>>> + * only the GPL Version 2, indicate your decision by adding
>>>>> "[Contributor]
>>>>> + * elects to include this software in this distribution under the
>>>>> [CDDL or GPL
>>>>> + * Version 2] license." If you don't indicate a single choice of
>>>>> license, a
>>>>> + * recipient has the option to distribute your version of this file
>>>>> under
>>>>> + * either the CDDL, the GPL Version 2 or to extend the choice of
>>>>> license to
>>>>> + * its licensees as provided above. However, if you add GPL Version
>>>>> 2 code
>>>>> + * and therefore, elected the GPL Version 2 license, then the option
>>>>> applies
>>>>> + * only if the new code is made subject to such option by the
>>>>> copyright
>>>>> + * holder.
>>>>> +
>>>>> + */
>>>>> +
>>>>> +package com.sun.faces.test.agnostic.ajax_namespace;
>>>>> +
>>>>> +import java.util.Collections;
>>>>> +import java.util.Map;
>>>>> +
>>>>> +import javax.faces.context.ExternalContext;
>>>>> +import javax.faces.context.ExternalContextWrapper;
>>>>> +import javax.servlet.ServletRequest;
>>>>> +
>>>>> +import com.sun.faces.context.RequestParameterMap;
>>>>> +
>>>>> +public class ExternalContextNamespaceImpl extends
>>>>> ExternalContextWrapper {
>>>>> +
>>>>> + private final ExternalContext parent;
>>>>> + private Map<String, String> requestParameterMap = null;
>>>>> +
>>>>> + public ExternalContextNamespaceImpl(ExternalContext
>>>>> externalContext) {
>>>>> + parent = externalContext;
>>>>> + }
>>>>> +
>>>>> + public ExternalContext getWrapped() {
>>>>> + return parent;
>>>>> + }
>>>>> +
>>>>> + public Map<String, String> getRequestParameterMap() {
>>>>> + if (null == requestParameterMap) {
>>>>> + requestParameterMap = Collections
>>>>> + .unmodifiableMap(new
>>>>> NamespacedRequestParameterMap(
>>>>> +
>>>>> ((ServletRequest) getWrapped().getRequest())));
>>>>> + }
>>>>> + return requestParameterMap;
>>>>> + }
>>>>> +
>>>>> +}
>>>>> \ No newline at end of file
>>>>> --- /dev/null
>>>>> +++
>>>>> b/test/agnostic/ajax-namespace/src/main/java/com/sun/faces/test/agnostic/ajax_namespace/NamespacedRequestParameterMap.java
>>>>> @@ -0,0 +1,88 @@
>>>>> +/*
>>>>> + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
>>>>> + *
>>>>> + * Copyright (c) 1997-2012 Oracle and/or its affiliates. All rights
>>>>> reserved.
>>>>> + *
>>>>> + * The contents of this file are subject to the terms of either the
>>>>> GNU
>>>>> + * General Public License Version 2 only ("GPL") or the Common
>>>>> Development
>>>>> + * and Distribution License("CDDL") (collectively, the "License").
>>>>> You
>>>>> + * may not use this file except in compliance with the License. You
>>>>> can
>>>>> + * obtain a copy of the License at
>>>>> + * https://glassfish.dev.java.net/public/CDDL+GPL_1_1.html
>>>>> + * or packager/legal/LICENSE.txt. See the License for the specific
>>>>> + * language governing permissions and limitations under the License.
>>>>> + *
>>>>> + * When distributing the software, include this License Header Notice
>>>>> in each
>>>>> + * file and include the License file at packager/legal/LICENSE.txt.
>>>>> + *
>>>>> + * GPL Classpath Exception:
>>>>> + * Oracle designates this particular file as subject to the
>>>>> "Classpath"
>>>>> + * exception as provided by Oracle in the GPL Version 2 section of
>>>>> the License
>>>>> + * file that accompanied this code.
>>>>> + *
>>>>> + * Modifications:
>>>>> + * If applicable, add the following below the License Header, with
>>>>> the fields
>>>>> + * enclosed by brackets [] replaced by your own identifying
>>>>> information:
>>>>> + * "Portions Copyright [year] [name of copyright owner]"
>>>>> + *
>>>>> + * Contributor(s):
>>>>> + * If you wish your version of this file to be governed by only the
>>>>> CDDL or
>>>>> + * only the GPL Version 2, indicate your decision by adding
>>>>> "[Contributor]
>>>>> + * elects to include this software in this distribution under the
>>>>> [CDDL or GPL
>>>>> + * Version 2] license." If you don't indicate a single choice of
>>>>> license, a
>>>>> + * recipient has the option to distribute your version of this file
>>>>> under
>>>>> + * either the CDDL, the GPL Version 2 or to extend the choice of
>>>>> license to
>>>>> + * its licensees as provided above. However, if you add GPL Version
>>>>> 2 code
>>>>> + * and therefore, elected the GPL Version 2 license, then the option
>>>>> applies
>>>>> + * only if the new code is made subject to such option by the
>>>>> copyright
>>>>> + * holder.
>>>>> +
>>>>> + */
>>>>> +
>>>>> +package com.sun.faces.test.agnostic.ajax_namespace;
>>>>> +
>>>>> +import java.util.Collection;
>>>>> +import java.util.Collections;
>>>>> +import java.util.Iterator;
>>>>> +import java.util.Map;
>>>>> +import java.util.Set;
>>>>> +
>>>>> +import javax.servlet.ServletRequest;
>>>>> +
>>>>> +import com.sun.faces.context.RequestParameterMap;
>>>>> +import com.sun.faces.util.Util;
>>>>> +
>>>>> +public class NamespacedRequestParameterMap extends
>>>>> RequestParameterMap {
>>>>> +
>>>>> + private final ServletRequest request;
>>>>> +
>>>>> + public NamespacedRequestParameterMap(ServletRequest request) {
>>>>> + super(request);
>>>>> + this.request = request;
>>>>> + }
>>>>> +
>>>>> + @Override
>>>>> + public String get(Object key) {
>>>>> + String mapKey = key.toString();
>>>>> +
>>>>> + String value =
>>>>> request.getParameter(getNamingContainerId() + mapKey);
>>>>> +
>>>>> + if (value == null&& !mapKey.equals("param")) {
>>>>> + value = request.getParameter(mapKey);
>>>>> + }
>>>>> + return value;
>>>>> + }
>>>>> +
>>>>> + @Override
>>>>> + public boolean containsKey(Object key) {
>>>>> + String mapKey = key.toString();
>>>>> + boolean contains =
>>>>> (request.getParameter(getNamingContainerId()
>>>>> + + mapKey) != null);
>>>>> +
>>>>> + if (!contains&& !mapKey.equals("param")) {
>>>>> + contains = (request.getParameter(mapKey) !=
>>>>> null);
>>>>> + }
>>>>> +
>>>>> + return contains;
>>>>> + }
>>>>> +}
>>>>> \ No newline at end of file
>>>>> ---
>>>>> a/test/agnostic/ajax-namespace/src/main/java/com/sun/faces/test/agnostic/ajax_namespace/UserBean.java
>>>>> +++
>>>>> b/test/agnostic/ajax-namespace/src/main/java/com/sun/faces/test/agnostic/ajax_namespace/UserBean.java
>>>>> @@ -2,13 +2,14 @@ package com.sun.faces.test.agnostic.ajax_namespace;
>>>>>
>>>>> import java.io.Serializable;
>>>>> import java.util.Date;
>>>>> -
>>>>> +import java.util.Map;
>>>>>
>>>>> import javax.faces.application.FacesMessage;
>>>>> import javax.faces.bean.ManagedBean;
>>>>> import javax.faces.bean.SessionScoped;
>>>>> import javax.faces.component.UIComponent;
>>>>> import javax.faces.context.FacesContext;
>>>>> +import javax.faces.event.ActionEvent;
>>>>> import javax.faces.validator.ValidatorException;
>>>>>
>>>>> @ManagedBean
>>>>> @@ -90,5 +91,15 @@ public class UserBean implements Serializable {
>>>>> FacesContext.getCurrentInstance().addMessage(null,
>>>>> doneMessage);
>>>>> return "done";
>>>>> }
>>>>> +
>>>>> + public void paramActionListener (ActionEvent actionEvent) {
>>>>> + Map<String, String> params =
>>>>> +
>>>>> FacesContext.getCurrentInstance().getExternalContext().
>>>>> + getRequestParameterMap();
>>>>> + String paramValue = params.get("param");
>>>>> + if (paramValue != null) {
>>>>> + this.lastName = this.lastName + " " +
>>>>> params.get("param");
>>>>> + }
>>>>> + }
>>>>> }
>>>>>
>>>>> ---
>>>>> a/test/agnostic/ajax-namespace/src/main/webapp/WEB-INF/faces-config.xml
>>>>> +++
>>>>> b/test/agnostic/ajax-namespace/src/main/webapp/WEB-INF/faces-config.xml
>>>>> @@ -3,5 +3,6 @@
>>>>> <faces-config xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="
>>>>> http://www.w3.org/2001/XMLSchema-instance" version="2.1"
>>>>> xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
>>>>> http://java.sun.com/xml/ns/javaee/web-facesconfig_2_1.xsd">
>>>>> <factory>
>>>>>
>>>>> <application-factory>com.sun.faces.test.agnostic.ajax_namespace.ApplicationFactoryImpl</application-factory>
>>>>>
>>>>> +<external-context-factory>com.sun.faces.test.agnostic.ajax_namespace.ExternalContextFactoryImpl</external-context-factory>
>>>>> </factory>
>>>>> </faces-config>
>>>>> \ No newline at end of file
>>>>> --- a/test/agnostic/ajax-namespace/src/main/webapp/index.xhtml
>>>>> +++ b/test/agnostic/ajax-namespace/src/main/webapp/index.xhtml
>>>>> @@ -61,12 +61,33 @@
>>>>>
>>>>> <br />
>>>>>
>>>>> +<h:form id="ajaxFormParams" prependId="false">
>>>>> + <h:inputText id="ajaxInputParams"
>>>>> value="#{userBean.lastName}" />
>>>>> +<h:outputText id="ajaxOutputParams" value="#{userBean.lastName}" />
>>>>> +<h:commandButton id="ajaxSubmitParams" value="submit"
>>>>> actionListener="#{userBean.paramActionListener}">
>>>>> + <f:ajax render="@form" execute="@form"/>
>>>>> + <f:param name="param" value="value"/>
>>>>> +</h:commandButton>
>>>>> +</h:form>
>>>>> +
>>>>> +<br />
>>>>> +
>>>>> <h:form id="nonAjaxForm" prependId="false">
>>>>> <h:inputText id="nonAjaxInput"
>>>>> value="#{userBean.lastName}" />
>>>>> <h:outputText id="nonAjaxOutput"
>>>>> value="#{userBean.lastName}" />
>>>>> <h:commandButton id="nonAjaxSubmit" value="submit" />
>>>>> </h:form>
>>>>>
>>>>> +<br />
>>>>> +
>>>>> +<h:form id="nonAjaxFormParams" prependId="false">
>>>>> +<h:inputText id="nonAjaxInputParams" value="#{userBean.lastName}" />
>>>>> +<h:outputText id="nonAjaxOutputParams" value="#{userBean.lastName}" />
>>>>> +<h:commandButton id="nonAjaxSubmitParams" value="submit"
>>>>> actionListener="#{userBean.paramActionListener}">
>>>>> + <f:param name="param" value="value"/>
>>>>> +</h:commandButton>
>>>>> +</h:form>
>>>>> +
>>>>> </body>
>>>>>
>>>>> </f:view>
>>>>> ---
>>>>> a/test/agnostic/ajax-namespace/src/test/java/com/sun/faces/test/agnostic/ajax_namespace/Issue3031IT.java
>>>>> +++
>>>>> b/test/agnostic/ajax-namespace/src/test/java/com/sun/faces/test/agnostic/ajax_namespace/Issue3031IT.java
>>>>> @@ -114,6 +114,26 @@ public class Issue3031IT {
>>>>> }
>>>>>
>>>>> @Test
>>>>> + public void testAjaxWithParams() throws Exception {
>>>>> + HtmlPage page = webClient.getPage(webUrl);
>>>>> +
>>>>> + HtmlElement input = (HtmlElement)
>>>>> page.getElementById("MyNamingContainerj_id1:ajaxInputParams");
>>>>> + assertTrue(null != input);
>>>>> + assertTrue(input instanceof HtmlTextInput);
>>>>> + HtmlTextInput textInput = (HtmlTextInput) input;
>>>>> + textInput.setText("MyText");
>>>>> +
>>>>> + HtmlSubmitInput button = (HtmlSubmitInput)
>>>>> page.getElementById("MyNamingContainerj_id1:ajaxSubmitParams");
>>>>> + page = button.click();
>>>>> + webClient.waitForBackgroundJavaScript(60000);
>>>>> +
>>>>> + HtmlElement output = (HtmlElement)
>>>>> page.getElementById("MyNamingContainerj_id1:ajaxOutputParams");
>>>>> + assertTrue(output.asText().contains("MyText value"));
>>>>> +
>>>>> +
>>>>> + }
>>>>> +
>>>>> + @Test
>>>>> public void testNonAjax() throws Exception {
>>>>> HtmlPage page = webClient.getPage(webUrl);
>>>>>
>>>>> @@ -132,4 +152,22 @@ public class Issue3031IT {
>>>>>
>>>>> }
>>>>>
>>>>> + @Test
>>>>> + public void testNonAjaxWithParams() throws Exception {
>>>>> + HtmlPage page = webClient.getPage(webUrl);
>>>>> +
>>>>> + HtmlElement input = (HtmlElement)
>>>>> page.getElementById("MyNamingContainerj_id1:nonAjaxInputParams");
>>>>> + assertTrue(null != input);
>>>>> + assertTrue(input instanceof HtmlTextInput);
>>>>> + HtmlTextInput textInput = (HtmlTextInput) input;
>>>>> + textInput.setText("MyNonAjaxText");
>>>>> +
>>>>> + HtmlSubmitInput button = (HtmlSubmitInput)
>>>>> page.getElementById("MyNamingContainerj_id1:nonAjaxSubmitParams");
>>>>> + page = button.click();
>>>>> +
>>>>> + HtmlElement output = (HtmlElement)
>>>>> page.getElementById("MyNamingContainerj_id1:nonAjaxOutputParams");
>>>>> + assertTrue(output.asText().contains("MyNonAjaxText value"));
>>>>> +
>>>>> +
>>>>> + }
>>>>> }
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>
>>
>