ICEfaces
  1. ICEfaces
  2. ICE-8304

CoreRenderer.decodeBehaviors(-) imprecisely matches components

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 3.1.0.BETA1
    • Fix Version/s: 3.3
    • Component/s: ACE-Components
    • Labels:
      None
    • Environment:
      ACE
    • Assignee Priority:
      P1

      Description

      Discovered when looking into ICE-8301, it appears that a container component can get a false positive in thinking that a behavior event for a child component was for itself, as long as they support behavior events of the same name. The most likely scenario would be of the container component being nested in another component of its own type.

      It's due to the imprecise matching of event sources to components:

          String behaviorSource = params.get("javax.faces.source");
          String clientId = component.getClientId();
          if(behaviorSource != null && behaviorSource.startsWith(clientId)) {

      Any naming container ancestor of the actual source would have a false positive match with the use of startsWith(-).

        Activity

        Mark Collette created issue -
        Ken Fyten made changes -
        Field Original Value New Value
        Fix Version/s 3.3 [ 10370 ]
        Fix Version/s 3.2 [ 10338 ]
        Ken Fyten made changes -
        Assignee Nils Lundquist [ nils.lundquist ]
        Ken Fyten made changes -
        Assignee Priority P1 [ 10010 ]
        Nils Lundquist made changes -
        Status Open [ 1 ] Resolved [ 5 ]
        Resolution Fixed [ 1 ]
        Ken Fyten made changes -
        Status Resolved [ 5 ] Closed [ 6 ]

          People

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

            Dates

            • Created:
              Updated:
              Resolved: