Uploaded image for project: 'Pluto'
  1. Pluto
  2. PLUTO-488

When executing doAction/doRender/doLoad/doAdmin and retrieving the servlet context of the portlet app fails, a generic NullPointerException is thrown

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Resolved
    • Trivial
    • Resolution: Fixed
    • 1.1.5, 2.0.0
    • 1.1.6, 2.0.0
    • portlet container
    • None
    • Tomcat 5.5.26

    Description

      A very common error when working with JSR-168 portlets for the first time is when the servlet context of the portlet app cannot be accessed by the portal app. This is usually due to an app server misconfiguration (ex: forgetting to set crossContext="true" on Tomcat) or a failed deployment of the portlet app.

      On Pluto 1.1.5, when trying to render a portlet and the servlet context of the portlet app cannot be retrieved, a generic NullPointerException is thrown from DefaultPortletInvokerService.invoke (line 151). It would be much better to throw a PortletContainerException with a detailed message of the problem.

      This is actually already implemented in PortletContainerImpl.getPortletApplicationDescriptor (line 387), but the same logic is not used in the doRender, doAction, doLoad, and doAdmin methods of PortletContainerImpl. This code could be pulled out into a private method on PortletContainerImpl, or it could be placed directly into PortletContextManager.getPortletContext(ServletContext, String).

      Attachments

        1. P488-1.1.x-Rev656347.diff
          5 kB
          Nikita Dubrovsky
        2. P488-trunk-Rev670645.diff
          4 kB
          Nikita Dubrovsky

        Activity

          People

            Unassigned Unassigned
            nikd Nikita Dubrovsky
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: