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/08/07 04:57:15 UTC

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

    [ http://issues.apache.org/jira/browse/PLUTO-238?page=comments#action_12426108 ] 
            
Elliot Metsger commented on PLUTO-238:
--------------------------------------

Eric,

Any chance I could see the code for edu.wisc.my.portlet.caching.support.CachingRenderResponse and edu.wisc.my.portlet.caching.CacheManagingDispatcherPortlet, or get a copy from your svn?

> Wrapping RenderResponse causes ClassCastException
> -------------------------------------------------
>
>                 Key: PLUTO-238
>                 URL: http://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
>
>
> 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.
-
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