[ 
https://issues.apache.org/jira/browse/MYFACES-4511?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17641294#comment-17641294
 ] 

Werner Punz commented on MYFACES-4511:
--------------------------------------

The namespaced tests now pass on the new codebase:

!image-2022-11-30-13-58-54-262.png|width=295,height=84!

I will fix the old codebase tomorrow. The main problem simply was/is that 
:componentId basically wants a viewRoot id in front so that the final 
identifier resolves

This either can be done on the server by getting :identifier or on the client.

The RI chose to resolve this on the client, so I basically now have added this 
behavior.

The old codebase will be adapted accordingly.

I also added a more leniend ViewState element detection code so that patterns 
like name="viewId:jakarta.faces.ViewState" are detected properly, despite that 
we are not using it, but the TCK already has such a pattern in place.

I will start to fix the old codebase accordingly tomorrow (aka the official 
branches)

 

> TCK: Spec790: Manual faces.ajax.request() call fails to send correct response 
> ------------------------------------------------------------------------------
>
>                 Key: MYFACES-4511
>                 URL: https://issues.apache.org/jira/browse/MYFACES-4511
>             Project: MyFaces Core
>          Issue Type: Bug
>    Affects Versions: 2.2.15, 2.3.10, 2.3-next-M7, 4.0.0-RC2
>            Reporter: Volodymyr Siedlecki
>            Assignee: Werner Punz
>            Priority: Major
>         Attachments: image-2022-11-30-13-58-54-262.png, test-faces23-cdi.war
>
>
> For this TCK application (see github and the attached),  the manual ajax 
> request fails.
> URL: localhost:port/namespacedView/spec790WithNamespacedView.xhtml
> MyFaces Output:{{{{}}{}}}
> {noformat}
> <?xml version="1.0" encoding="UTF-8"?>
> <partial-response id="j_id__v_0">
>    <changes>
>       <update id="j_id__v_0:jakarta.faces.ViewState:1">
>          <![CDATA[ZWZkYjAyMGViZWRhZjZmYzAwMDAwMDAy]]>
>       </update>
>    </changes>
> </partial-response>{noformat}
> {{}}
> Mojarra Output:
> {noformat}
> <?xml version='1.0' encoding='UTF-8'?>
> <partial-response id="j_id1">
>    <changes>
>       <update id="j_id1:panel1">
>          <![CDATA[<div id="j_id1:panel1">
>             <form id="j_id1:form1" name="j_id1:form1" method="post" 
> action="/namespacedView/spec790WithNamespacedView.xhtml" 
> enctype="application/x-www-form-urlencoded">
>             <input type="hidden" name="j_id1:form1" value="j_id1:form1" />
>             <input id="j_id1:form1:button" type="submit" 
> name="j_id1:form1:button" value="submit form1 and render panel2 and panel3 
> using h:commandButton f:ajax" 
> onclick="mojarra.ab(this,event,'action','j_id1:form1','j_id1:panel2 
> j_id1:panel3');return false" />
>             </form></div>]]>
>       </update>
>       <update id="j_id1:panel2">
>          <![CDATA[<div id="j_id1:panel2">
>             <form id="j_id1:form2" name="j_id1:form2" method="post" 
> action="/namespacedView/spec790WithNamespacedView.xhtml" 
> enctype="application/x-www-form-urlencoded">
>             <input type="hidden" name="j_id1:form2" value="j_id1:form2" />
>             <a id="j_id1:form2:link" href="#" 
> onclick="mojarra.ab(this,event,'action','j_id1:form2','j_id1:panel1 
> j_id1:panel3');return false">submit form2 and render panel1 and panel3 using 
> h:commandLink f:ajax</a>
>             </form></div>]]>
>       </update>
>       <update id="j_id1:jakarta.faces.ViewState:0">
>          <![CDATA[-6784505207945273947:-8354726413445019164]]>
>       </update>
>    </changes>
> </partial-response>{noformat}
> My initial investigation leads me  to believe its' because of what is sent in 
> the form. MyFaces uses the input directly, but Mojarra looks to update to the 
> full id when creating the request.
> MyFaces:
> {code:java}
> jakarta.faces.partial.render    ":panel1 :panel2"{code}
> Mojarra:
> {code:java}
> j_id1:jakarta.faces.partial.render    "j_id1:panel1 j_id1:panel2"{code}
> See the Facelet code here: 
> [https://github.com/jakartaee/faces/blob/master/tck/faces23/namespacedView/src/main/webapp/spec790WithNamespacedView.xhtml#L43-L44]
>  
> Test Code: 
> [https://github.com/jakartaee/faces/blob/master/tck/faces23/namespacedView/src/test/java/ee/jakarta/tck/faces/test/javaee8/namespacedView/Spec790WithNamespacedViewIT.java#L74]
> Background Issue: [https://github.com/jakartaee/faces/issues/790]



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to