ICEfaces
  1. ICEfaces
  2. ICE-4667

UISeries.keepSaved performance

    Details

    • Type: Improvement Improvement
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 1.8.1
    • Fix Version/s: 1.8.2-RC1, 1.8.2
    • Component/s: ICE-Components
    • Labels:
      None
    • Environment:
      All

      Description

      In Mojarra2's UIData.keepSaved, they just do the following, instead of that whole FacesMessage while loop that we do in UISeries.keepSaved:

          FacesMessage.Severity sev = context.getMaximumSeverity();
          return (sev != null && (FacesMessage.SEVERITY_ERROR.compareTo(sev) >= 0));

      The difference of course being that we track whether a child of the container has failed validation, whereas stock JSF sees if any component in the view has failed validation.

      One bad scenario with our existing way, would be if you have two different dataTables in one form. Something in dataTable A fails validation, so the whole form, and thus both dataTable A and B have failed validation. But dataTable B detects no FacesMessages for its components, so it throws out its state, losing any inputted values therein. I'd rather keep state potentially too long, that apps can just clear themselves, than lose state that unrecoverable. Maybe we should adopt their optimisation.

        Issue Links

          Activity

            People

            • Assignee:
              Mark Collette
              Reporter:
              Mark Collette
            • Votes:
              1 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: