Announcement Announcement Module
Collapse
No announcement yet.
Problems with Back button on sample detail page (In portlet) Page Title Module
Move Remove Collapse
X
Conversation Detail Module
Collapse
  • Filter
  • Time
  • Show
Clear All
new posts

  • Problems with Back button on sample detail page (In portlet)

    If I search for a person and then select the detail for a person the Back button does nothing. I am running sample portlet. Does anyone have any ideas?

  • #2
    Mmm, what Portlet container are you using? Also, turn on "INFO" level logging, that should provide some usefull insight.

    Erwin

    Comment


    • #3
      Here is stack trace

      I am using jetspeed2

      The following stack trace occurs when back button is pressed

      Code:
      ERROR --- FrameworkPortlet.serviceWrapper(399) | Could not complete request
      java.lang.ClassCastException
      	at org.springframework.web.flow.execution.portlet.PortletRequestEvent.<init>&#40;PortletRequestEvent.java&#58;70&#41;
      	at org.springframework.web.flow.execution.portlet.PortletRequestEvent.<init>&#40;PortletRequestEvent.java&#58;47&#41;
      	at org.springframework.web.flow.execution.portlet.PortletFlowExecutionManager.createEvent&#40;PortletFlowExecutionManager.java&#58;111&#41;
      	at org.springframework.web.flow.execution.portlet.PortletFlowExecutionManager.handle&#40;PortletFlowExecutionManager.java&#58;88&#41;
      	at org.springframework.web.flow.portlet.PortletFlowController.handleRequestInternal&#40;PortletFlowController.java&#58;119&#41;
      	at org.springframework.web.portlet.support.AbstractController.handleRequest&#40;AbstractController.java&#58;156&#41;
      	at org.springframework.web.portlet.DispatcherPortlet.doActionService&#40;DispatcherPortlet.java&#58;338&#41;
      	at org.springframework.web.portlet.FrameworkPortlet.serviceWrapper&#40;FrameworkPortlet.java&#58;374&#41;
      	at org.springframework.web.portlet.FrameworkPortlet.processAction&#40;FrameworkPortlet.java&#58;358&#41;
      	at org.apache.jetspeed.factory.JetspeedPortletInstance.processAction&#40;JetspeedPortletInstance.java&#58;90&#41;
      	at org.apache.jetspeed.container.JetspeedContainerServlet.doGet&#40;JetspeedContainerServlet.java&#58;215&#41;
      	at org.apache.jetspeed.container.JetspeedContainerServlet.doPost&#40;JetspeedContainerServlet.java&#58;289&#41;
      	at javax.servlet.http.HttpServlet.service&#40;HttpServlet.java&#58;709&#41;
      	at javax.servlet.http.HttpServlet.service&#40;HttpServlet.java&#58;802&#41;
      	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter&#40;ApplicationFilterChain.java&#58;252&#41;
      	at org.apache.catalina.core.ApplicationFilterChain.doFilter&#40;ApplicationFilterChain.java&#58;173&#41;
      	at org.apache.catalina.core.ApplicationDispatcher.invoke&#40;ApplicationDispatcher.java&#58;672&#41;
      	at org.apache.catalina.core.ApplicationDispatcher.doInclude&#40;ApplicationDispatcher.java&#58;574&#41;
      	at org.apache.catalina.core.ApplicationDispatcher.include&#40;ApplicationDispatcher.java&#58;499&#41;
      	at org.apache.jetspeed.container.invoker.ServletPortletInvoker.invoke&#40;ServletPortletInvoker.java&#58;212&#41;
      	at org.apache.jetspeed.container.invoker.ServletPortletInvoker.action&#40;ServletPortletInvoker.java&#58;133&#41;
      	at sun.reflect.NativeMethodAccessorImpl.invoke0&#40;Native Method&#41;
      	at sun.reflect.NativeMethodAccessorImpl.invoke&#40;NativeMethodAccessorImpl.java&#58;39&#41;
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke&#40;DelegatingMethodAccessorImpl.java&#58;25&#41;
      	at java.lang.reflect.Method.invoke&#40;Method.java&#58;324&#41;
      	at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection&#40;AopUtils.java&#58;284&#41;
      	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke&#40;JdkDynamicAopProxy.java&#58;163&#41;
      	at $Proxy9.action&#40;Unknown Source&#41;
      	at org.apache.pluto.PortletContainerImpl.processPortletAction&#40;PortletContainerImpl.java&#58;150&#41;
      	at org.apache.jetspeed.container.JetspeedPortletContainerWrapper.processPortletAction&#40;JetspeedPortletContainerWrapper.java&#58;100&#41;
      	at org.apache.jetspeed.pipeline.valve.impl.ActionValveImpl.invoke&#40;ActionValveImpl.java&#58;75&#41;
      	at org.apache.jetspeed.pipeline.JetspeedPipeline.invokeNext&#40;JetspeedPipeline.java&#58;203&#41;
      	at org.apache.jetspeed.container.ContainerValve.invoke&#40;ContainerValve.java&#58;76&#41;
      	at org.apache.jetspeed.pipeline.JetspeedPipeline.invokeNext&#40;JetspeedPipeline.java&#58;203&#41;
      	at org.apache.jetspeed.profiler.impl.ProfilerValveImpl.invoke&#40;ProfilerValveImpl.java&#58;133&#41;
      	at org.apache.jetspeed.pipeline.JetspeedPipeline.invokeNext&#40;JetspeedPipeline.java&#58;203&#41;
      	at org.apache.jetspeed.security.impl.PasswordCredentialValveImpl.invoke&#40;PasswordCredentialValveImpl.java&#58;139&#41;
      	at org.apache.jetspeed.pipeline.JetspeedPipeline.invokeNext&#40;JetspeedPipeline.java&#58;203&#41;
      	at org.apache.jetspeed.security.impl.AbstractSecurityValve$1.run&#40;AbstractSecurityValve.java&#58;117&#41;
      	at java.security.AccessController.doPrivileged&#40;Native Method&#41;
      	at javax.security.auth.Subject.doAsPrivileged&#40;Subject.java&#58;437&#41;
      	at org.apache.jetspeed.security.impl.AbstractSecurityValve.invoke&#40;AbstractSecurityValve.java&#58;111&#41;
      	at org.apache.jetspeed.pipeline.JetspeedPipeline.invokeNext&#40;JetspeedPipeline.java&#58;203&#41;
      	at org.apache.jetspeed.container.url.impl.PortalURLValveImpl.invoke&#40;PortalURLValveImpl.java&#58;55&#41;
      	at org.apache.jetspeed.pipeline.JetspeedPipeline.invokeNext&#40;JetspeedPipeline.java&#58;203&#41;
      	at org.apache.jetspeed.capabilities.impl.CapabilityValveImpl.invoke&#40;CapabilityValveImpl.java&#58;127&#41;
      	at org.apache.jetspeed.pipeline.JetspeedPipeline.invokeNext&#40;JetspeedPipeline.java&#58;203&#41;
      	at org.apache.jetspeed.localization.impl.LocalizationValveImpl.invoke&#40;LocalizationValveImpl.java&#58;124&#41;
      	at org.apache.jetspeed.pipeline.JetspeedPipeline.invokeNext&#40;JetspeedPipeline.java&#58;203&#41;
      	at org.apache.jetspeed.pipeline.JetspeedPipeline.invoke&#40;JetspeedPipeline.java&#58;185&#41;
      	at org.apache.jetspeed.engine.AbstractEngine.service&#40;AbstractEngine.java&#58;264&#41;
      	at org.apache.jetspeed.engine.JetspeedServlet.doGet&#40;JetspeedServlet.java&#58;225&#41;
      	at org.apache.jetspeed.engine.JetspeedServlet.doPost&#40;JetspeedServlet.java&#58;252&#41;
      	at javax.servlet.http.HttpServlet.service&#40;HttpServlet.java&#58;709&#41;
      	at javax.servlet.http.HttpServlet.service&#40;HttpServlet.java&#58;802&#41;
      	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter&#40;ApplicationFilterChain.java&#58;252&#41;
      	at org.apache.catalina.core.ApplicationFilterChain.doFilter&#40;ApplicationFilterChain.java&#58;173&#41;
      	at org.apache.catalina.core.StandardWrapperValve.invoke&#40;StandardWrapperValve.java&#58;213&#41;
      	at org.apache.catalina.core.StandardContextValve.invoke&#40;StandardContextValve.java&#58;178&#41;
      	at org.apache.catalina.authenticator.AuthenticatorBase.invoke&#40;AuthenticatorBase.java&#58;407&#41;
      	at org.apache.catalina.core.StandardHostValve.invoke&#40;StandardHostValve.java&#58;126&#41;
      	at org.apache.catalina.valves.ErrorReportValve.invoke&#40;ErrorReportValve.java&#58;105&#41;
      	at org.apache.catalina.core.StandardEngineValve.invoke&#40;StandardEngineValve.java&#58;107&#41;
      	at org.apache.catalina.connector.CoyoteAdapter.service&#40;CoyoteAdapter.java&#58;148&#41;
      	at org.apache.coyote.http11.Http11Processor.process&#40;Http11Processor.java&#58;825&#41;
      	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection&#40;Http11Protocol.java&#58;743&#41;
      	at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket&#40;PoolTcpEndpoint.java&#58;527&#41;
      	at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt&#40;LeaderFollowerWorkerThread.java&#58;80&#41;
      	at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run&#40;ThreadPool.java&#58;684&#41;
      	at java.lang.Thread.run&#40;Thread.java&#58;534&#41;
      ERROR --- ApplicationContext.log&#40;662&#41; | JetspeedContainerServlet&#58; Error rendering portlet "null"&#58; java.lang.ClassCastException
      java.lang.ClassCastException
      	at org.springframework.web.flow.execution.portlet.PortletRequestEvent.<init>&#40;PortletRequestEvent.java&#58;70&#41;
      	at org.springframework.web.flow.execution.portlet.PortletRequestEvent.<init>&#40;PortletRequestEvent.java&#58;47&#41;
      	at org.springframework.web.flow.execution.portlet.PortletFlowExecutionManager.createEvent&#40;PortletFlowExecutionManager.java&#58;111&#41;
      	at org.springframework.web.flow.execution.portlet.PortletFlowExecutionManager.handle&#40;PortletFlowExecutionManager.java&#58;88&#41;
      	at org.springframework.web.flow.portlet.PortletFlowController.handleRequestInternal&#40;PortletFlowController.java&#58;119&#41;
      	at org.springframework.web.portlet.support.AbstractController.handleRequest&#40;AbstractController.java&#58;156&#41;
      	at org.springframework.web.portlet.DispatcherPortlet.doActionService&#40;DispatcherPortlet.java&#58;338&#41;
      	at org.springframework.web.portlet.FrameworkPortlet.serviceWrapper&#40;FrameworkPortlet.java&#58;374&#41;
      	at org.springframework.web.portlet.FrameworkPortlet.processAction&#40;FrameworkPortlet.java&#58;358&#41;
      	at org.apache.jetspeed.factory.JetspeedPortletInstance.processAction&#40;JetspeedPortletInstance.java&#58;90&#41;
      	at org.apache.jetspeed.container.JetspeedContainerServlet.doGet&#40;JetspeedContainerServlet.java&#58;215&#41;
      	at org.apache.jetspeed.container.JetspeedContainerServlet.doPost&#40;JetspeedContainerServlet.java&#58;289&#41;
      	at javax.servlet.http.HttpServlet.service&#40;HttpServlet.java&#58;709&#41;
      	at javax.servlet.http.HttpServlet.service&#40;HttpServlet.java&#58;802&#41;
      	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter&#40;ApplicationFilterChain.java&#58;252&#41;
      	at org.apache.catalina.core.ApplicationFilterChain.doFilter&#40;ApplicationFilterChain.java&#58;173&#41;
      	at org.apache.catalina.core.ApplicationDispatcher.invoke&#40;ApplicationDispatcher.java&#58;672&#41;
      	at org.apache.catalina.core.ApplicationDispatcher.doInclude&#40;ApplicationDispatcher.java&#58;574&#41;
      	at org.apache.catalina.core.ApplicationDispatcher.include&#40;ApplicationDispatcher.java&#58;499&#41;
      	at org.apache.jetspeed.container.invoker.ServletPortletInvoker.invoke&#40;ServletPortletInvoker.java&#58;212&#41;
      	at org.apache.jetspeed.container.invoker.ServletPortletInvoker.action&#40;ServletPortletInvoker.java&#58;133&#41;
      	at sun.reflect.NativeMethodAccessorImpl.invoke0&#40;Native Method&#41;
      	at sun.reflect.NativeMethodAccessorImpl.invoke&#40;NativeMethodAccessorImpl.java&#58;39&#41;
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke&#40;DelegatingMethodAccessorImpl.java&#58;25&#41;
      	at java.lang.reflect.Method.invoke&#40;Method.java&#58;324&#41;
      	at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection&#40;AopUtils.java&#58;284&#41;
      	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke&#40;JdkDynamicAopProxy.java&#58;163&#41;
      	at $Proxy9.action&#40;Unknown Source&#41;
      	at org.apache.pluto.PortletContainerImpl.processPortletAction&#40;PortletContainerImpl.java&#58;150&#41;
      	at org.apache.jetspeed.container.JetspeedPortletContainerWrapper.processPortletAction&#40;JetspeedPortletContainerWrapper.java&#58;100&#41;
      	at org.apache.jetspeed.pipeline.valve.impl.ActionValveImpl.invoke&#40;ActionValveImpl.java&#58;75&#41;
      	at org.apache.jetspeed.pipeline.JetspeedPipeline.invokeNext&#40;JetspeedPipeline.java&#58;203&#41;
      	at org.apache.jetspeed.container.ContainerValve.invoke&#40;ContainerValve.java&#58;76&#41;
      	at org.apache.jetspeed.pipeline.JetspeedPipeline.invokeNext&#40;JetspeedPipeline.java&#58;203&#41;
      	at org.apache.jetspeed.profiler.impl.ProfilerValveImpl.invoke&#40;ProfilerValveImpl.java&#58;133&#41;
      	at org.apache.jetspeed.pipeline.JetspeedPipeline.invokeNext&#40;JetspeedPipeline.java&#58;203&#41;
      	at org.apache.jetspeed.security.impl.PasswordCredentialValveImpl.invoke&#40;PasswordCredentialValveImpl.java&#58;139&#41;
      	at org.apache.jetspeed.pipeline.JetspeedPipeline.invokeNext&#40;JetspeedPipeline.java&#58;203&#41;
      	at org.apache.jetspeed.security.impl.AbstractSecurityValve$1.run&#40;AbstractSecurityValve.java&#58;117&#41;
      	at java.security.AccessController.doPrivileged&#40;Native Method&#41;
      	at javax.security.auth.Subject.doAsPrivileged&#40;Subject.java&#58;437&#41;
      	at org.apache.jetspeed.security.impl.AbstractSecurityValve.invoke&#40;AbstractSecurityValve.java&#58;111&#41;
      	at org.apache.jetspeed.pipeline.JetspeedPipeline.invokeNext&#40;JetspeedPipeline.java&#58;203&#41;
      	at org.apache.jetspeed.container.url.impl.PortalURLValveImpl.invoke&#40;PortalURLValveImpl.java&#58;55&#41;
      	at org.apache.jetspeed.pipeline.JetspeedPipeline.invokeNext&#40;JetspeedPipeline.java&#58;203&#41;
      	at org.apache.jetspeed.capabilities.impl.CapabilityValveImpl.invoke&#40;CapabilityValveImpl.java&#58;127&#41;
      	at org.apache.jetspeed.pipeline.JetspeedPipeline.invokeNext&#40;JetspeedPipeline.java&#58;203&#41;
      	at org.apache.jetspeed.localization.impl.LocalizationValveImpl.invoke&#40;LocalizationValveImpl.java&#58;124&#41;
      	at org.apache.jetspeed.pipeline.JetspeedPipeline.invokeNext&#40;JetspeedPipeline.java&#58;203&#41;
      	at org.apache.jetspeed.pipeline.JetspeedPipeline.invoke&#40;JetspeedPipeline.java&#58;185&#41;
      	at org.apache.jetspeed.engine.AbstractEngine.service&#40;AbstractEngine.java&#58;264&#41;
      	at org.apache.jetspeed.engine.JetspeedServlet.doGet&#40;JetspeedServlet.java&#58;225&#41;
      	at org.apache.jetspeed.engine.JetspeedServlet.doPost&#40;JetspeedServlet.java&#58;252&#41;
      	at javax.servlet.http.HttpServlet.service&#40;HttpServlet.java&#58;709&#41;
      	at javax.servlet.http.HttpServlet.service&#40;HttpServlet.java&#58;802&#41;
      	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter&#40;ApplicationFilterChain.java&#58;252&#41;
      	at org.apache.catalina.core.ApplicationFilterChain.doFilter&#40;ApplicationFilterChain.java&#58;173&#41;
      	at org.apache.catalina.core.StandardWrapperValve.invoke&#40;StandardWrapperValve.java&#58;213&#41;
      	at org.apache.catalina.core.StandardContextValve.invoke&#40;StandardContextValve.java&#58;178&#41;
      	at org.apache.catalina.authenticator.AuthenticatorBase.invoke&#40;AuthenticatorBase.java&#58;407&#41;
      	at org.apache.catalina.core.StandardHostValve.invoke&#40;StandardHostValve.java&#58;126&#41;
      	at org.apache.catalina.valves.ErrorReportValve.invoke&#40;ErrorReportValve.java&#58;105&#41;
      	at org.apache.catalina.core.StandardEngineValve.invoke&#40;StandardEngineValve.java&#58;107&#41;
      	at org.apache.catalina.connector.CoyoteAdapter.service&#40;CoyoteAdapter.java&#58;148&#41;
      	at org.apache.coyote.http11.Http11Processor.process&#40;Http11Processor.java&#58;825&#41;
      	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection&#40;Http11Protocol.java&#58;743&#41;
      	at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket&#40;PoolTcpEndpoint.java&#58;527&#41;
      	at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt&#40;LeaderFollowerWorkerThread.java&#58;80&#41;
      	at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run&#40;ThreadPool.java&#58;684&#41;
      	at java.lang.Thread.run&#40;Thread.java&#58;534&#41;
      java.lang.ClassCastException
      	at org.springframework.web.flow.execution.portlet.PortletRequestEvent.<init>&#40;PortletRequestEvent.java&#58;70&#41;
      	at org.springframework.web.flow.execution.portlet.PortletRequestEvent.<init>&#40;PortletRequestEvent.java&#58;47&#41;
      	at org.springframework.web.flow.execution.portlet.PortletFlowExecutionManager.createEvent&#40;PortletFlowExecutionManager.java&#58;111&#41;
      	at org.springframework.web.flow.execution.portlet.PortletFlowExecutionManager.handle&#40;PortletFlowExecutionManager.java&#58;88&#41;
      	at org.springframework.web.flow.portlet.PortletFlowController.handleRequestInternal&#40;PortletFlowController.java&#58;119&#41;
      	at org.springframework.web.portlet.support.AbstractController.handleRequest&#40;AbstractController.java&#58;156&#41;
      	at org.springframework.web.portlet.DispatcherPortlet.doActionService&#40;DispatcherPortlet.java&#58;338&#41;
      	at org.springframework.web.portlet.FrameworkPortlet.serviceWrapper&#40;FrameworkPortlet.java&#58;374&#41;
      	at org.springframework.web.portlet.FrameworkPortlet.processAction&#40;FrameworkPortlet.java&#58;358&#41;
      	at org.apache.jetspeed.factory.JetspeedPortletInstance.processAction&#40;JetspeedPortletInstance.java&#58;90&#41;
      	at org.apache.jetspeed.container.JetspeedContainerServlet.doGet&#40;JetspeedContainerServlet.java&#58;215&#41;
      	at org.apache.jetspeed.container.JetspeedContainerServlet.doPost&#40;JetspeedContainerServlet.java&#58;289&#41;
      	at javax.servlet.http.HttpServlet.service&#40;HttpServlet.java&#58;709&#41;
      	at javax.servlet.http.HttpServlet.service&#40;HttpServlet.java&#58;802&#41;
      	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter&#40;ApplicationFilterChain.java&#58;252&#41;
      	at org.apache.catalina.core.ApplicationFilterChain.doFilter&#40;ApplicationFilterChain.java&#58;173&#41;
      	at org.apache.catalina.core.ApplicationDispatcher.invoke&#40;ApplicationDispatcher.java&#58;672&#41;
      	at org.apache.catalina.core.ApplicationDispatcher.doInclude&#40;ApplicationDispatcher.java&#58;574&#41;
      	at org.apache.catalina.core.ApplicationDispatcher.include&#40;ApplicationDispatcher.java&#58;499&#41;
      	at org.apache.jetspeed.container.invoker.ServletPortletInvoker.invoke&#40;ServletPortletInvoker.java&#58;212&#41;
      	at org.apache.jetspeed.container.invoker.ServletPortletInvoker.action&#40;ServletPortletInvoker.java&#58;133&#41;
      	at sun.reflect.NativeMethodAccessorImpl.invoke0&#40;Native Method&#41;
      	at sun.reflect.NativeMethodAccessorImpl.invoke&#40;NativeMethodAccessorImpl.java&#58;39&#41;
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke&#40;DelegatingMethodAccessorImpl.java&#58;25&#41;
      	at java.lang.reflect.Method.invoke&#40;Method.java&#58;324&#41;
      	at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection&#40;AopUtils.java&#58;284&#41;
      	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke&#40;JdkDynamicAopProxy.java&#58;163&#41;
      	at $Proxy9.action&#40;Unknown Source&#41;
      	at org.apache.pluto.PortletContainerImpl.processPortletAction&#40;PortletContainerImpl.java&#58;150&#41;
      	at org.apache.jetspeed.container.JetspeedPortletContainerWrapper.processPortletAction&#40;JetspeedPortletContainerWrapper.java&#58;100&#41;
      	at org.apache.jetspeed.pipeline.valve.impl.ActionValveImpl.invoke&#40;ActionValveImpl.java&#58;75&#41;
      	at org.apache.jetspeed.pipeline.JetspeedPipeline.invokeNext&#40;JetspeedPipeline.java&#58;203&#41;
      	at org.apache.jetspeed.container.ContainerValve.invoke&#40;ContainerValve.java&#58;76&#41;
      	at org.apache.jetspeed.pipeline.JetspeedPipeline.invokeNext&#40;JetspeedPipeline.java&#58;203&#41;
      	at org.apache.jetspeed.profiler.impl.ProfilerValveImpl.invoke&#40;ProfilerValveImpl.java&#58;133&#41;
      	at org.apache.jetspeed.pipeline.JetspeedPipeline.invokeNext&#40;JetspeedPipeline.java&#58;203&#41;
      	at org.apache.jetspeed.security.impl.PasswordCredentialValveImpl.invoke&#40;PasswordCredentialValveImpl.java&#58;139&#41;
      	at org.apache.jetspeed.pipeline.JetspeedPipeline.invokeNext&#40;JetspeedPipeline.java&#58;203&#41;
      	at org.apache.jetspeed.security.impl.AbstractSecurityValve$1.run&#40;AbstractSecurityValve.java&#58;117&#41;
      	at java.security.AccessController.doPrivileged&#40;Native Method&#41;
      	at javax.security.auth.Subject.doAsPrivileged&#40;Subject.java&#58;437&#41;
      	at org.apache.jetspeed.security.impl.AbstractSecurityValve.invoke&#40;AbstractSecurityValve.java&#58;111&#41;
      	at org.apache.jetspeed.pipeline.JetspeedPipeline.invokeNext&#40;JetspeedPipeline.java&#58;203&#41;
      	at org.apache.jetspeed.container.url.impl.PortalURLValveImpl.invoke&#40;PortalURLValveImpl.java&#58;55&#41;
      	at org.apache.jetspeed.pipeline.JetspeedPipeline.invokeNext&#40;JetspeedPipeline.java&#58;203&#41;
      	at org.apache.jetspeed.capabilities.impl.CapabilityValveImpl.invoke&#40;CapabilityValveImpl.java&#58;127&#41;
      	at org.apache.jetspeed.pipeline.JetspeedPipeline.invokeNext&#40;JetspeedPipeline.java&#58;203&#41;
      	at org.apache.jetspeed.localization.impl.LocalizationValveImpl.invoke&#40;LocalizationValveImpl.java&#58;124&#41;
      	at org.apache.jetspeed.pipeline.JetspeedPipeline.invokeNext&#40;JetspeedPipeline.java&#58;203&#41;
      	at org.apache.jetspeed.pipeline.JetspeedPipeline.invoke&#40;JetspeedPipeline.java&#58;185&#41;
      	at org.apache.jetspeed.engine.AbstractEngine.service&#40;AbstractEngine.java&#58;264&#41;
      	at org.apache.jetspeed.engine.JetspeedServlet.doGet&#40;JetspeedServlet.java&#58;225&#41;
      	at org.apache.jetspeed.engine.JetspeedServlet.doPost&#40;JetspeedServlet.java&#58;252&#41;
      	at javax.servlet.http.HttpServlet.service&#40;HttpServlet.java&#58;709&#41;
      	at javax.servlet.http.HttpServlet.service&#40;HttpServlet.java&#58;802&#41;
      	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter&#40;ApplicationFilterChain.java&#58;252&#41;
      	at org.apache.catalina.core.ApplicationFilterChain.doFilter&#40;ApplicationFilterChain.java&#58;173&#41;
      	at org.apache.catalina.core.StandardWrapperValve.invoke&#40;StandardWrapperValve.java&#58;213&#41;
      	at org.apache.catalina.core.StandardContextValve.invoke&#40;StandardContextValve.java&#58;178&#41;
      	at org.apache.catalina.authenticator.AuthenticatorBase.invoke&#40;AuthenticatorBase.java&#58;407&#41;
      	at org.apache.catalina.core.StandardHostValve.invoke&#40;StandardHostValve.java&#58;126&#41;
      	at org.apache.catalina.valves.ErrorReportValve.invoke&#40;ErrorReportValve.java&#58;105&#41;
      	at org.apache.catalina.core.StandardEngineValve.invoke&#40;StandardEngineValve.java&#58;107&#41;
      	at org.apache.catalina.connector.CoyoteAdapter.service&#40;CoyoteAdapter.java&#58;148&#41;
      	at org.apache.coyote.http11.Http11Processor.process&#40;Http11Processor.java&#58;825&#41;
      	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection&#40;Http11Protocol.java&#58;743&#41;
      	at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket&#40;PoolTcpEndpoint.java&#58;527&#41;
      	at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt&#40;LeaderFollowerWorkerThread.java&#58;80&#41;
      	at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run&#40;ThreadPool.java&#58;684&#41;
      	at java.lang.Thread.run&#40;Thread.java&#58;534&#41;

      Comment


      • #4
        Analysis of classcast

        looks to me that

        searchForParameter(eventIdParameterName, parameterValueDelimiter)

        returns String[] = {"back","select"}

        but code is:

        // TODO multipart portlet request support -- not yet supported by Spring Portlet MVC
        String eventId = (String)searchForParameter(eventIdParameterName, parameterValueDelimiter);

        What's the problem here?

        Is that what the comment means?

        Comment


        • #5
          The comment does not relate to this, it regards file upload, which does not happen in the PhoneBook sample.
          You are right that the result of searchForParameter() is apparently not a String. Did you verify that it was a String[] with "back" and "select" in it?

          I checked the /WEB-INF/jsp/portlet/person.Detail.view.jsp, and as far as I can see the value of _eventId should be either "back" or "select", but not both.

          Maybe this is a bug in Jetspeed2?

          Could you try to verify what is returned by the searchForParameter() call?

          Erwin

          Comment


          • #6
            I did verify

            I did verify {"back","select"}. If it's a bug in jetspeed how can I confim. I can work with you over IM to put the relavent breakpoints in the debugger. Let me know and we can arrange it.

            Comment


            • #7
              Well, the code is working nicely in Liferay.
              Also, we're submitting the form
              Code:
              <FORM method="post" name="backForm" action="<portlet&#58;actionURL />">
                  <INPUT type="hidden" name="_flowId" value="person.Detail" />
                  <INPUT type="hidden" name="_flowExecutionId" value="<%=request.getAttribute&#40;"flowExecutionId"&#41; %>" />
                  <INPUT type="hidden" name="_eventId" value="back" />
              </FORM>
              So as far as I can see there is no way a second value can get into the _eventId, right?!?!

              I'd say: put a breakpoint in the constructor of the PortletRequestEvent, and trace trough it to see where this second value is coming from. Maybe the PortletUtils.getParametersStartingWith() has a bug?

              Erwin

              Comment


              • #8
                actually

                the parameters are encoded when the link is encoded so yes there is a way for the parameter to get into the request. i.e: in jetspeed the url generated is:

                <FORM method="post" name="backForm" action="http://localhost:8080/jetspeed/portal/_ns:YmRwLTIxfGMwfGQw/">


                The ns contains the some stuff about state and parameters so that's how stuff could get into the next request.

                I have found:

                PortletUtils.getParametersStartingWith(request, null)

                has a _eventId with a String[] = {"back","select"}

                In PortletUtils

                String[] values = request.getParameterValues(paramName);

                returns the 2 values

                so that's where it is coming from. Any ideas?

                Comment


                • #9
                  Since PortletUtils.getParametersStartingWith() just uses the PortletRequest to get to the parameters, it seems like a Jetspeed2 bug, since they are the one implementing the PortletRequest interface.

                  I suggest you post the issue to the Jetspeed user/developer list.

                  Erwin

                  Comment


                  • #10
                    Doesn't that seem too fundemental to be a jetspeed bug

                    Doesn't that seem too fundemental to be a jetspeed bug. At some point encoding of the form url occured. Was that jetspeed as well. Is the problem that somewhere select should have been removed from the request attributes and not reach the render. Maybe the change J. Enrique made to carry the attribute from action to render broke it or something.

                    If you don't think that is that case what do you think would be the best way to present the issue on jetspeed forum?

                    Comment


                    • #11
                      Does this sound like the issue?

                      http://issues.apache.org/jira/browse/JS2-231

                      Comment


                      • #12
                        Ok, it seems a Jetspeed2 bug.

                        Garry, while Jetspeed2-M3 arrives, you can test it using Liferay 3.2, we will upload the "howto use Liferay as the portlet container" to the WEBFLOW wiki page ASAP.

                        Comment

                        Working...
                        X