Spring Web Flow

org.springframework.webflow.mvc.portlet
Class FlowHandlerAdapter

java.lang.Object
  extended by org.springframework.context.support.ApplicationObjectSupport
      extended by org.springframework.web.portlet.context.PortletApplicationObjectSupport
          extended by org.springframework.web.portlet.handler.PortletContentGenerator
              extended by org.springframework.webflow.mvc.portlet.FlowHandlerAdapter
All Implemented Interfaces:
org.springframework.beans.factory.Aware, org.springframework.beans.factory.InitializingBean, org.springframework.context.ApplicationContextAware, org.springframework.web.portlet.context.PortletContextAware, org.springframework.web.portlet.HandlerAdapter

public class FlowHandlerAdapter
extends org.springframework.web.portlet.handler.PortletContentGenerator
implements org.springframework.web.portlet.HandlerAdapter, org.springframework.beans.factory.InitializingBean

A custom MVC HandlerAdapter that encapsulates the generic workflow associated with executing flows in a Portlet environment. Delegates to mapped flow handlers to manage the interaction with executions of specific flow definitions.

Author:
Keith Donald, Scott Andrews, Rossen Stoyanchev

Field Summary
 
Fields inherited from class org.springframework.context.support.ApplicationObjectSupport
logger
 
Constructor Summary
FlowHandlerAdapter()
          Creates a new flow handler adapter.
 
Method Summary
 void afterPropertiesSet()
           
protected  PortletExternalContext createPortletExternalContext(javax.portlet.PortletRequest request, javax.portlet.PortletResponse response)
           
protected  MutableAttributeMap<java.lang.Object> defaultCreateFlowExecutionInputMap(javax.portlet.PortletRequest request)
           
protected  org.springframework.web.portlet.ModelAndView defaultHandleException(FlowHandler flowHandler, FlowException e, javax.portlet.RenderRequest request, javax.portlet.RenderResponse response)
           
protected  void defaultHandleExecutionOutcome(FlowExecutionOutcome outcome, FlowHandler flowHandler, javax.portlet.ActionRequest request, javax.portlet.ActionResponse response)
           
protected  org.springframework.web.portlet.ModelAndView defaultHandleResourceException(FlowHandler flowHandler, FlowException e, javax.portlet.ResourceRequest request, javax.portlet.ResourceResponse response)
           
 FlowExecutor getFlowExecutor()
          Returns the central service for executing flows.
 FlowUrlHandler getFlowUrlHandler()
          Returns the flow url handler.
 void handleAction(javax.portlet.ActionRequest request, javax.portlet.ActionResponse response, java.lang.Object handler)
           
 void handleEvent(javax.portlet.EventRequest request, javax.portlet.EventResponse response, java.lang.Object handler)
           
 org.springframework.web.portlet.ModelAndView handleRender(javax.portlet.RenderRequest request, javax.portlet.RenderResponse response, java.lang.Object handler)
           
 org.springframework.web.portlet.ModelAndView handleResource(javax.portlet.ResourceRequest request, javax.portlet.ResourceResponse response, java.lang.Object handler)
           
protected  void populateConveniencePortletProperties(javax.portlet.PortletRequest request)
           
 void setFlowExecutor(FlowExecutor flowExecutor)
          Sets the central service for executing flows.
 void setFlowUrlHandler(FlowUrlHandler urlHandler)
          Sets the flow url handler
 boolean supports(java.lang.Object handler)
           
 
Methods inherited from class org.springframework.web.portlet.handler.PortletContentGenerator
applyCacheSeconds, cacheForSeconds, check, checkAndPrepare, checkAndPrepare, getCacheSeconds, isRequireSession, preventCaching, setCacheSeconds, setRequireSession
 
Methods inherited from class org.springframework.web.portlet.context.PortletApplicationObjectSupport
getPortletContext, getTempDir, isContextRequired, setPortletContext
 
Methods inherited from class org.springframework.context.support.ApplicationObjectSupport
getApplicationContext, getMessageSourceAccessor, initApplicationContext, initApplicationContext, requiredContextClass, setApplicationContext
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

