Tapestry 5
  1. Tapestry 5
  2. TAP5-1401

5.2.4 Form's getDefaultTracker() incompatible with 5.1.0.5

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Minor Minor
    • Resolution: Invalid
    • Affects Version/s: 5.2.4
    • Fix Version/s: None
    • Labels:
      None

      Description

      In Tapestry 5.1.0.5, you can have code such as:

      @Component
      private Form inputs;
      ...
      if (inputs.getDefaultTracker().getHasErrors())
      ...

      This fails in 5.2.4 because getDefaultTracker() returns null if there are no errors. This appears to be related to this closed bug:

      https://issues.apache.org/jira/browse/TAP5-979

      Perhaps getDefaultTracker() should check for a null and return an empty one to be backwards compatible with 5.1.0.5? Alternatively, document it as a known incompatibility in the release notes.

        Activity

        Hide
        Howard M. Lewis Ship added a comment -

        Darn this grey area.

        Form implements FormValidationControl; if you want to know if a Form has any errors, just invoke getHasErrors() directly on the Form. You should not need to invoke getDefaultTracker().

        Show
        Howard M. Lewis Ship added a comment - Darn this grey area. Form implements FormValidationControl; if you want to know if a Form has any errors, just invoke getHasErrors() directly on the Form. You should not need to invoke getDefaultTracker().
        Hide
        Howard M. Lewis Ship added a comment -

        Its unfortunate that sometimes components must implement public methods that are not intended to be invoked except under certain situations (perhaps we need to make that a @Property, or create a new annotation to identify "hands off" methods). In any case, see the workaround in the comments.

        Show
        Howard M. Lewis Ship added a comment - Its unfortunate that sometimes components must implement public methods that are not intended to be invoked except under certain situations (perhaps we need to make that a @Property, or create a new annotation to identify "hands off" methods). In any case, see the workaround in the comments.

          People

          • Assignee:
            Howard M. Lewis Ship
            Reporter:
            Michael Gentry
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development