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 "David DeWolf (JIRA)" <ji...@apache.org> on 2007/03/03 15:12:53 UTC

[jira] Resolved: (PLUTO-238) Wrapping RenderResponse causes ClassCastException

     [ https://issues.apache.org/jira/browse/PLUTO-238?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

David DeWolf resolved PLUTO-238.
--------------------------------

    Resolution: Won't Fix

> Wrapping RenderResponse causes ClassCastException
> -------------------------------------------------
>
>                 Key: PLUTO-238
>                 URL: https://issues.apache.org/jira/browse/PLUTO-238
>             Project: Pluto
>          Issue Type: Bug
>          Components: portlet container
>    Affects Versions: 1.0.1
>            Reporter: Eric Dalquist
>         Assigned To: Elliot Metsger
>             Fix For: 1.0.2
>
>         Attachments: CacheManagingDispatcherPortlet.java, CachingHttpServletResponse.java, PLUTO238-01.patch
>
>
> I have a portlet that is attempting to wrap the RenderResponse to capture data written to the PrintWriter or OutputStream to do some more advanced caching. It appears that pluto depends on the implementation of the RenderResponse that is passed into the PortletRequestDispatcher. I don't think this is required by the portlet specification as the portlet request/response objects are defined by interfaces implying the implementation should not matter. The stack trace I get is:
> java.lang.ClassCastException: edu.wisc.my.portlet.caching.support.CachingRenderResponse
> 	at org.apache.pluto.core.CoreUtils.getInternalResponse(CoreUtils.java:46)
> 	at org.apache.pluto.core.impl.PortletRequestDispatcherImpl.include(PortletRequestDispatcherImpl.java:45)
> 	at org.springframework.web.portlet.DispatcherPortlet.render(DispatcherPortlet.java:948)
> 	at edu.wisc.my.portlet.caching.CacheManagingDispatcherPortlet.render(CacheManagingDispatcherPortlet.java:209)
> 	at org.springframework.web.portlet.DispatcherPortlet.doRenderService(DispatcherPortlet.java:726)
> 	at edu.wisc.my.portlet.caching.CacheManagingDispatcherPortlet.doRenderService(CacheManagingDispatcherPortlet.java:179)
> 	at org.springframework.web.portlet.FrameworkPortlet.processRequest(FrameworkPortlet.java:420)
> 	at org.springframework.web.portlet.FrameworkPortlet.doDispatch(FrameworkPortlet.java:391)
> 	at javax.portlet.GenericPortlet.render(GenericPortlet.java:178)
> 	at org.apache.pluto.core.PortletServlet.dispatch(PortletServlet.java:205)
> 	at org.apache.pluto.core.PortletServlet.doGet(PortletServlet.java:145)
> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
> 	at org.apache.pluto.core.PortletServlet.service(PortletServlet.java:140)
> 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
> 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
> 	at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:672)
> 	at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:574)
> 	at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:499)
> 	at org.apache.pluto.invoker.impl.PortletInvokerImpl.invoke(PortletInvokerImpl.java:120)
> 	at org.apache.pluto.invoker.impl.PortletInvokerImpl.render(PortletInvokerImpl.java:73)
> 	at org.apache.pluto.PortletContainerImpl.renderPortlet(PortletContainerImpl.java:105)
> 	at org.jasig.portal.channels.portlet.CPortletAdapter.getMarkup(CPortletAdapter.java:690)
> 	at org.jasig.portal.channels.portlet.CPortletAdapter.renderCharacters(CPortletAdapter.java:593)
> 	at org.jasig.portal.MultithreadedCharacterChannelAdapter.renderCharacters(MultithreadedCharacterChannelAdapter.java:41)
> 	at org.jasig.portal.ChannelRenderer$Worker.execute(ChannelRenderer.java:603)
> 	at org.jasig.portal.utils.threading.BaseTask.run(BaseTask.java:27)
> 	at edu.emory.mathcs.backport.java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:431)
> 	at edu.emory.mathcs.backport.java.util.concurrent.FutureTask.run(FutureTask.java:166)
> 	at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:643)
> 	at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:668)
> 	at java.lang.Thread.run(Thread.java:595)

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.