MyFaces Core
  1. MyFaces Core
  2. MYFACES-3064

UIView.createUniqueId shouldn't call encodeNameSpace to build the id.

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 1.2.10, 2.0.4
    • Fix Version/s: 2.0.5
    • Component/s: General
    • Labels:
      None

      Description

      Submitting a new bug based on one I recently reopened as it pertains to 1.2 and 2.0 impls as well:
      Referer bug: https://issues.apache.org/jira/browse/MYFACES-702

      Problem reported in the above bug is related to the component's id being prefixed with the portletNamespace which is caused by calling encodeNamespace. Why is this api called in generating the component id. encodeNamespace was added to external context by and large for the portlet environment to allow it to prefix client ids to be unique on the page they are being incorporated into. Is there a reason for needing this when generating the component id? FYI ... Mojarra doesn't make this call from createUniqureId.

      Hopefully, this is something that can be fixed by just removing the call ....

        Issue Links

          Activity

          Hide
          Leonardo Uribe added a comment -

          I checked it and the code comes from other issue:

          https://issues.apache.org/jira/browse/MYFACES-454

          It is probably this is valid on 1.1.x branch (due to its inner portlet code).

          This was a hack that comes from pre portlet-bridge times (note in that time the solution for portlets was use myfaces and its custom generic portlet). In portlet-bridge, the portlet specific UIViewRoot implements NamingContainer, so its clientId is appended to all generated ids implicitly.

          You're right, Michael, this issue should be fixed on 1.2.x and 2.0.x branches (I think there are some code in tomahawk that requires it too). I'll close MYFACES-702 and MYFACES-454.

          Show
          Leonardo Uribe added a comment - I checked it and the code comes from other issue: https://issues.apache.org/jira/browse/MYFACES-454 It is probably this is valid on 1.1.x branch (due to its inner portlet code). This was a hack that comes from pre portlet-bridge times (note in that time the solution for portlets was use myfaces and its custom generic portlet). In portlet-bridge, the portlet specific UIViewRoot implements NamingContainer, so its clientId is appended to all generated ids implicitly. You're right, Michael, this issue should be fixed on 1.2.x and 2.0.x branches (I think there are some code in tomahawk that requires it too). I'll close MYFACES-702 and MYFACES-454 .

            People

            • Assignee:
              Leonardo Uribe
              Reporter:
              Michael Freedman
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development