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:37:23 UTC
[jira] Commented: (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=comments#action_12458678 ]
Elliot Metsger commented on PLUTO-281:
--------------------------------------
getPortletWindowConfig(String id) forwards to registryService.getPortlet(id)
registry service forwards to ResourceConfig (in o.a.p.driver.services.impl.resource)
the Map on line 55 of ResourceConfig doesn't contain the hot-deployed portlet id, or it is expecting a different key.
After debugging, ResourceConfig.addPortletApp wasn't getting called by the PortletService, because there wasn't a PortletRegistryListener attached to the container's PortletRegistryService.
> 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