|
From: Keith D. <ke...@in...> - 2005-04-02 13:52:39
|
fyi
Feel free to pitch in on the code review :-)
-----Original Message-----
From: Erwin Vervaet [mailto:erw...@er...]
Sent: Saturday, April 02, 2005 5:51 AM
To: Keith Donald
Subject: FlowExecutionStorage
Importance: High
Hell yeah!
I was in the zone this morning!!
All code is in (and pretty much ready for release):
* reusable flow execution manager
* flow execution storage strategies
* server side (HttpSession) continuations
* client side continuations (requires Jakarta commons codec for Base64
encoding)
* tranditional HttpSession flow execution storage
* storage strategy is completely transparent for the views
And all with very little code!
I tested all of it with the new sample app, which is still not in CVS (maybe
tonight). E.g. here a piece of config from that sample:
<bean id="frontController" name="/flow.htm"
class="org.springframework.web.flow.mvc.FlowController">
<property name="flowExecutionManager"><ref
bean="flowExecutionManager"/></property>
</bean>
<bean id="flowExecutionManager"
class="org.springframework.web.flow.execution.HttpServletRequestFlowExecutio
nManager">
<property name="flowLocator">
<bean
class="org.springframework.web.flow.config.BeanFactoryFlowServiceLocator"/>
</property>
<!-- property name="flowExecutionStorage">
<bean
class="org.springframework.web.flow.execution.HttpSessionContinuationsFlowEx
ecutionStorage"/>
</property -->
<property name="flowExecutionStorage">
<bean
class="org.springframework.web.flow.execution.ClientSideContinuationsFlowExe
cutionStorage"/>
</property>
</bean>
Just 2 minor things I encountered:
1) I had to make the logger static on FlowExecution because of issues with
serialisation...
2) We still can't expose the flow execution and current state to a view
rendered from a end-state because flowExecution.getCurrentStateId() throws
an exception when the flow is no longer active....
Give all of it a good code review and see you tonight!
Erwin Vervaet
erw...@er...
|