FlowHandlerAdapter

public FlowHandlerAdapter()
Creates a new flow handler adapter.

See Also:
setFlowExecutor(FlowExecutor), setFlowUrlHandler(FlowUrlHandler), afterPropertiesSet()
Method Detail

getFlowExecutor

public FlowExecutor getFlowExecutor()
Returns the central service for executing flows. Required.


setFlowExecutor

public void setFlowExecutor(FlowExecutor flowExecutor)
Sets the central service for executing flows. Required.

Parameters:
flowExecutor -

getFlowUrlHandler

public FlowUrlHandler getFlowUrlHandler()
Returns the flow url handler.


setFlowUrlHandler

public void setFlowUrlHandler(FlowUrlHandler urlHandler)
Sets the flow url handler

Parameters:
urlHandler - the flow url handler

afterPropertiesSet

public void afterPropertiesSet()
                        throws java.lang.Exception
Specified by:
afterPropertiesSet in interface org.springframework.beans.factory.InitializingBean
Throws:
java.lang.Exception

supports

public boolean supports(java.lang.Object handler)
Specified by:
supports in interface org.springframework.web.portlet.HandlerAdapter

handleRender

public org.springframework.web.portlet.ModelAndView handleRender(javax.portlet.RenderRequest request,
                                                                 javax.portlet.RenderResponse response,
                                                                 java.lang.Object handler)
                                                          throws java.lang.Exception
Specified by:
handleRender in interface org.springframework.web.portlet.HandlerAdapter
Throws:
java.lang.Exception

handleResource

public org.springframework.web.portlet.ModelAndView handleResource(javax.portlet.ResourceRequest request,
                                                                   javax.portlet.ResourceResponse response,
                                                                   java.lang.Object handler)
                                                            throws java.lang.Exception
Specified by:
handleResource in interface org.springframework.web.portlet.HandlerAdapter
Throws:
java.lang.Exception

handleAction

public void handleAction(javax.portlet.ActionRequest request,
                         javax.portlet.ActionResponse response,
                         java.lang.Object handler)
                  throws java.lang.Exception
Specified by:
handleAction in interface org.springframework.web.portlet.HandlerAdapter
Throws:
java.lang.Exception

handleEvent

public void handleEvent(javax.portlet.EventRequest request,
                        javax.portlet.EventResponse response,
                        java.lang.Object handler)
                 throws java.lang.Exception
Specified by:
handleEvent in interface org.springframework.web.portlet.HandlerAdapter
Throws:
java.lang.Exception

populateConveniencePortletProperties

protected void populateConveniencePortletProperties(javax.portlet.PortletRequest request)

createPortletExternalContext

protected PortletExternalContext createPortletExternalContext(javax.portlet.PortletRequest request,
                                                              javax.portlet.PortletResponse response)

defaultCreateFlowExecutionInputMap

protected MutableAttributeMap<java.lang.Object> defaultCreateFlowExecutionInputMap(javax.portlet.PortletRequest request)

defaultHandleExecutionOutcome

protected void defaultHandleExecutionOutcome(FlowExecutionOutcome outcome,
                                             FlowHandler flowHandler,
                                             javax.portlet.ActionRequest request,
                                             javax.portlet.ActionResponse response)
                                      throws javax.portlet.PortletModeException
Throws:
javax.portlet.PortletModeException

defaultHandleException

protected org.springframework.web.portlet.ModelAndView defaultHandleException(FlowHandler flowHandler,
                                                                              FlowException e,
                                                                              javax.portlet.RenderRequest request,
                                                                              javax.portlet.RenderResponse response)

defaultHandleResourceException

protected org.springframework.web.portlet.ModelAndView defaultHandleResourceException(FlowHandler flowHandler,
                                                                                      FlowException e,
                                                                                      javax.portlet.ResourceRequest request,
                                                                                      javax.portlet.ResourceResponse response)

Spring Web Flow