You are viewing a plain text version of this content. The canonical link for it is here.
Posted to pluto-dev@portals.apache.org by "Elliot Metsger (JIRA)" <ji...@apache.org> on 2006/12/15 06:44:23 UTC

[jira] Resolved: (PLUTO-281) NPE thrown when trying to add a hot deployed portlet to a Pluto page

     [ http://issues.apache.org/jira/browse/PLUTO-281?page=all ]

Elliot Metsger resolved PLUTO-281.
----------------------------------

    Resolution: Fixed

PortletRegistryListener added to the portal's PortletRegistryServiceImpl in r487453.  Marking as resolved for now and we can probably close the issue if noone finds a problem with this solution.

> NPE thrown when trying to add a hot deployed portlet to a Pluto page
> --------------------------------------------------------------------
>
>                 Key: PLUTO-281
>                 URL: http://issues.apache.org/jira/browse/PLUTO-281
>             Project: Pluto
>          Issue Type: Bug
>          Components: portal driver, portlets-admin
>    Affects Versions: Current CVS
>            Reporter: Craig Doremus
>         Assigned To: Elliot Metsger
>             Fix For: 1.1.0
>
>
> Adding a hot deployed portlet to a page using the Page Administrator Portlet results in a NullPointerException which points to line 161 PortletModeAnchorTag.java (see stack trace below). The hot deployment was done using the Tomcat manager application.
> The proximal cause of this problem is a null PortletWindowConfig object. However, if a portlet-app record for this portlet is added to pluto-portal-driver-config.xml, and Pluto is restarted, the portlet can be sucessfully added to a portal page using the Page Administrator.
> Althought null checks can fix the problem in the PortletModeAnchorTag class, the root problem is that we need to notify users of this problem and its solution. I have found this NPE also occurs if there are errors in manually updating the config file or if I forgot to update that file after manually deploying a new portlet.
> TOMCAT ERROR PAGE OUTPUT:
> description The server encountered an internal error () that prevented it from fulfilling this request.
> exception
> org.apache.jasper.JasperException: Exception in JSP: /WEB-INF/themes/pluto-default-theme.jsp:109
> 106:                     <c:forEach var="portlet" varStatus="status"
> 107:                                items="${currentPage.portletIds}" begin="1" step="2">
> 108:                         <c:set var="portlet" value="${portlet}" scope="request"/>
> 109:                         <jsp:include page="portlet-skin.jsp"/>
> 110:                     </c:forEach>
> 111:                 </div>
> 112: 
> Stacktrace:
> 	org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:504)
> 	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:375)
> 	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
> 	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
> 	javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
> 	org.apache.pluto.driver.PortalDriverServlet.doGet(PortalDriverServlet.java:148)
> 	javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
> 	javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
> root cause
> org.apache.jasper.JasperException: Exception in JSP: /WEB-INF/themes/portlet-skin.jsp:26
> 23:   <div class="portlet" id='<c:out value="${portlet}"/>'>
> 24:     <div class="header">
> 25:       <!-- Portlet Mode Controls -->
> 26:       <pluto:modeAnchor portletMode="view"/>
> 27:       <pluto:modeAnchor portletMode="edit"/>
> 28:       <pluto:modeAnchor portletMode="help"/>
> 29:       <!-- Window State Controls -->
> Stacktrace:
> 	org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:504)
> 	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:393)
> 	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
> 	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
> 	javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
> 	org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:966)
> 	org.apache.jsp.WEB_002dINF.themes.pluto_002ddefault_002dtheme_jsp._jspx_meth_c_forEach_3(pluto_002ddefault_002dtheme_jsp.java:814)
> 	org.apache.jsp.WEB_002dINF.themes.pluto_002ddefault_002dtheme_jsp._jspx_meth_c_otherwise_1(pluto_002ddefault_002dtheme_jsp.java:702)
> 	org.apache.jsp.WEB_002dINF.themes.pluto_002ddefault_002dtheme_jsp._jspx_meth_c_choose_1(pluto_002ddefault_002dtheme_jsp.java:562)
> 	org.apache.jsp.WEB_002dINF.themes.pluto_002ddefault_002dtheme_jsp._jspService(pluto_002ddefault_002dtheme_jsp.java:159)
> 	org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
> 	javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
> 	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:332)
> 	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
> 	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
> 	javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
> 	org.apache.pluto.driver.PortalDriverServlet.doGet(PortalDriverServlet.java:148)
> 	javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
> 	javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
> root cause
> java.lang.NullPointerException
> 	org.apache.pluto.driver.tags.PortletModeAnchorTag.isPortletModeAllowed(PortletModeAnchorTag.java:161)
> 	org.apache.pluto.driver.tags.PortletModeAnchorTag.doStartTag(PortletModeAnchorTag.java:89)
> 	org.apache.jsp.WEB_002dINF.themes.portlet_002dskin_jsp._jspx_meth_pluto_modeAnchor_0(portlet_002dskin_jsp.java:178)
> 	org.apache.jsp.WEB_002dINF.themes.portlet_002dskin_jsp._jspx_meth_pluto_portlet_0(portlet_002dskin_jsp.java:115)
> 	org.apache.jsp.WEB_002dINF.themes.portlet_002dskin_jsp._jspService(portlet_002dskin_jsp.java:73)
> 	org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
> 	javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
> 	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:332)
> 	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
> 	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
> 	javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
> 	org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:966)
> 	org.apache.jsp.WEB_002dINF.themes.pluto_002ddefault_002dtheme_jsp._jspx_meth_c_forEach_3(pluto_002ddefault_002dtheme_jsp.java:814)
> 	org.apache.jsp.WEB_002dINF.themes.pluto_002ddefault_002dtheme_jsp._jspx_meth_c_otherwise_1(pluto_002ddefault_002dtheme_jsp.java:702)
> 	org.apache.jsp.WEB_002dINF.themes.pluto_002ddefault_002dtheme_jsp._jspx_meth_c_choose_1(pluto_002ddefault_002dtheme_jsp.java:562)
> 	org.apache.jsp.WEB_002dINF.themes.pluto_002ddefault_002dtheme_jsp._jspService(pluto_002ddefault_002dtheme_jsp.java:159)
> 	org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
> 	javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
> 	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:332)
> 	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
> 	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
> 	javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
> 	org.apache.pluto.driver.PortalDriverServlet.doGet(PortalDriverServlet.java:148)
> 	javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
> 	javax.servlet.http.HttpServlet.service(HttpServlet.java:802)

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira