ICEfaces
  1. ICEfaces
  2. ICE-3154

Clean up improper 'encodeChildren' implementations in a few components

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Minor Minor
    • Resolution: Fixed
    • Affects Version/s: 1.7
    • Fix Version/s: 1.7.1
    • Component/s: ICE-Components
    • Labels:
      None
    • Environment:
      All

      Description

      Because of ICE-3147, I did a little impromptu audit of encodeChildren() methods in our components. The following classes use non-standard implementations of encodeChildren(-), which may cause problems:

      com.icesoft.faces.component.gmap.GMapLatLngs
      com.icesoft.faces.component.gmap.GMapMarker
      com.icesoft.faces.component.gmap.GMapRenderer
      com.icesoft.faces.component.menubar.MenuItemRenderer
         Lines 658, 704 :: Link rendering. The way we hard-code the links, it
      should be ok
      com.icesoft.faces.component.menubar.MenuItemRendererBase
         Omits check for rendered that MenuItemsRenderer does
      com.icesoft.faces.component.panellayout.PanelLayoutRenderer

        Activity

        Hide
        Mark Collette added a comment -

        I should check the Canvas code too, since I found:

        canvas\src\com\icesoft\faces\canvas\Canvas.java
        Method: render(UIComponent)

        Show
        Mark Collette added a comment - I should check the Canvas code too, since I found: canvas\src\com\icesoft\faces\canvas\Canvas.java Method: render(UIComponent)
        Hide
        Mark Collette added a comment -

        Canvas.encodeChildren(FacesContext)
        DataPaginatorRenderer.renderFacet(FacesContext, DataPaginator, UIComponent, String)

        Show
        Mark Collette added a comment - Canvas.encodeChildren(FacesContext) DataPaginatorRenderer.renderFacet(FacesContext, DataPaginator, UIComponent, String)
        Hide
        Adnan Durrani added a comment -

        trunk : revision 16837
        branch 1.7: 16838

        Changes made to the both GmapLatLngs and GMapMarker.
        It doesn't apply on GMapRenderer as it takes only designated children and it maps the javascript visual elements with the JSF component, so even on render=false on any of its children, GMapRenderer delegates the encoding to it children, where it children decides to send remove command for appropriate visual element to the GMap library.

        Show
        Adnan Durrani added a comment - trunk : revision 16837 branch 1.7: 16838 Changes made to the both GmapLatLngs and GMapMarker. It doesn't apply on GMapRenderer as it takes only designated children and it maps the javascript visual elements with the JSF component, so even on render=false on any of its children, GMapRenderer delegates the encoding to it children, where it children decides to send remove command for appropriate visual element to the GMap library.
        Hide
        yip.ng added a comment -

        Fixed com.icesoft.faces.component.menubar.MenuItemRenderer, com.icesoft.faces.component.menubar.MenuItemRendererBase and com.icesoft.faces.component.panellayout.PanelLayoutRenderer as suggested by Mark.

        Show
        yip.ng added a comment - Fixed com.icesoft.faces.component.menubar.MenuItemRenderer, com.icesoft.faces.component.menubar.MenuItemRendererBase and com.icesoft.faces.component.panellayout.PanelLayoutRenderer as suggested by Mark.
        Hide
        Adnan Durrani added a comment -

        changes made to the GMapMarker also reverted as the encodeBegin of it using the renderer flag to send remove command to the google map library.

        Show
        Adnan Durrani added a comment - changes made to the GMapMarker also reverted as the encodeBegin of it using the renderer flag to send remove command to the google map library.
        Hide
        Mark Collette added a comment -

        Here's an example of a test case for panelLayout:

        <ice:panelLayout layout="flow">
        <ice:outputText value="This text should display"/>
        <br/>
        <ice:outputLink value="http://www.icefaces.org" title="There should be an image in here">
        <ice:graphicImage alt="Home" url="http://www.icefaces.org/main/css/images/tools_home.gif"/>
        </ice:outputLink>
        </ice:panelLayout>

        Before Yip's fix, the image would not show up, and afterwards, it now should.

        Show
        Mark Collette added a comment - Here's an example of a test case for panelLayout: <ice:panelLayout layout="flow"> <ice:outputText value="This text should display"/> <br/> <ice:outputLink value="http://www.icefaces.org" title="There should be an image in here"> <ice:graphicImage alt="Home" url="http://www.icefaces.org/main/css/images/tools_home.gif"/> </ice:outputLink> </ice:panelLayout> Before Yip's fix, the image would not show up, and afterwards, it now should.
        Hide
        Mark Collette added a comment -

        TRUNK
        Subversion 16849
        icefaces\component\src\com\icesoft\faces\component\datapaginator\DataPaginatorRenderer.java

        ICEfaces 1.7 branch
        Subversion 16850
        icefaces\component\src\com\icesoft\faces\component\datapaginator\DataPaginatorRenderer.java

        Show
        Mark Collette added a comment - TRUNK Subversion 16849 icefaces\component\src\com\icesoft\faces\component\datapaginator\DataPaginatorRenderer.java ICEfaces 1.7 branch Subversion 16850 icefaces\component\src\com\icesoft\faces\component\datapaginator\DataPaginatorRenderer.java
        Hide
        Ken Fyten added a comment -

        Changes caused regression issue: ICE-3174.

        Show
        Ken Fyten added a comment - Changes caused regression issue: ICE-3174.
        Hide
        Ken Fyten added a comment -

        False alarm.

        Show
        Ken Fyten added a comment - False alarm.

          People

          • Assignee:
            Unassigned
            Reporter:
            Mark Collette
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: