|
From: Jan N. <jan...@gm...> - 2007-12-06 20:54:59
|
Many thanks, Juergen - that did the trick! On Dec 5, 2007 4:19 PM, Juergen Hoeller <jue...@sp...> wrote: > Seems that LifeRay uses the same object for ActionRequests and > RenderRequests... meaning that "instanceof RenderRequest" does not guarantee > an actual render request. I've revised our AnnotationMethodHandlerAdapter to > explicitly check for the RenderResponse there as well. > > This should be available in tonight's 2.5.1 snapshot > (http://static.springframework.org/downloads/nightly/snapshot-download.php?p > roject=SPR). > > Thanks for pointing this out! > > Juergen > > > > -----Original Message----- > From: spr...@li... > [mailto:spr...@li...] On Behalf > Of Jan Nielsen > Sent: Wednesday, December 05, 2007 8:05 PM > To: spr...@li... > Subject: [Springframework-developer] > com.liferay.portlet.ActionResponseImplcannot be cast to > javax.portlet.RenderResponse > > I compiled and deployed the "petportal' portlets from Spring 2.5 in > LifeRay 4.3.3. When I click on "remove" for "Polly", I get the > following error: > > java.lang.ClassCastException: com.liferay.portlet.ActionResponseImpl > cannot be cast to javax.portlet.RenderResponse > at > org.springframework.web.portlet.mvc.annotation.AnnotationMethodHandlerAdapte > r.doHandle(AnnotationMethodHandlerAdapter.java:174) > at > org.springframework.web.portlet.mvc.annotation.AnnotationMethodHandlerAdapte > r.handleAction(AnnotationMethodHandlerAdapter.java:142) > at > org.springframework.web.portlet.DispatcherPortlet.doActionService(Dispatcher > Portlet.java:694) > at > org.springframework.web.portlet.FrameworkPortlet.processRequest(FrameworkPor > tlet.java:484) > at > org.springframework.web.portlet.FrameworkPortlet.processAction(FrameworkPort > let.java:466) > at > com.liferay.portal.kernel.servlet.PortletServlet.service(PortletServlet.java > :101) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:803) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application > FilterChain.java:290) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh > ain.java:206) > at > org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher. > java:654) > at > org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatch > er.java:557) > at > org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher > .java:481) > at com.liferay.portlet.CachePortlet._invoke(CachePortlet.java:354) > at > com.liferay.portlet.CachePortlet.processAction(CachePortlet.java:176) > at > com.liferay.portal.action.LayoutAction.processPortletRequest(LayoutAction.ja > va:382) > at > com.liferay.portal.action.LayoutAction.processActionRequest(LayoutAction.jav > a:300) > at > com.liferay.portal.action.LayoutAction.execute(LayoutAction.java:142) > at > org.apache.struts.action.RequestProcessor.processActionPerform(RequestProces > sor.java:431) > at > org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236) > at > com.liferay.portal.struts.PortalRequestProcessor.process(PortalRequestProces > sor.java:157) > at > org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196) > at > org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:710) > at > com.liferay.portal.servlet.MainServlet.callParentService(MainServlet.java:28 > 7) > at > com.liferay.portal.servlet.MainServlet.service(MainServlet.java:522) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:803) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application > FilterChain.java:290) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh > ain.java:206) > at > org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher. > java:654) > at > org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDis > patcher.java:445) > at > org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatch > er.java:379) > at > org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher > .java:292) > at > com.liferay.portal.servlet.FriendlyURLServlet.service(FriendlyURLServlet.jav > a:130) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:803) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application > FilterChain.java:290) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh > ain.java:206) > at > com.liferay.filters.strip.StripFilter.doFilter(StripFilter.java:92) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application > FilterChain.java:235) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh > ain.java:206) > at > com.liferay.filters.compression.CompressionFilter.doFilter(CompressionFilter > .java:113) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application > FilterChain.java:235) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh > ain.java:206) > at > com.liferay.filters.secure.SecureFilter.doFilter(SecureFilter.java:144) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application > FilterChain.java:235) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh > ain.java:206) > at > com.liferay.filters.doubleclick.DoubleClickFilter.doFilter(DoubleClickFilter > .java:135) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application > FilterChain.java:235) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh > ain.java:206) > at > com.liferay.portal.servlet.filters.layoutcache.LayoutCacheFilter.doFilter(La > youtCacheFilter.java:188) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application > FilterChain.java:235) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh > ain.java:206) > at > com.liferay.portal.servlet.filters.autologin.AutoLoginFilter.doFilter(AutoLo > ginFilter.java:117) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application > FilterChain.java:235) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh > ain.java:206) > at > com.liferay.portal.servlet.filters.virtualhost.VirtualHostFilter.doFilter(Vi > rtualHostFilter.java:166) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application > FilterChain.java:235) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh > ain.java:206) > at > com.liferay.portal.servlet.filters.sessionid.SessionIdFilter.doFilter(Sessio > nIdFilter.java:85) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application > FilterChain.java:235) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh > > ain.java:206) > at > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.ja > va:230) > at > org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.ja > va:175) > at > org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase > .java:433) > at > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128 > ) > at > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104 > ) > at > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java > :109) > at > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:261) > at > org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844) > at > org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http > 11Protocol.java:581) > at > org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447) > at java.lang.Thread.run(Thread.java:619) > > It appears that AnnotationMethodHandlerAdapter at 174 assumes that the > action response is a javax.portlet.RenderResponse if the request is a > javax.portlet.RenderRequest. In this case, that assumption is not > true. Perhaps because of the multi-part resolver? > > Any ideas? > > -Jan > > ------------------------------------------------------------------------- > SF.Net email is sponsored by: The Future of Linux Business White Paper > from Novell. From the desktop to the data center, Linux is going > mainstream. Let it simplify your IT future. > http://altfarm.mediaplex.com/ad/ck/8857-50307-18918-4 > _______________________________________________ > Springframework-developer mailing list > Spr...@li... > https://lists.sourceforge.net/lists/listinfo/springframework-developer > > > ------------------------------------------------------------------------- > SF.Net email is sponsored by: The Future of Linux Business White Paper > from Novell. From the desktop to the data center, Linux is going > mainstream. Let it simplify your IT future. > http://altfarm.mediaplex.com/ad/ck/8857-50307-18918-4 > _______________________________________________ > Springframework-developer mailing list > Spr...@li... > https://lists.sourceforge.net/lists/listinfo/springframework-developer > |