Wrapping RenderResponse causes ClassCastException
-------------------------------------------------

         Key: PLUTO-238
         URL: http://issues.apache.org/jira/browse/PLUTO-238
     Project: Pluto
        Type: Bug

  Components: portlet container  
    Versions: 1.0.1    
    Reporter: Eric Dalquist


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

Reply via email to