ICEfaces
  1. ICEfaces
  2. ICE-9655

When ace:dataTable alwaysExecuteContents set to False it is Executing Contents

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: EE-3.3.0.GA_P01
    • Fix Version/s: 4.0.BETA, EE-3.3.0.GA_P02, 4.0
    • Component/s: ACE-Components
    • Labels:
      None
    • Environment:
      Tomcat 7
    • Assignee Priority:
      P2
    • Salesforce Case Reference:

      Description

      According to the ace:dataTable tld for alwaysExecuteContents:

      Enable the decoding of child components during table feature requests. The table attempts to decode children whenever it is executed, meaning whenever a parent region is submitted, or the table submits itself to paginate, make a selection, reorder columns, or any other feature. Decoding children during feature requests can result in unwanted input submission (during pagination for example), so by default this component suppresses child decoding whenever submitting itself.

      The default is false, meaning child components should NOT be executed. However, in the showcase, if you replace one of the h:outputText tags with an h:inputText tag in dataTableLazyLoading.xhtml and add a customer f:validator, you will see the validator execute when paginating, meaning the component has been decoded.

      Page Markup:

                          <h:inputText id="nameCell" value="#{car.name}">
                              <f:validator validatorId="test.validator" />
                          </h:inputText>

      Validator:

      package org.icefaces.samples.showcase.example.ace.dataTable;

      import javax.faces.component.UIComponent;
      import javax.faces.context.FacesContext;
      import javax.faces.validator.FacesValidator;
      import javax.faces.validator.Validator;
      import javax.faces.validator.ValidatorException;

      @FacesValidator("test.validator")
      public class TestValidator implements Validator {

          public void validate(FacesContext facesContext, UIComponent uiComponent, Object o) throws ValidatorException {
              System.out.println("VALIDATION !!!!");
          }
      }


        Activity

        Hide
        Arturo Zambrano added a comment -

        Committed fix at revision 38647. The alwaysExecuteContents attribute wasn't being checked at processDecodes() and processValidations(). The problem was present in lazy and non-lazy modes.

        Show
        Arturo Zambrano added a comment - Committed fix at revision 38647. The alwaysExecuteContents attribute wasn't being checked at processDecodes() and processValidations(). The problem was present in lazy and non-lazy modes.
        Hide
        Cruz Miraback added a comment -

        Re-opening because a related issue has been found.

        When there is a dataTable with input fields in one of the body columns (that fail validation) and alwaysExecuteContents=false, the row/panel expansion features don't function. The arrow image changes state but it doesn't actually display the additional row/panel. When the fields pass validation the expansion works fine, and other features seem to work as well, like sorting, filtering, pagination, etc...

        It can be reproduced using this test page:
        http://server.ice:8888/svn/repo/qa/trunk/Regression-Icefaces2/Sparkle/Nightly/dataTable/web/views/validationFailedTest.xhtml

        Show
        Cruz Miraback added a comment - Re-opening because a related issue has been found. When there is a dataTable with input fields in one of the body columns (that fail validation) and alwaysExecuteContents=false, the row/panel expansion features don't function. The arrow image changes state but it doesn't actually display the additional row/panel. When the fields pass validation the expansion works fine, and other features seem to work as well, like sorting, filtering, pagination, etc... It can be reproduced using this test page: http://server.ice:8888/svn/repo/qa/trunk/Regression-Icefaces2/Sparkle/Nightly/dataTable/web/views/validationFailedTest.xhtml
        Hide
        Arturo Zambrano added a comment -

        r38709:
        Committed fix for issue mentioned in previous comment.

        Show
        Arturo Zambrano added a comment - r38709: Committed fix for issue mentioned in previous comment.
        Hide
        Arturo Zambrano added a comment -

        Backported fix to 3.3 EE maintenance branch at revision 38740.

        Show
        Arturo Zambrano added a comment - Backported fix to 3.3 EE maintenance branch at revision 38740.

          People

          • Assignee:
            Arturo Zambrano
            Reporter:
            Brad Kroeger
          • Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: