Details

    • Type: Sub-task Sub-task
    • Status: Open
    • Priority: Major Major
    • Resolution: Unresolved
    • Affects Version/s: 2.0
    • Fix Version/s: None
    • Component/s: Facelets/VDL
    • Labels:
      None
    • Environment:

      Operating System: All
      Platform: All

    • Issuezilla Id:
      755
    • Status Whiteboard:
      Hide

      cat2 frame size_medium importance_large

      Show
      cat2 frame size_medium importance_large

      Description

      I already talked to Ed Burns about this at the JSFDays, but I thought opening a
      spec issue won't be bad!

      There are 4 special attributes on composite components (action, actionListener,
      validator, valueChangeListener) which are not populated on #

      {cc.attrs}

      as
      MethodExpressions, but added to their related components (defined via the
      targets attribute of cc:attribute) directly via setAction(), addActionListener(),...

      This works fine for all standard components. However if you nest another
      composite component inside the implementation of our composite component, you
      are not able to pass any of those 4 attributes through to the nested composite
      component, because it (normally) is a UINamingContainer which does not implement
      any of the needed interfaces.

      To make this more clear imagine you have a composite component which is a
      special commandButton (AJAX-commandButton or whatever) and you're creating e.g.
      a LoginPanel composite component. This LoginPanel composite component has an
      actionListener attribute to determine the actionListener for the login button
      (which in our implementation is our composite component commandButton). Now we
      are not able to pass the actionListener through to "our" commandButton, because
      it is no ActionSource2 an the MethodExpression is not stored in
      #

      {cc.attrs.actionListener}

      . The same applies to the 3 other attributes.

      <cc:interface name="loginPanel">
      <cc:attribute name="actionListener" targets="???" />
      </cc:interface>
      <cc:implementation>
      <!-- other components -->
      <ez:customCommandButton actionListener="???" />
      </cc:implementation>

      1. 755-cc-attribute-full-solution.patch
        45 kB
        lu4242
      2. 755-cc-attribute-Nested-No-EL.patch
        22 kB
        lu4242
      3. 755-cc-attribute-with-EL.patch
        29 kB
        lu4242
      4. diffs.patch
        9 kB
        Ed Burns
      5. diffs.patch
        9 kB
        Ed Burns

        Issue Links

          Activity

          Hide
          lu4242 added a comment -

          Created an attachment (id=332)
          Test demo using maven. To run type: mvn clean -Djsf=mojarra jetty:run

          Show
          lu4242 added a comment - Created an attachment (id=332) Test demo using maven. To run type: mvn clean -Djsf=mojarra jetty:run
          Hide
          lu4242 added a comment -

          Created an attachment (id=335)
          Full solution merging two previous patches

          Show
          lu4242 added a comment - Created an attachment (id=335) Full solution merging two previous patches
          Hide
          Ed Burns added a comment -

          Snapshot of reproducer, in progress.

          Show
          Ed Burns added a comment - Snapshot of reproducer, in progress.
          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 -

          Setting priority to Major

          Show
          Manfred Riem added a comment - Setting priority to Major

            People

            • Assignee:
              Unassigned
              Reporter:
              Jakob Korherr
            • Votes:
              8 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

              • Created:
                Updated: