Polishing.
Made changelog easier to read on small screen.
This commit is contained in:
@@ -6,12 +6,14 @@ Changes in version 1.0.2 (10.04.2007)
|
||||
-------------------------------------
|
||||
|
||||
Package org.springframework.binding
|
||||
* GenericConversionService.getConversionExecutor() now uses isAssignableFrom to detect situations where no conversion is necessary (SWF-264).
|
||||
* GenericConversionService.getConversionExecutor() now uses isAssignableFrom to detect situations where no
|
||||
conversion is necessary (SWF-264).
|
||||
* Fixed possbile NullPointerException in MethodKey.parameterTypesString() (SWF-265).
|
||||
* OgnlExpression now unwraps the ognl.OgnlException to make the real exception available to the caller (SWF-255).
|
||||
* OgnlExpressionParser now supports OGNL collection construction syntax (SWF-274).
|
||||
* AbstractExpressionParser now has a doParseSettableExpression() template method.
|
||||
* MethodInvoker now unwraps an InvocationTargetException to make the target exception directly available as the cause of a MethodInvocationException.
|
||||
* MethodInvoker now unwraps an InvocationTargetException to make the target exception directly available as
|
||||
the cause of a MethodInvocationException.
|
||||
|
||||
Package org.springframework.webflow.action
|
||||
* FormAction methods doBind() and createBinder() now declare "throws Exception".
|
||||
@@ -20,62 +22,78 @@ Package org.springframework.webflow.action
|
||||
* ResultObjectBasedEventFactory now uses java.lang.Enum.name() to get the name of a Java 5 enum (SWF-250).
|
||||
|
||||
Package org.springframework.webflow.config
|
||||
* Fixed bug in WebFlowConfigNamespaceHandler that caused the type attribute of the repository tag not to be read properly and throw an exception (SWF-239).
|
||||
* Added Spring tooling funtionality to the BeanDefinitionParser to allow tools such as SpringIDE to properly interact with it (SWF-254).
|
||||
* Fixed bug in WebFlowConfigNamespaceHandler that caused the type attribute of the repository tag not to be
|
||||
read properly and throw an exception (SWF-239).
|
||||
* Added Spring tooling funtionality to the BeanDefinitionParser to allow tools such as SpringIDE to properly
|
||||
interact with it (SWF-254).
|
||||
* Added getFlowExecutor() method to FlowExecutorFactoryBean.
|
||||
|
||||
Package org.springframework.webflow.context
|
||||
* The ThreadLocal in ExternalContextHolder is now final (SWF-262).
|
||||
|
||||
Package org.springframework.webflow.conversation
|
||||
* The SessionBindingConversationManager now re-binds the ConversationContainer in the session every time a contained conversation is unlocked (SWF-244).
|
||||
* The SessionBindingConversationManager now re-binds the ConversationContainer in the session every time a
|
||||
contained conversation is unlocked (SWF-244).
|
||||
|
||||
Package org.springframework.webflow.engine
|
||||
* FlowExecutionImpl.handleException() now also tries to handle FlowExecutionExceptions that occur during exception handling (SWF-261).
|
||||
* The XmlFlowBuilder now also supports OGNL expressions in the "to" attribute of a transition when using the "on-exception" attribute (SWF-269).
|
||||
* FlowExecutionImpl.handleException() now also tries to handle FlowExecutionExceptions that occur during
|
||||
exception handling (SWF-261).
|
||||
* The XmlFlowBuilder now also supports OGNL expressions in the "to" attribute of a transition when using the
|
||||
"on-exception" attribute (SWF-269).
|
||||
* The XmlFlowBuilder now consistently uses "fromStringTo(Class.class)" to resolve types (SWF-268).
|
||||
* Added AbstractFlowBuilderFlowRegistryFactoryBean for easy setup of a flow registry containing flows built using AbstractFlowBuilders.
|
||||
* Added AbstractFlowBuilderFlowRegistryFactoryBean for easy setup of a flow registry containing flows built
|
||||
using AbstractFlowBuilders.
|
||||
* Added DefaultFlowServiceLocator(String, BeanFactory) convenience constructor to the DefaultFlowServiceLocator.
|
||||
* Added BeanFactoryFlowVariable(String, BeanFactory, ScopeType) convenience constructor to the BeanFactoryFlowVariable.
|
||||
* Added BeanFactoryFlowVariable(String, BeanFactory, ScopeType) convenience constructor to the
|
||||
BeanFactoryFlowVariable.
|
||||
* Added settableExpression() method to AbstractFlowBuilder.
|
||||
* Added new exposeException() hook method to TransitionExecutingStateExceptionHandler (SWF-280).
|
||||
|
||||
Package org.springframework.webflow.execution
|
||||
* Added FlowExecutionListener.sessionCreated(RequestContext, FlowSession) callback, useful for setting flow attributes before the flow starts (SWF-223).
|
||||
* Added FlowExecutionListener.sessionCreated(RequestContext, FlowSession) callback, useful for setting flow
|
||||
attributes before the flow starts (SWF-223).
|
||||
* ClientContinuationFlowExecutionRepository now uses 'URL-safe Base64 encoding' (SWF-270).
|
||||
* AbstractConversationFlowExecutionRepository.parseFlowExecutionKey() now throws an BadlyFormattedFlowExecutionKeyException
|
||||
when asked to parse an empty flow execution key (SWF-277).
|
||||
* AbstractConversationFlowExecutionRepository.parseFlowExecutionKey() now throws an
|
||||
BadlyFormattedFlowExecutionKeyException when asked to parse an empty flow execution key (SWF-277).
|
||||
|
||||
Package org.springframework.webflow.executor
|
||||
* Added ease of configuration for those using SWF in a JSF environment, consistent with the other environments Spring Web Flow supports.
|
||||
* Added ease of configuration for those using SWF in a JSF environment, consistent with the other environments
|
||||
Spring Web Flow supports.
|
||||
This includes support for using the <flow:executor> webflow-config element in a JSF environment, which allows JSF
|
||||
users to benefit from defaults such as a continuation-based flow execution repository and 'alwaysRedirectOnPause'
|
||||
for full back-button-support out of the box. See sellitem-jsf for an example.
|
||||
* Added DelegatingFlowVariableResolver for resolving flow variables in any of the support scopes "flash" (like view scope),
|
||||
"flow" (local flow scope), "conversation" (global conversation scope). Previously only "flowScope" was accessible to view developers.
|
||||
In addition, this resolver does not require a variable prefix, meaning variables can be resolved like {#someBean.someProperty}
|
||||
which is what JSF developers are familiar with. In this case a search of flash/flow/conversation is performed in that order with a fallback
|
||||
to the next variable resolver in the chain when no match is found.
|
||||
* Added new FlowExecutionVariableResolver and FlowExecutionPropertyResolver for resolving flow execution variables with
|
||||
an explicit "flowExecution" prefix. This is an alternative to using DelegatingFlowVariableResolver.
|
||||
* Support for embedding the flowExecutionKey (identifying the state of an active flow instance) in the UIViewRoot as a component.
|
||||
This means view developers no longer have to track the ${flowExecutionKey} themselves and remember to post it back to the server.
|
||||
So the bottom line is JSF views in a SWF environment now look like standard JSF views (there is no difference at all),
|
||||
which makes SWF more natural and easier to adopt by the JSF community. Special thanks to Jeremy Grelle for submitting this work. (SWF-283)
|
||||
* Added DelegatingFlowVariableResolver for resolving flow variables in any of the support scopes: "flash" (like view
|
||||
scope), "flow" (local flow scope) and "conversation" (global conversation scope). Previously only "flowScope" was
|
||||
accessible to view developers.
|
||||
In addition, this resolver does not require a variable prefix, meaning variables can be resolved like
|
||||
{#someBean.someProperty} which is what JSF developers are familiar with. In this case a search of
|
||||
flash/flow/conversation is performed in that order with a fallback to the next variable resolver in the chain
|
||||
when no match is found.
|
||||
* Added new FlowExecutionVariableResolver and FlowExecutionPropertyResolver for resolving flow execution variables
|
||||
with an explicit "flowExecution" prefix. This is an alternative to using DelegatingFlowVariableResolver.
|
||||
* Support for embedding the flowExecutionKey (identifying the state of an active flow instance) in the UIViewRoot
|
||||
as a component.
|
||||
This means view developers no longer have to track the ${flowExecutionKey} themselves and remember to post it back
|
||||
to the server. So the bottom line is JSF views in a SWF environment now look like standard JSF views (there is no
|
||||
difference at all), which makes SWF more natural and easier to adopt by the JSF community. Special thanks to
|
||||
Jeremy Grelle for submitting this work (SWF-283).
|
||||
* Added resource URL encoding to redirects in a JSF environment (SWF-256).
|
||||
* JSF flow execution lifecycle now respects flow execution locking contract (SWF-229, SWF-276).
|
||||
* Fixed bug in FlowPhaseListener that resulted in a NPE on a flow that started and ended in the same request (SWF-273).
|
||||
* Introduced ResponseInstructionHandler convenience class and refactored FlowController, PortletFlowController, FlowAction and FlowPhaseListener to use it.
|
||||
* Introduced ResponseInstructionHandler convenience class and refactored FlowController, PortletFlowController,
|
||||
FlowAction and FlowPhaseListener to use it.
|
||||
* Added FlowIdMappingArgumentHandlerWrapper (SWF-204).
|
||||
|
||||
Package org.springframework.webflow.test
|
||||
* Added constructor taking test name argument to AbstractFlowExecutionTests, AbstractExternalizedFlowExecutionTests and AbstractXmlFlowExecutionTests.
|
||||
* Added constructor taking test name argument to AbstractFlowExecutionTests, AbstractExternalizedFlowExecutionTests
|
||||
and AbstractXmlFlowExecutionTests.
|
||||
* Added getFlashAttribute and getRequiredFlashAttribute methods to AbstractFlowExecutionTests.
|
||||
|
||||
Package org.springframework.webflow.samples
|
||||
* Made all samples Spring IDE 2.0 projects for use with the Spring Web Flow Graphical Editor and XML Flow Definition Editor out of the box.
|
||||
To use these features, import the sample projects into Eclipse 3.2.2 with WTP 1.5.3 and Spring IDE 2.0 M3 or greater installed
|
||||
Get Spring IDE 2.0 at http://springide.org.
|
||||
* Made all samples Spring IDE 2.0 projects for use with the Spring Web Flow Graphical Editor and XML Flow Definition
|
||||
Editor out of the box.
|
||||
To use these features, import the sample projects into Eclipse 3.2.2 with WTP 1.5.3 and Spring IDE 2.0 M3 or
|
||||
greater installed. Get Spring IDE 2.0 at http://springide.org.
|
||||
* Featured alternate versions of "ItemList" and "Sellitem" flows more prominently.
|
||||
* Enhanced the JSF-based version of SellItem to take advantage of the latest simplifications in Spring Web Flow's
|
||||
JSF support. Please see this sample along with the practical section in the reference manual for illustrations
|
||||
|
||||
@@ -148,7 +148,7 @@ public class FlowIdMappingArgumentHandlerWrapper extends FlowExecutorArgumentHan
|
||||
flowId = publicFlowId;
|
||||
}
|
||||
else {
|
||||
throw new FlowExecutorArgumentExtractionException("Unable to extract flow definition id: "
|
||||
throw new FlowExecutorArgumentExtractionException("Unable to extract flow definition id: "
|
||||
+ "no mapping was defined for '" + publicFlowId + "'");
|
||||
}
|
||||
}
|
||||
@@ -181,7 +181,7 @@ public class FlowIdMappingArgumentHandlerWrapper extends FlowExecutorArgumentHan
|
||||
else {
|
||||
// this is a mapping problem
|
||||
throw new IllegalArgumentException("Unable to create a flow definition URL for '"
|
||||
+ flowDefinitionRedirect + "': " + "no reverse mapping was defined for flow id '"
|
||||
+ flowDefinitionRedirect + "': no reverse mapping was defined for flow id '"
|
||||
+ flowDefinitionRedirect.getFlowDefinitionId() + "'");
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user