Portals Bridges
  1. Portals Bridges
  2. PB-66

FacesPortlet should apply defaultRenderKitId instead of HTML_BASIC

    Details

    • Type: Bug Bug
    • Status: Resolved
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 1.0.2-RC
    • Fix Version/s: 1.0.3
    • Component/s: jsf
    • Labels:
      None

      Description

      FacesPortlet should set the defaultRenderKitId instead of HTML_BASIC
      This bug leads to a general incompatibility with other Renderkits.
      MyFaces Trinidad for example has a renderkit other than HTML_BASIC and does not work with 1.0.2-RC.

      attached the patch.

      Thomas

        Activity

        Hide
        Ate Douma added a comment -

        I agree we should do that, although you can already easily prevent this problem by defining the default-render-kit-id in faces-config.
        I created new (minor) issue PB-71 to address this, which I will handle after 1.0.3 is released.

        Show
        Ate Douma added a comment - I agree we should do that, although you can already easily prevent this problem by defining the default-render-kit-id in faces-config. I created new (minor) issue PB-71 to address this, which I will handle after 1.0.3 is released.
        Hide
        Matthew Bruzek added a comment -

        We are encountering a problem that is related to this change. Our JSF application was running on the previous version of the MyFaces portlet bridge. When I changed the jar files to try the new code out we got the following exception:

        javax.servlet.ServletException: Argument Error: One or more parameters are null. renderKitId null
        at org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:658)
        at _ibmjsp.com.ibm.usmi.console.core.jsps._NavigatorWidgetPage._jspService(_NavigatorWidgetPage.java:104)
        at com.ibm.ws.jsp.runtime.HttpJspBase.service(HttpJspBase.java:85)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
        ...
        Caused by: java.lang.NullPointerException: Argument Error: One or more parameters are null. renderKitId null
        at com.sun.faces.renderkit.RenderKitFactoryImpl.getRenderKit(RenderKitFactoryImpl.java:74)
        at com.ibm.faces.renderkit.AjaxRenderKitFactory.getRenderKit(AjaxRenderKitFactory.java:73)
        at javax.faces.webapp.UIComponentTag.setupResponseWriter(UIComponentTag.java:918)
        at javax.faces.webapp.UIComponentTag.doStartTag(UIComponentTag.java:418)
        at com.sun.faces.taglib.jsf_core.ViewTag.doStartTag(ViewTag.java:104)
        at _ibmjsp.com.ibm.usmi.console.core.jsps._NavigatorWidgetPage._jspx_meth_f_view_0(_NavigatorWidgetPage.java:218)
        at _ibmjsp.com.ibm.usmi.console.core.jsps._NavigatorWidgetPage._jspService(_NavigatorWidgetPage.java:96)
        at com.ibm.ws.jsp.runtime.HttpJspBase.service(HttpJspBase.java:85)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)

        We define many custom renderers but do not have the default-render-kit-id tag in our faces config file. Our code was working before and this change seems to break a working case.

        Can we compromise and change the code to get the default render kit id and if it is null, set it to RenderKitFactory.HTML_BASIC_RENDER_KIT?

        Show
        Matthew Bruzek added a comment - We are encountering a problem that is related to this change. Our JSF application was running on the previous version of the MyFaces portlet bridge. When I changed the jar files to try the new code out we got the following exception: javax.servlet.ServletException: Argument Error: One or more parameters are null. renderKitId null at org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:658) at _ibmjsp.com.ibm.usmi.console.core.jsps._NavigatorWidgetPage._jspService(_NavigatorWidgetPage.java:104) at com.ibm.ws.jsp.runtime.HttpJspBase.service(HttpJspBase.java:85) at javax.servlet.http.HttpServlet.service(HttpServlet.java:810) ... Caused by: java.lang.NullPointerException: Argument Error: One or more parameters are null. renderKitId null at com.sun.faces.renderkit.RenderKitFactoryImpl.getRenderKit(RenderKitFactoryImpl.java:74) at com.ibm.faces.renderkit.AjaxRenderKitFactory.getRenderKit(AjaxRenderKitFactory.java:73) at javax.faces.webapp.UIComponentTag.setupResponseWriter(UIComponentTag.java:918) at javax.faces.webapp.UIComponentTag.doStartTag(UIComponentTag.java:418) at com.sun.faces.taglib.jsf_core.ViewTag.doStartTag(ViewTag.java:104) at _ibmjsp.com.ibm.usmi.console.core.jsps._NavigatorWidgetPage._jspx_meth_f_view_0(_NavigatorWidgetPage.java:218) at _ibmjsp.com.ibm.usmi.console.core.jsps._NavigatorWidgetPage._jspService(_NavigatorWidgetPage.java:96) at com.ibm.ws.jsp.runtime.HttpJspBase.service(HttpJspBase.java:85) at javax.servlet.http.HttpServlet.service(HttpServlet.java:810) We define many custom renderers but do not have the default-render-kit-id tag in our faces config file. Our code was working before and this change seems to break a working case. Can we compromise and change the code to get the default render kit id and if it is null, set it to RenderKitFactory.HTML_BASIC_RENDER_KIT?
        Hide
        Ate Douma added a comment -

        Patch applied, thanks

        Show
        Ate Douma added a comment - Patch applied, thanks
        Hide
        Thomas Spiegl added a comment -

        Patch

        Show
        Thomas Spiegl added a comment - Patch

          People

          • Assignee:
            Ate Douma
            Reporter:
            Thomas Spiegl
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development