You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@myfaces.apache.org by "Matt Benson (JIRA)" <de...@myfaces.apache.org> on 2011/05/04 01:11:03 UTC

[jira] [Created] (MYFACES-3125) ValidatorTagHandlerDelegate does not invoke next handler in partial processing mode, which damages the component structure

ValidatorTagHandlerDelegate does not invoke next handler in partial processing mode, which damages the component structure
--------------------------------------------------------------------------------------------------------------------------

                 Key: MYFACES-3125
                 URL: https://issues.apache.org/jira/browse/MYFACES-3125
             Project: MyFaces Core
          Issue Type: Bug
            Reporter: Matt Benson


In my particular example (which I may or may not be able to extract and reproduce), I have:

<h:form>
  <f:validateBean>
    <h:inputText />
    ...
  </f:validateBean>
</h:form>

In this example, the form's children are marked for deletion; then, when ValidatorTHDelegate sees that the parent is not a new component, it bails out, thus failing to invoke the next handler and re-add the child components.  When the deletion is finalized the form is left with no children, which incidentally makes it impossible to complete the AJAX request as designed, since the component to re-render no longer exists!  I believe this would only be a problem in wrapping mode.  I have verified that removing the validateBean tag causes the form's structure to be preserved.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Commented] (MYFACES-3125) ValidatorTagHandlerDelegate does not invoke next handler in partial processing mode, which damages the component structure

Posted by "Matt Benson (JIRA)" <de...@myfaces.apache.org>.
    [ https://issues.apache.org/jira/browse/MYFACES-3125?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13031417#comment-13031417 ] 

Matt Benson commented on MYFACES-3125:
--------------------------------------

Took awhile for me to get back to this, but yes--latest 2.1.0-SNAPSHOT fixes my problem.  Thanks Leo!

> ValidatorTagHandlerDelegate does not invoke next handler in partial processing mode, which damages the component structure
> --------------------------------------------------------------------------------------------------------------------------
>
>                 Key: MYFACES-3125
>                 URL: https://issues.apache.org/jira/browse/MYFACES-3125
>             Project: MyFaces Core
>          Issue Type: Bug
>            Reporter: Matt Benson
>            Assignee: Leonardo Uribe
>             Fix For: 2.0.6, 2.1.0
>
>
> In my particular example (which I may or may not be able to extract and reproduce), I have:
> <h:form>
>   <f:validateBean>
>     <h:inputText />
>     ...
>   </f:validateBean>
> </h:form>
> In this example, the form's children are marked for deletion; then, when ValidatorTHDelegate sees that the parent is not a new component, it bails out, thus failing to invoke the next handler and re-add the child components.  When the deletion is finalized the form is left with no children, which incidentally makes it impossible to complete the AJAX request as designed, since the component to re-render no longer exists!  I believe this would only be a problem in wrapping mode.  I have verified that removing the validateBean tag causes the form's structure to be preserved.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Resolved] (MYFACES-3125) ValidatorTagHandlerDelegate does not invoke next handler in partial processing mode, which damages the component structure

Posted by "Leonardo Uribe (JIRA)" <de...@myfaces.apache.org>.
     [ https://issues.apache.org/jira/browse/MYFACES-3125?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Leonardo Uribe resolved MYFACES-3125.
-------------------------------------

       Resolution: Fixed
    Fix Version/s: 2.1.0
                   2.0.6
         Assignee: Leonardo Uribe

Yes, it is a bug. The solution is do the same pattern AjaxHandler has to handle wrap mode: don't call ComponentHandler.isNew, instead check if the component has been found on ComponentTagHandlerDelegate. I added some try{} finally{} blocks to handle push/pop from stack stuff. 

> ValidatorTagHandlerDelegate does not invoke next handler in partial processing mode, which damages the component structure
> --------------------------------------------------------------------------------------------------------------------------
>
>                 Key: MYFACES-3125
>                 URL: https://issues.apache.org/jira/browse/MYFACES-3125
>             Project: MyFaces Core
>          Issue Type: Bug
>            Reporter: Matt Benson
>            Assignee: Leonardo Uribe
>             Fix For: 2.0.6, 2.1.0
>
>
> In my particular example (which I may or may not be able to extract and reproduce), I have:
> <h:form>
>   <f:validateBean>
>     <h:inputText />
>     ...
>   </f:validateBean>
> </h:form>
> In this example, the form's children are marked for deletion; then, when ValidatorTHDelegate sees that the parent is not a new component, it bails out, thus failing to invoke the next handler and re-add the child components.  When the deletion is finalized the form is left with no children, which incidentally makes it impossible to complete the AJAX request as designed, since the component to re-render no longer exists!  I believe this would only be a problem in wrapping mode.  I have verified that removing the validateBean tag causes the form's structure to be preserved.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Commented] (MYFACES-3125) ValidatorTagHandlerDelegate does not invoke next handler in partial processing mode, which damages the component structure

Posted by "Matt Benson (JIRA)" <de...@myfaces.apache.org>.
    [ https://issues.apache.org/jira/browse/MYFACES-3125?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13030054#comment-13030054 ] 

Matt Benson commented on MYFACES-3125:
--------------------------------------

I hadn't yet had any luck reproducing this in a submittable example project, but hoped that my initial description would be enough to go on.  Thanks for the fix!

> ValidatorTagHandlerDelegate does not invoke next handler in partial processing mode, which damages the component structure
> --------------------------------------------------------------------------------------------------------------------------
>
>                 Key: MYFACES-3125
>                 URL: https://issues.apache.org/jira/browse/MYFACES-3125
>             Project: MyFaces Core
>          Issue Type: Bug
>            Reporter: Matt Benson
>            Assignee: Leonardo Uribe
>             Fix For: 2.0.6, 2.1.0
>
>
> In my particular example (which I may or may not be able to extract and reproduce), I have:
> <h:form>
>   <f:validateBean>
>     <h:inputText />
>     ...
>   </f:validateBean>
> </h:form>
> In this example, the form's children are marked for deletion; then, when ValidatorTHDelegate sees that the parent is not a new component, it bails out, thus failing to invoke the next handler and re-add the child components.  When the deletion is finalized the form is left with no children, which incidentally makes it impossible to complete the AJAX request as designed, since the component to re-render no longer exists!  I believe this would only be a problem in wrapping mode.  I have verified that removing the validateBean tag causes the form's structure to be preserved.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Commented] (MYFACES-3125) ValidatorTagHandlerDelegate does not invoke next handler in partial processing mode, which damages the component structure

Posted by "Leonardo Uribe (JIRA)" <de...@myfaces.apache.org>.
    [ https://issues.apache.org/jira/browse/MYFACES-3125?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13030055#comment-13030055 ] 

Leonardo Uribe commented on MYFACES-3125:
-----------------------------------------

It could be good if you can confirm the issue is fixed. I'm sure it is, but it is better if someone else can check this one too.

> ValidatorTagHandlerDelegate does not invoke next handler in partial processing mode, which damages the component structure
> --------------------------------------------------------------------------------------------------------------------------
>
>                 Key: MYFACES-3125
>                 URL: https://issues.apache.org/jira/browse/MYFACES-3125
>             Project: MyFaces Core
>          Issue Type: Bug
>            Reporter: Matt Benson
>            Assignee: Leonardo Uribe
>             Fix For: 2.0.6, 2.1.0
>
>
> In my particular example (which I may or may not be able to extract and reproduce), I have:
> <h:form>
>   <f:validateBean>
>     <h:inputText />
>     ...
>   </f:validateBean>
> </h:form>
> In this example, the form's children are marked for deletion; then, when ValidatorTHDelegate sees that the parent is not a new component, it bails out, thus failing to invoke the next handler and re-add the child components.  When the deletion is finalized the form is left with no children, which incidentally makes it impossible to complete the AJAX request as designed, since the component to re-render no longer exists!  I believe this would only be a problem in wrapping mode.  I have verified that removing the validateBean tag causes the form's structure to be preserved.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Commented] (MYFACES-3125) ValidatorTagHandlerDelegate does not invoke next handler in partial processing mode, which damages the component structure

Posted by "Leonardo Uribe (JIRA)" <de...@myfaces.apache.org>.
    [ https://issues.apache.org/jira/browse/MYFACES-3125?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13030067#comment-13030067 ] 

Leonardo Uribe commented on MYFACES-3125:
-----------------------------------------

Thanks! that would be a big help.

> ValidatorTagHandlerDelegate does not invoke next handler in partial processing mode, which damages the component structure
> --------------------------------------------------------------------------------------------------------------------------
>
>                 Key: MYFACES-3125
>                 URL: https://issues.apache.org/jira/browse/MYFACES-3125
>             Project: MyFaces Core
>          Issue Type: Bug
>            Reporter: Matt Benson
>            Assignee: Leonardo Uribe
>             Fix For: 2.0.6, 2.1.0
>
>
> In my particular example (which I may or may not be able to extract and reproduce), I have:
> <h:form>
>   <f:validateBean>
>     <h:inputText />
>     ...
>   </f:validateBean>
> </h:form>
> In this example, the form's children are marked for deletion; then, when ValidatorTHDelegate sees that the parent is not a new component, it bails out, thus failing to invoke the next handler and re-add the child components.  When the deletion is finalized the form is left with no children, which incidentally makes it impossible to complete the AJAX request as designed, since the component to re-render no longer exists!  I believe this would only be a problem in wrapping mode.  I have verified that removing the validateBean tag causes the form's structure to be preserved.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Commented] (MYFACES-3125) ValidatorTagHandlerDelegate does not invoke next handler in partial processing mode, which damages the component structure

Posted by "Matt Benson (JIRA)" <de...@myfaces.apache.org>.
    [ https://issues.apache.org/jira/browse/MYFACES-3125?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13030065#comment-13030065 ] 

Matt Benson commented on MYFACES-3125:
--------------------------------------

I plan to do a build from trunk later and check; will report back.

> ValidatorTagHandlerDelegate does not invoke next handler in partial processing mode, which damages the component structure
> --------------------------------------------------------------------------------------------------------------------------
>
>                 Key: MYFACES-3125
>                 URL: https://issues.apache.org/jira/browse/MYFACES-3125
>             Project: MyFaces Core
>          Issue Type: Bug
>            Reporter: Matt Benson
>            Assignee: Leonardo Uribe
>             Fix For: 2.0.6, 2.1.0
>
>
> In my particular example (which I may or may not be able to extract and reproduce), I have:
> <h:form>
>   <f:validateBean>
>     <h:inputText />
>     ...
>   </f:validateBean>
> </h:form>
> In this example, the form's children are marked for deletion; then, when ValidatorTHDelegate sees that the parent is not a new component, it bails out, thus failing to invoke the next handler and re-add the child components.  When the deletion is finalized the form is left with no children, which incidentally makes it impossible to complete the AJAX request as designed, since the component to re-render no longer exists!  I believe this would only be a problem in wrapping mode.  I have verified that removing the validateBean tag causes the form's structure to be preserved.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira