javaserverfaces-spec-public
  1. javaserverfaces-spec-public
  2. JAVASERVERFACES_SPEC_PUBLIC-205

Custom by-class converters not considered in UISelect{One,Many}.validateValue()

    Details

    • Type: Bug Bug
    • Status: Open
    • Priority: Major Major
    • Resolution: Unresolved
    • Affects Version/s: 1.1
    • Fix Version/s: None
    • Component/s: Validation/Conversion
    • Labels:
      None
    • Environment:

      Operating System: All
      Platform: Macintosh

    • Issuezilla Id:
      205
    • Status Whiteboard:
      Hide

      cat2 frame javadoc size_small importance_large

      Show
      cat2 frame javadoc size_small importance_large

      Description

      al80 on ##jsf on freenode found this one, and it appears to be a good candidate
      for the upcoming MR.

      Look at the javadocs for UISelect

      {One,Many}

      .validateValue():

      • Before comparing each option, coerce the
      • option value type to the type of this component's value following
      • the Expression Language coercion rules.

      If you have a custom converter installed as a by-type converter, then it will
      have been used to convert the value before calling into validateValue().
      However, when the EL coercion rules are used, this by-type converter is not
      consulted.

        Issue Links

          Activity

          Hide
          Ed Burns added a comment -

          Created an attachment (id=101)
          al80's test war

          Show
          Ed Burns added a comment - Created an attachment (id=101) al80's test war
          Hide
          Ed Burns added a comment -

          Created an attachment (id=102)
          java sources for war

          Show
          Ed Burns added a comment - Created an attachment (id=102) java sources for war
          Hide
          Ed Burns added a comment -

          Add jan to CC.

          Show
          Ed Burns added a comment - Add jan to CC.
          Hide
          Ed Burns added a comment -

          EL Spec section 1.18.7 has this to say about custom coercion.

          Coerce
          AtoAnyOtherTypeT
          â–  IfAisnull, returnnull
          â–  IfAisassignabletoT, coercequietly
          â–  IfAisaString, andThasnoPropertyEditor:
          â–  IfAis"", returnnull
          â–  Otherwiseerror
          â–  IfAisaStringandT'sPropertyEditorthrowsanexception:
          â–  IfAis"", returnnull
          â–  Otherwise, error
          â–  Otherwise, applyT'sPropertyEditor
          â–  Otherwise, error

          Show
          Ed Burns added a comment - EL Spec section 1.18.7 has this to say about custom coercion. Coerce AtoAnyOtherTypeT â–  IfAisnull, returnnull â–  IfAisassignabletoT, coercequietly â–  IfAisaString, andThasnoPropertyEditor: â–  IfAis"", returnnull â–  Otherwiseerror â–  IfAisaStringandT'sPropertyEditorthrowsanexception: â–  IfAis"", returnnull â–  Otherwise, error â–  Otherwise, applyT'sPropertyEditor â–  Otherwise, error
          Hide
          Ed Burns added a comment -

          Created an attachment (id=103)
          fix for this bug, first iteration

          Show
          Ed Burns added a comment - Created an attachment (id=103) fix for this bug, first iteration
          Hide
          Ed Burns added a comment -

          Created an attachment (id=104)
          tarball of modified and new files for first iteration bugfix.

          Show
          Ed Burns added a comment - Created an attachment (id=104) tarball of modified and new files for first iteration bugfix.
          Hide
          Ed Burns added a comment -

          Attachment 103 is a JSF Impl based fix for this issue, but I do think something
          should be done at the spec level. There is no sense in requiring someone to
          write a converter twice: once as a JSF Converter and once as a PropertyEditor.

          Show
          Ed Burns added a comment - Attachment 103 is a JSF Impl based fix for this issue, but I do think something should be done at the spec level. There is no sense in requiring someone to write a converter twice: once as a JSF Converter and once as a PropertyEditor.
          Hide
          Ed Burns added a comment -

          After thinking about this some more, I have to wonder, why don't we just use
          UIInput.getConvertedValue() rather than the EL's coerceToType() in the
          UISelect

          {One,Many}

          .matchValue() implementation?

          Show
          Ed Burns added a comment - After thinking about this some more, I have to wonder, why don't we just use UIInput.getConvertedValue() rather than the EL's coerceToType() in the UISelect {One,Many} .matchValue() implementation?
          Hide
          Ed Burns added a comment -

          take ownership

          Show
          Ed Burns added a comment - take ownership
          Hide
          Ed Burns added a comment -

          Let's defer this to 2.0. At least we have a by-type solution in the Sun Impl.

          Show
          Ed Burns added a comment - Let's defer this to 2.0. At least we have a by-type solution in the Sun Impl.
          Hide
          Ryan Lubke added a comment -

          57 is an umbrella issue for this one.

          Show
          Ryan Lubke added a comment - 57 is an umbrella issue for this one.
          Hide
          Ed Burns added a comment -

          Move to unscheduled target milestone

          Show
          Ed Burns added a comment - Move to unscheduled target milestone
          Hide
          Ed Burns added a comment -

          Prepare to delete "spec" subcomponent.

          Show
          Ed Burns added a comment - Prepare to delete "spec" subcomponent.
          Hide
          rogerk added a comment -

          cat2

          Show
          rogerk added a comment - cat2
          Hide
          Ed Burns added a comment -

          javadoc

          Show
          Ed Burns added a comment - javadoc
          Hide
          Ed Burns added a comment -

          These are targeted at 2.1.

          Show
          Ed Burns added a comment - These are targeted at 2.1.
          Hide
          Ed Burns added a comment -

          triage

          Show
          Ed Burns added a comment - triage
          Hide
          Ed Burns added a comment -

          GlassFish 3.1 M6 at the latest.

          Show
          Ed Burns added a comment - GlassFish 3.1 M6 at the latest.
          Hide
          Ed Burns added a comment -

          Move these to M5

          Show
          Ed Burns added a comment - Move these to M5
          Hide
          Ed Burns added a comment -

          Move these to 2.2

          Show
          Ed Burns added a comment - Move these to 2.2
          Hide
          Ed Burns added a comment -

          Set priority to baseline ahead of JSF 2.3 triage. Priorities will be assigned accurately after this exercise.

          Show
          Ed Burns added a comment - Set priority to baseline ahead of JSF 2.3 triage. Priorities will be assigned accurately after this exercise.
          Hide
          Manfred Riem added a comment -

          Set priority to Major

          Show
          Manfred Riem added a comment - Set priority to Major

            People

            • Assignee:
              Unassigned
              Reporter:
              Ed Burns
            • Votes:
              1 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

              • Created:
                Updated: