[jira] [Commented] (MYFACES-3728) javax.faces.partial.execute=@none still process javax.faces.source component
[ https://issues.apache.org/jira/browse/MYFACES-3728?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13798852#comment-13798852 ] Thomas Andraschko commented on MYFACES-3728: but why should @none actually process @this? I think this should really be discussed in the EG, how process @none should actually work. javax.faces.partial.execute=@none still process javax.faces.source component Key: MYFACES-3728 URL: https://issues.apache.org/jira/browse/MYFACES-3728 Project: MyFaces Core Issue Type: Bug Affects Versions: 2.1.10 Reporter: Thomas Andraschko Fix For: 2.1.13 i found a weird issue that if i use p:ajax on inputText with process=@none, the InputTextRenderer#decode method will be still invoked. This works fine with f:ajax in myfaces and mojarra. p:ajax only works expected on mojarra. The only difference i found is, that p:ajax sends the javax.faces.partial.execute param and f:ajax not. Here is a list with the post params (without my inputs): PrimeFaces: javax.faces.ViewState=N%2F6uUZMB9%2BPXSBTJVus5p6rncWDWwUAgQ9UIOweKuerVM0Z7 javax.faces.partial.ajax=true javax.faces.source=xxx javax.faces.partial.execute=%40none javax.faces.partial.render=%40none javax.faces.behavior.event=change javax.faces.partial.event=change form_SUBMIT=1 MyFaces: javax.faces.ViewState=EHCQlskNw%2BLXSBTJVus5pyzjdxWpT%2B72t7rvnK11Nffi10%2Bl javax.faces.partial.ajax=true javax.faces.source=xxx javax.faces.behavior.event=change javax.faces.partial.event=change javax.faces.windowId=2cc form_SUBMIT=1 form=form -- This message was sent by Atlassian JIRA (v6.1#6144)
[jira] [Commented] (MYFACES-3728) javax.faces.partial.execute=@none still process javax.faces.source component
[ https://issues.apache.org/jira/browse/MYFACES-3728?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13798398#comment-13798398 ] Leonardo Uribe commented on MYFACES-3728: - Checking the code and the log it seems there is a code in PartialViewContextImpl.getExecuteIds() that includes the component associated with javax.faces.source even if @none is used. It has this description (See MYFACES-2458): // The javax.faces.source parameter needs to be added to the list of // execute ids if missing (otherwise, we'd never execute an action associated // with, e.g., a button). One use case is this: f:ajax execute=@none listener=... If we don't include the source component in the execute list, the listener will not be executed, which is incorrect. Handle @none on server side will not help, because what we have here is probably a fix we did in MyFaces long time ago that is not in Mojarra. According to the javadoc of getExecuteIds() it says: ... Return a Collection of client identifiers from the current request with the request parameter name PARTIAL_EXECUTE_PARAM_NAME. If there is no such request parameter, return an empty Collection. These client identifiers are used to identify components that will be processed during the execute phase of the request processing lifecycle. The returned Collection is mutable. ... We have here an inconsistency, between the spec and the code, but it is clear the right behavior is the one MyFaces is doing right now, basically because it does not have sense to send an ajax request that do nothing on the server side. This is something to discuss on the EG. javax.faces.partial.execute=@none still process javax.faces.source component Key: MYFACES-3728 URL: https://issues.apache.org/jira/browse/MYFACES-3728 Project: MyFaces Core Issue Type: Bug Affects Versions: 2.1.10 Reporter: Thomas Andraschko Fix For: 2.1.13 i found a weird issue that if i use p:ajax on inputText with process=@none, the InputTextRenderer#decode method will be still invoked. This works fine with f:ajax in myfaces and mojarra. p:ajax only works expected on mojarra. The only difference i found is, that p:ajax sends the javax.faces.partial.execute param and f:ajax not. Here is a list with the post params (without my inputs): PrimeFaces: javax.faces.ViewState=N%2F6uUZMB9%2BPXSBTJVus5p6rncWDWwUAgQ9UIOweKuerVM0Z7 javax.faces.partial.ajax=true javax.faces.source=xxx javax.faces.partial.execute=%40none javax.faces.partial.render=%40none javax.faces.behavior.event=change javax.faces.partial.event=change form_SUBMIT=1 MyFaces: javax.faces.ViewState=EHCQlskNw%2BLXSBTJVus5pyzjdxWpT%2B72t7rvnK11Nffi10%2Bl javax.faces.partial.ajax=true javax.faces.source=xxx javax.faces.behavior.event=change javax.faces.partial.event=change javax.faces.windowId=2cc form_SUBMIT=1 form=form -- This message was sent by Atlassian JIRA (v6.1#6144)
[jira] [Commented] (MYFACES-3728) javax.faces.partial.execute=@none still process javax.faces.source component
[ https://issues.apache.org/jira/browse/MYFACES-3728?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13706888#comment-13706888 ] Thomas Andraschko commented on MYFACES-3728: You are right Werner. I fixed this in PrimeFaces but allow @none as parameter on server side (like Mojarra) would be a great enhancement. Thanks. javax.faces.partial.execute=@none still process javax.faces.source component Key: MYFACES-3728 URL: https://issues.apache.org/jira/browse/MYFACES-3728 Project: MyFaces Core Issue Type: Bug Affects Versions: 2.1.10 Reporter: Thomas Andraschko i found a weird issue that if i use p:ajax on inputText with process=@none, the InputTextRenderer#decode method will be still invoked. This works fine with f:ajax in myfaces and mojarra. p:ajax only works expected on mojarra. The only difference i found is, that p:ajax sends the javax.faces.partial.execute param and f:ajax not. Here is a list with the post params (without my inputs): PrimeFaces: javax.faces.ViewState=N%2F6uUZMB9%2BPXSBTJVus5p6rncWDWwUAgQ9UIOweKuerVM0Z7 javax.faces.partial.ajax=true javax.faces.source=xxx javax.faces.partial.execute=%40none javax.faces.partial.render=%40none javax.faces.behavior.event=change javax.faces.partial.event=change form_SUBMIT=1 MyFaces: javax.faces.ViewState=EHCQlskNw%2BLXSBTJVus5pyzjdxWpT%2B72t7rvnK11Nffi10%2Bl javax.faces.partial.ajax=true javax.faces.source=xxx javax.faces.behavior.event=change javax.faces.partial.event=change javax.faces.windowId=2cc form_SUBMIT=1 form=form -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (MYFACES-3728) javax.faces.partial.execute=@none still process javax.faces.source component
[ https://issues.apache.org/jira/browse/MYFACES-3728?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13705783#comment-13705783 ] Werner Punz commented on MYFACES-3728: -- The problem with primefaces generally is, they omit the jsf.ajax.request call and run their own code, so the problem there clearly lies within prime faces, I cannot fix the code for them. I do not dare to change the code so that @none is sent on render to the server, since we got a bugreport regarding this a while ago, and I had to be more spec compliant. javax.faces.partial.execute=@none still process javax.faces.source component Key: MYFACES-3728 URL: https://issues.apache.org/jira/browse/MYFACES-3728 Project: MyFaces Core Issue Type: Bug Affects Versions: 2.1.10 Reporter: Thomas Andraschko i found a weird issue that if i use p:ajax on inputText with process=@none, the InputTextRenderer#decode method will be still invoked. This works fine with f:ajax in myfaces and mojarra. p:ajax only works expected on mojarra. The only difference i found is, that p:ajax sends the javax.faces.partial.execute param and f:ajax not. Here is a list with the post params (without my inputs): PrimeFaces: javax.faces.ViewState=N%2F6uUZMB9%2BPXSBTJVus5p6rncWDWwUAgQ9UIOweKuerVM0Z7 javax.faces.partial.ajax=true javax.faces.source=xxx javax.faces.partial.execute=%40none javax.faces.partial.render=%40none javax.faces.behavior.event=change javax.faces.partial.event=change form_SUBMIT=1 MyFaces: javax.faces.ViewState=EHCQlskNw%2BLXSBTJVus5pyzjdxWpT%2B72t7rvnK11Nffi10%2Bl javax.faces.partial.ajax=true javax.faces.source=xxx javax.faces.behavior.event=change javax.faces.partial.event=change javax.faces.windowId=2cc form_SUBMIT=1 form=form -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (MYFACES-3728) javax.faces.partial.execute=@none still process javax.faces.source component
[ https://issues.apache.org/jira/browse/MYFACES-3728?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13706311#comment-13706311 ] Leonardo Uribe commented on MYFACES-3728: - The code in the js side is perfect. There is no need of any changes in that part. But maybe we can update the server side code to behave in this part as Mojarra. I can't see any side effects doing this change, but it is clear primefaces js should comply with the spec anyway. javax.faces.partial.execute=@none still process javax.faces.source component Key: MYFACES-3728 URL: https://issues.apache.org/jira/browse/MYFACES-3728 Project: MyFaces Core Issue Type: Bug Affects Versions: 2.1.10 Reporter: Thomas Andraschko i found a weird issue that if i use p:ajax on inputText with process=@none, the InputTextRenderer#decode method will be still invoked. This works fine with f:ajax in myfaces and mojarra. p:ajax only works expected on mojarra. The only difference i found is, that p:ajax sends the javax.faces.partial.execute param and f:ajax not. Here is a list with the post params (without my inputs): PrimeFaces: javax.faces.ViewState=N%2F6uUZMB9%2BPXSBTJVus5p6rncWDWwUAgQ9UIOweKuerVM0Z7 javax.faces.partial.ajax=true javax.faces.source=xxx javax.faces.partial.execute=%40none javax.faces.partial.render=%40none javax.faces.behavior.event=change javax.faces.partial.event=change form_SUBMIT=1 MyFaces: javax.faces.ViewState=EHCQlskNw%2BLXSBTJVus5pyzjdxWpT%2B72t7rvnK11Nffi10%2Bl javax.faces.partial.ajax=true javax.faces.source=xxx javax.faces.behavior.event=change javax.faces.partial.event=change javax.faces.windowId=2cc form_SUBMIT=1 form=form -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (MYFACES-3728) javax.faces.partial.execute=@none still process javax.faces.source component
[ https://issues.apache.org/jira/browse/MYFACES-3728?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13703058#comment-13703058 ] Thomas Andraschko commented on MYFACES-3728: Any plans to fix this? Otherwise i must temporally do a workaround in PrimeFaces. AFAICS the @none handling was removed in PartialViewContext + Impl. javax.faces.partial.execute=@none still process javax.faces.source component Key: MYFACES-3728 URL: https://issues.apache.org/jira/browse/MYFACES-3728 Project: MyFaces Core Issue Type: Bug Affects Versions: 2.1.10 Reporter: Thomas Andraschko i found a weird issue that if i use p:ajax on inputText with process=@none, the InputTextRenderer#decode method will be still invoked. This works fine with f:ajax in myfaces and mojarra. p:ajax only works expected on mojarra. The only difference i found is, that p:ajax sends the javax.faces.partial.execute param and f:ajax not. Here is a list with the post params (without my inputs): PrimeFaces: javax.faces.ViewState=N%2F6uUZMB9%2BPXSBTJVus5p6rncWDWwUAgQ9UIOweKuerVM0Z7 javax.faces.partial.ajax=true javax.faces.source=xxx javax.faces.partial.execute=%40none javax.faces.partial.render=%40none javax.faces.behavior.event=change javax.faces.partial.event=change form_SUBMIT=1 MyFaces: javax.faces.ViewState=EHCQlskNw%2BLXSBTJVus5pyzjdxWpT%2B72t7rvnK11Nffi10%2Bl javax.faces.partial.ajax=true javax.faces.source=xxx javax.faces.behavior.event=change javax.faces.partial.event=change javax.faces.windowId=2cc form_SUBMIT=1 form=form -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (MYFACES-3728) javax.faces.partial.execute=@none still process javax.faces.source component
[ https://issues.apache.org/jira/browse/MYFACES-3728?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13703380#comment-13703380 ] Leonardo Uribe commented on MYFACES-3728: - Checking the jsdoc spec of jsf.ajax.request it says: ... If the keyword @none is present, do not create and send the post data argument javax.faces.partial.execute. ... later on: ... If the keyword @none is present, do not create and send the post data argument javax.faces.partial.render. ... MyFaces is doing it right. But it also says this: ... If the keyword @all is present, create the post data argument with the name javax.faces.partial.execute and the value @all ... So in theory it is valid to pass the keyword inside javax.faces.partial.execute and javax.faces.partial.render fields. I think it is a topic more related to interpretation. The spec is clear saying that is @none keyword is used, it is responsibility of the client behavior renderer to omit the request parameters. In this case and being strict with the spec, I think the fix should be done at primefaces, but I don't see any reason why don't allow the case in MyFaces. Probably it is a good idea, because in theory developers should be able to invent new keywords, and overriding PartialViewContext make things work. In my opinion, it is not a bug, but it looks more like a clarification over the possible allowed values for these two request parameters. I think we can fix it on the next version. javax.faces.partial.execute=@none still process javax.faces.source component Key: MYFACES-3728 URL: https://issues.apache.org/jira/browse/MYFACES-3728 Project: MyFaces Core Issue Type: Bug Affects Versions: 2.1.10 Reporter: Thomas Andraschko i found a weird issue that if i use p:ajax on inputText with process=@none, the InputTextRenderer#decode method will be still invoked. This works fine with f:ajax in myfaces and mojarra. p:ajax only works expected on mojarra. The only difference i found is, that p:ajax sends the javax.faces.partial.execute param and f:ajax not. Here is a list with the post params (without my inputs): PrimeFaces: javax.faces.ViewState=N%2F6uUZMB9%2BPXSBTJVus5p6rncWDWwUAgQ9UIOweKuerVM0Z7 javax.faces.partial.ajax=true javax.faces.source=xxx javax.faces.partial.execute=%40none javax.faces.partial.render=%40none javax.faces.behavior.event=change javax.faces.partial.event=change form_SUBMIT=1 MyFaces: javax.faces.ViewState=EHCQlskNw%2BLXSBTJVus5pyzjdxWpT%2B72t7rvnK11Nffi10%2Bl javax.faces.partial.ajax=true javax.faces.source=xxx javax.faces.behavior.event=change javax.faces.partial.event=change javax.faces.windowId=2cc form_SUBMIT=1 form=form -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (MYFACES-3728) javax.faces.partial.execute=@none still process javax.faces.source component
[ https://issues.apache.org/jira/browse/MYFACES-3728?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13703448#comment-13703448 ] Thomas Andraschko commented on MYFACES-3728: Thanks Leo for checking the specs! I will change the primefaces impl to be compatible with the specs but allow @none in myfaces would be a good enhancement too. javax.faces.partial.execute=@none still process javax.faces.source component Key: MYFACES-3728 URL: https://issues.apache.org/jira/browse/MYFACES-3728 Project: MyFaces Core Issue Type: Bug Affects Versions: 2.1.10 Reporter: Thomas Andraschko i found a weird issue that if i use p:ajax on inputText with process=@none, the InputTextRenderer#decode method will be still invoked. This works fine with f:ajax in myfaces and mojarra. p:ajax only works expected on mojarra. The only difference i found is, that p:ajax sends the javax.faces.partial.execute param and f:ajax not. Here is a list with the post params (without my inputs): PrimeFaces: javax.faces.ViewState=N%2F6uUZMB9%2BPXSBTJVus5p6rncWDWwUAgQ9UIOweKuerVM0Z7 javax.faces.partial.ajax=true javax.faces.source=xxx javax.faces.partial.execute=%40none javax.faces.partial.render=%40none javax.faces.behavior.event=change javax.faces.partial.event=change form_SUBMIT=1 MyFaces: javax.faces.ViewState=EHCQlskNw%2BLXSBTJVus5pyzjdxWpT%2B72t7rvnK11Nffi10%2Bl javax.faces.partial.ajax=true javax.faces.source=xxx javax.faces.behavior.event=change javax.faces.partial.event=change javax.faces.windowId=2cc form_SUBMIT=1 form=form -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira