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

        Repository Revision Date User Message
        ICEsoft Public SVN Repository #33185 Wed Jan 23 11:29:32 MST 2013 nils.lundquist ICE-8304 - Alterered CoreRenderer.decodeBehaviours to match complete component id.
        Files Changed
        Commit graph MODIFY /icefaces3/trunk/icefaces/ace/component/src/org/icefaces/ace/renderkit/CoreRenderer.java

          People

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

            Dates

            • Created:
              Updated:
              Resolved: