Update readme and remove changelog
This commit is contained in:
@@ -328,10 +328,6 @@ configure(rootProject) {
|
||||
description = "Builds -${classifier} archive containing api and reference " +
|
||||
"for deployment at static.springframework.org/spring-webflow/docs."
|
||||
|
||||
from("src/dist") {
|
||||
include "changelog.txt"
|
||||
}
|
||||
|
||||
from (api) {
|
||||
into "api"
|
||||
}
|
||||
|
||||
836
src/dist/changelog.txt
vendored
836
src/dist/changelog.txt
vendored
@@ -1,836 +0,0 @@
|
||||
SPRING WEB FLOW CHANGELOG
|
||||
=========================
|
||||
http://www.springframework.org/webflow
|
||||
|
||||
Changes in version 2.4.0.RELEASE
|
||||
-----------------------------------------------
|
||||
Save Web Flow output variables to Spring MVC Flash scope
|
||||
Support JSR303 Validation Groups for Webflow View States
|
||||
Refactor code assuming Java 5 minimum
|
||||
Upgrade code for JSF 2 minimum requirement
|
||||
Add support for partial state saving with MyFaces
|
||||
Upgrade portlet support to JSF 2.0
|
||||
Upgrade to Spring Framework 3.2.1
|
||||
Upgrade to Spring Security 3.1.3
|
||||
Upgrade Test Dependencies
|
||||
Switch to Gradle build and SpringSource Artifactory repository
|
||||
Create samples repository on Github http://githib.com/SpringSource/spring-webflow-samples
|
||||
Make ConversationManagers easier to subclass
|
||||
Add "/rfRes/**" resource handling mapping for RichFaces integration
|
||||
SerializableListDataModel should extend ListDataModel for primefaces sorting support
|
||||
Provide setter to modify redirect status code in FlowHandlerAdapter
|
||||
Skip DataModel iteration when delivering PostRestoreStateEvent
|
||||
Add additional inherited constructor to FacesConversionService
|
||||
Make <spring:eval> tag work with Web Flow
|
||||
Fix issue with Fileupload and Richfaces 4.0.0 Final
|
||||
Prevent NPE in Mojarra when creating initial view
|
||||
pdf documentation doesn't contain images
|
||||
Replace ${...} with #{...} in expression examples in Flow XSD
|
||||
JsfManagedBeanPropertyAccessor causes early release of FacesContext
|
||||
ScopeSearchingPropertyAccessor cause NPE
|
||||
Incorrect MaxHeapSize value in gradlew.bat and build.gradle
|
||||
Composite components displayed at bottom of page after clicking commandLink
|
||||
Portlet FlowHandlerAdapter config samlpe incorrect in Chapter 14
|
||||
|
||||
Changes in version 2.3.1.RELEASE (Mar 27, 2012)
|
||||
-----------------------------------------------
|
||||
Upgrade Spring to version 3.1.1
|
||||
Upgrade JSF Mojarra version to 2.1.7
|
||||
Modify Jsf2FlowFacesContext.isValidationFailed() to check Web Flow's MessageContext for errors
|
||||
Recognize class-level bean validation messages in BindingResult.getGlobalErrors()
|
||||
Ensure "embedded" mode is flow session local, i.e. specific to a specific flow or subflow
|
||||
Allow JSF view root to survive redirect in same state (following fix in JSF Mojarra 2.1)
|
||||
Ensure PostRestoreStateEvent is delivered to registered listeners
|
||||
Upgrade booking-faces sample to use PrimeFaces 3.1.1
|
||||
Fix NullPointerException in FlowViewStateManager when not in a flow request
|
||||
Move source code to http://github.com/SpringSource/spring-webflow
|
||||
Modify FlowPartialViewContext to return a modifiable List to comply with its contract
|
||||
Check request parameter in addition to request header to recognize JSF 2 Ajax requests.
|
||||
|
||||
Changes in version 2.3.0.RELEASE (Feb 28, 2011)
|
||||
-----------------------------------------------
|
||||
[SWF-360] - Flow managed persistence context propagation
|
||||
[SWF-1415] - Provide support for Portlet 2.0 resource requests
|
||||
[SWF-1419] - Add support for JSR-303 (Bean Validation) style validation
|
||||
[SWF-1424] - Support partial rendering through the "render" action with JSF 2 and PrimeFaces
|
||||
[SWF-759] - Add ability to inject Custom ConversationManager and FlowExecutionRepository in Webflow 2.0.1
|
||||
[SWF-991] - Make client-side redirect behavior configurable for Ajax requests
|
||||
[SWF-1413] - Provide configuration option for whether redirect after POST should occur after server-side validation error
|
||||
[SWF-1414] - Simplify process for getting up and running with the samples
|
||||
[SWF-880] - Update Web Flow Samples on richweb.springframework.org
|
||||
[SWF-1408] - Replace use of persistence-context by default in Web Flow samples
|
||||
[SWF-1447] - Update documentation for 2.3.0 release
|
||||
[SWF-1434] - Use Maven central dependencies in Web Flow samples
|
||||
[SWF-1435] - Add top-level pom.xml and settings.xml for verifying Maven settings
|
||||
[SWF-1446] - Make it easy to install Maven-central compatible Web Flow artifacts locally
|
||||
[SWF-1127] - ValidationHelper should make use of Validator.supports method
|
||||
[SWF-1247] - MessageContextErrors ResolveMessageCodes
|
||||
[SWF-1421] - dojo.require may not have sufficient time to load under some circumstances
|
||||
[SWF-1426] - PrimeFaces' commandButton does not work on view transition in Internet Explorer.
|
||||
[SWF-1432] - JsfAjaxHandler does not set content type when sending a partial response with a redirect instruction
|
||||
[SWF-1437] - Two concurrent threads in an expression of a flow override the rootobject of evaluation context
|
||||
|
||||
Changes in version 2.2.1.RELEASE (Oct 28, 2010)
|
||||
-----------------------------------------------
|
||||
[SWF-1406] - Regression in showing global messages only
|
||||
[SWF-1407] - Webflow 2.2 problem when using MVC view resolver
|
||||
[SWF-1159] - SQL injection in example application
|
||||
[SWF-1411] - Documentation for JSF integration references deprecated ResourceServlet
|
||||
[SWF-1409] - Reference Documentation for Spring Web Flow 2.2 needs to be fixed to correct versions
|
||||
|
||||
Changes in version 2.2.0.RELEASE (Oct 11, 2010)
|
||||
-----------------------------------------------
|
||||
[SWF-1374] - Update documentation for 2.2.0 release
|
||||
[SWF-1382] - Clarify documentation in regards to file upload support.
|
||||
[SWF-1404] - Deprecate the ResourcesServlet
|
||||
[SWF-1271] - datePattern attribute not honored in Spring JS decorator for Dojo DateTextBox
|
||||
[SWF-1402] - FlowViewResponseStateManager should call delegate isPostback()
|
||||
|
||||
Changes in version 2.2.0.RC1 (Sep 22, 2010)
|
||||
-------------------------------------------
|
||||
[SWF-1333] - Spring security tag support for JSF/Facelets
|
||||
[SWF-1368] - Build the Web Flow booking reference application with PrimeFaces components
|
||||
[SWF-1379] - Provide support for Portlet API 2.0 and JSF 1.2
|
||||
[SWF-1386] - Split org.springframework.js-[version].jar into two artifacts
|
||||
[SWF-1387] - Upgrade to dojo 1.5.0 and include dojox
|
||||
[SWF-1375] - Provide custom namespace element(s) to simplify configuration for JSF 2
|
||||
[SWF-1373] - Upgrade to Spring 3.0.4 and update the booking-mvc sample
|
||||
[SWF-1376] - Handle missing spring headers for ajax redirect
|
||||
[SWF-1388] - Move client-side resources (.js, .css) to META-INF/web-resources instead of META-INF
|
||||
[SWF-1381] - FlowExecutionImpl: handleException ignores result of another handleException
|
||||
[SWF-1383] - Spring Faces throws NPE when writing flow state
|
||||
[SWF-1385] - servletRelative redirects don't work with default-servlet-handler
|
||||
[SWF-1389] - MessageContextErrors doesn't obey the Errors contract
|
||||
[SWF-1378] - org.springframework.faces.webflow.FlowResourceResolver incompatible with JSF 1.2
|
||||
|
||||
Changes in version 2.2.0.M1 (Aug 5, 2010)
|
||||
-----------------------------------------
|
||||
|
||||
[SWF-1365] - Add support for partial state saving in JSF 2
|
||||
[SWF-1366] - Add support for handling JSF 2 resource requests
|
||||
[SWF-1367] - Add support for JSF 2 Ajax requests
|
||||
[SWF-1313] - <sf:commandLink /> and <sf:commandButton />: "disabled" attribute not working
|
||||
[SWF-1364] - Changelog version typo
|
||||
|
||||
Changes in version 2.1.1.RELEASE (July 19, 2010)
|
||||
------------------------------------------------
|
||||
* Extract JSF 2 methods from FlowApplication into Jsf2FlowApplication (SWF-1261).
|
||||
* Fix handling of cascaded attributes in AjaxTilesView (SWF-1053).
|
||||
* Document DataModel implementations (SWF-1358)
|
||||
* Remove Dojo files from svn and replace with script to put together custom Dojo build (SWF-1362).
|
||||
* Remove compressed Spring.js and Spring-Dojo.js files from svn and compress during the build (SWF-1363).
|
||||
* Minor JavaScript fixes (SWF-1268, SWF-1358).
|
||||
|
||||
Changes in version 2.1.0.RELEASE (June 17, 2010)
|
||||
------------------------------------------------
|
||||
* Upgrade to Spring 3.0.3
|
||||
* Fix version of JSF in pom.xml of samples to 2.0
|
||||
|
||||
Changes in version 2.1.0 RC1 (June 3, 2010)
|
||||
-------------------------------------------
|
||||
* Update documentation for all Web Flow 2.1 related changes.
|
||||
* More changes towards providing initial support for JSF 2.
|
||||
* JSF 2 related sample updates.
|
||||
* Add ivy configurations allowing booking-faces to be recompiled with Mojarra and MyFaces 2 and 1.2.
|
||||
|
||||
Changes in version 2.1.0 M2 (May 18, 2010)
|
||||
-------------------------------------------
|
||||
* Add support for running with JSF 2.0 (SWF-1194)
|
||||
* Fix issue with rendering multiple fragments via Tiles during an Ajax request (SWF-1238)
|
||||
* Open several methods in AbstractMvcView for extension (SWF-1218)
|
||||
* Fix issue occurring with MyFaces 2.0
|
||||
|
||||
Changes in version 2.1.0 M1 (May 7, 2010)
|
||||
-----------------------------------------
|
||||
* Upgrade to Spring Framework 3.0.2, Portlet API 2.0.1, and Tiles 2.1.2 (SWF-1226)
|
||||
* Upgrade to Spring Security 3.0.2 (SWF-1182)
|
||||
* Add support for cascaded attributes in AjaxTilesView (SWF-1053)
|
||||
* Switch to Spring EL as the default expression parser implementation in Web Flow (SWF-1136)
|
||||
* Integrate Spring type conversion and formatting (SWF-1234)
|
||||
* Update samples as reference apps for Web Flow on Spring 3 (SWF-1219)
|
||||
|
||||
Changes in version 2.0.9 (Apr 14, 2010)
|
||||
---------------------------------------
|
||||
* ViewState now ignores case where 'model' expression fails to evaluate (SWF-1176)
|
||||
* Added calls to lock/unlock the coversation when a flow execution is launched (SWF-1213)
|
||||
* Added serialization methods to FlowFacesMessageAdapter as workaround for issue in MyFaces (SWF-1187)
|
||||
* Prevented the wrapping of a converter with ObjectToCollection in cases where the targetClass of the converter is already a collection (SWF-1229)
|
||||
* Upgraded to Dojo 1.2.4 containing security fixes.
|
||||
|
||||
Changes in version 2.0.8 (2009.08.06)
|
||||
-------------------------------------
|
||||
Bug Fixes
|
||||
* Corrected the order of "expected" and "actual" arguments in AbstractFlowExecutionTests.assertFlowExecutionOutcomeEquals (SWF-1021)
|
||||
* Corrected the handling of flow definition redirects when using FilenameFlowUrlHandler (SWF-1027)
|
||||
* Fixed incompatibility with JSF 1.1 in JsfView by calling ViewStateManager.saveSerializedView instead of ViewStateManager.saveView (SWF-1112)
|
||||
* Fixed bug where serialization errors could occur during session replication due to ViewActionStateHolder and ViewRootHolder not being Serializable (SWF-1114)
|
||||
* Fixed incompatibility between Spring Faces AjaxViewRoot and RichFaces (SWF-1115)
|
||||
* Fixed bug with binding to Maps when using Spring Bean Binding mode (SWF-1132)
|
||||
* Updated JsfView to use a more reliable method of detecting a post-back when using JSF 1.2+ (SWF-1133)
|
||||
* Fixed bug causing NPE in FlowHandlerAdapter.sendFlowDefinitionRedirect when flowRedirect did not have parameters appended to it (SWF-1144)
|
||||
* Fixed bug in the convention-based validator invocation routine to correctly handle using sub-types as method arguments (SWF-1146)
|
||||
* Corrected some minor issues in the documentation (SWF-1121, SWF-1125)
|
||||
|
||||
Improvements
|
||||
* Added an example to the documentation of how to handle a file upload with Web Flow (SWF-1113)
|
||||
* Added some info on custom AjaxHandler implementations to the documentation (SWF-1160)
|
||||
* Removed an unnecessary extra invocation of the JSF state saving routine when redirects are disabled (SWF-1162)
|
||||
|
||||
|
||||
Changes in version 2.0.7 (2009.04.17)
|
||||
-------------------------------------
|
||||
Bug Fixes
|
||||
* Fixed several issues with WebFlowMessageCodesResolver algorithm, including a JDK 1.4 compatibility issue (SWF-1064)
|
||||
* Fixed bug in Spring Faces custom ListDataModel implementations related to row selection tracking (SWF-1066)
|
||||
* Fixed bug where subclasses of FacesMessage we do not control could introduce dependencies on JSF-specific services outside of Web Flow's control (SWF-1073)
|
||||
This specifically caused problems with Rich Faces 3.3.0's messages component, which adds a LabeledFacesMessage that requires a FacesContext to be serialized.
|
||||
* Fixed bug where a FlowExecution's flashScope and MessageContext were not cleared when a user had already completed a render response (SWF-1089).
|
||||
* Fixed bug where FlowHandlerMapping was not querying parent flow registries when determining if a flow should handle the current request (SWF-1095).
|
||||
* Fixed bug where flow was not redirecting after ViewState bind/validation error when not an Ajax request and redirectOnPause was set to true (SWF-1096).
|
||||
* Fixed bug where parent Model list could be shared by child in flow definition inheritance algorithm (SWF-1094).
|
||||
* Fixed bug where AjaxTilesView was not checking the AttributeType to determine potentially renderable Tiles Attributes (SWF-1092).
|
||||
* Made FlowExecutionSnapshotGroup public for serialization reasons
|
||||
* Fixed bug where a flow execution snapshot id was not always incremented, which could lead to collisions between multiple windows sharing the same execution (SWF-1098).
|
||||
* Fixed bug where updating ViewState history could result in exceptions if no flow execution key was assigned or no snapshot had been taken (SWF-1099).
|
||||
* Fixed bug where ExternalContext.getFlowExecutionUrl method was not encoding execution URL for rendering by views
|
||||
* Fixed bugs where FlowHandlerAdapter was not encoding flow definition URLs in its default flow outcome and exception handler routines
|
||||
|
||||
Improvements
|
||||
* Added userEventQueued and getUserEventState methods to View SPI, which simplified ViewState and View object interaction.
|
||||
Custom View implementations will need to be updated to implement these new operations. See View's API JavaDocs and ViewState's doEnter and resume implementations.
|
||||
* Added saveState method to View SPI, allowing stateful views to save out their component state to support going back after exiting a ViewState with history preserved.
|
||||
Required by Spring Faces for stateful JSF views.
|
||||
* Added org.springframework.webflow dm Server library definition for use in a dm Server deployment environment (SWF-1067)
|
||||
* Strengthened contract for response-related methods in ExternalContext. Specifically, calling any of the requestRedirect methods also now completes the response.
|
||||
If you attempt to complete a response more than once against an ExternalContext, an IllegalStateException is thrown.
|
||||
* Documented how to obtain Web Flow development branch snapshots using Maven, for both Maven Central compatible usage and SpringSource Enterprise Bundle Repository usage.
|
||||
* Updated OSGi Manifest imports to allow Web Flow 2.0.7 to work with Spring Framework 3.0.x in a OSGi environment
|
||||
|
||||
Changes in version 2.0.6 (2009.03.12)
|
||||
-------------------------------------
|
||||
General
|
||||
* Changed Maven artifact ids for the org.springframework.webflow projects to be consistent with other Spring artifacts published to Maven Central (SWF-993).
|
||||
This change was made to prevent conflicts when resolving artifacts from both Maven Central and the OSGi-ready SpringSource Bundle Repository.
|
||||
NOTE: this change will require an artifact-id update as well as a version update to your poms that obtain Spring Web Flow artifacts from Maven Central.
|
||||
See the reference documentation for updated instructions on obtaining web flow artifacts from Maven Central.
|
||||
|
||||
Bug Fixes
|
||||
* Fixed bug where ViewState and EndState still sent a response even if another artifact, such as an Action, handled the response by marking ExternalContext.setResponseComplete() (SWF-1061)
|
||||
* Fixed bug where FlowHandlerMapping could not handle null flow id scenarios (SWF-968)
|
||||
* Fixed bug where flow ids were not properly generated when loading flow resources using classpath*: notation (SWF-988, SWF-992)
|
||||
* Fixed bug where file extension was left off URLs generated by Web Flow when servlet mapping was extension-based e.g. *.htm (SWF-988)
|
||||
* Fixed bug where Web Flow upgrader tool did not properly output end-state 'output' elements (SWF-969)
|
||||
* Fixed bug where String to Enum conversions failed to work in conjunction with BeanWrapperExpressionParser, enabled when setting "useSpringBinding" flag on a MvcViewFactoryCreator to true (SWF-1005).
|
||||
* Fixed bug where Collection and Array property bindings did not work with custom converters (SWF-984)
|
||||
* Fixed bug where form:checkbox and form:checkboxes tags did not apply type conversion properly in views rendered by Web Flows (SWF-986)
|
||||
* Fixed bug where Errors nestedPath attribute was not respected in views rendered by Web Flow (SWF-973)
|
||||
* Fixed bug where Errors nestedPath attribute was not respected when using Errors API programatically within a Validator called by Web Flow (SWF-973)
|
||||
* Made MessageCodesResolver pluggable on MvcViewFactoryCreator; configure a DefaultMessageCodesResolver to resolve error message codes consistent with default Spring MVC behavior (SWF-977)
|
||||
* Made FlowHandlerAdapter#sendRedirect method protected, allowing overriding of web flow system redirect behavior; for example, to redirect to a SSL channel.
|
||||
* Made DefaultFlowUrlHandler consistent with Spring MVC RedirectView behavior for URL encoding of flow URL parameters; URL encoding scheme is also now pluggable.
|
||||
* Introduced createDefaultFlowHandler hook in FlowHandlerMapping, allowing for customizing the Default FlowHandler implementation application wide (SWF-994)
|
||||
* Fixed bug where Hibernate and JPA flow execution listeners performed their commits against the flow-managed PersistenceContext after the flow had ended (SWF-1010).
|
||||
This prevented exceptions such as optimistic locking failures from being handled by the flow.
|
||||
Commit processing is now performed in the sessionEnding listener callback now, which is called before the flow actually terminates.
|
||||
* Fixed bug where root flow FlowExecutionExceptionHandlers were queried even when a FlowExecution was not active (SWF-1004). This could occur during FlowExecution startup before the root session had been activated.
|
||||
Specifically, this caused problems when handling AccessDeniedExceptions thrown by the SecurityFlowExecutionListener, which uses the sessionCreated FlowExecutionListener callback to perform a flow startup security check.
|
||||
Before root session activation, a FlowExecution is NOT active, and any exceptions thrown at this time should propagate; root flow execution handlers should not be allowed to handle these exceptions.
|
||||
|
||||
Improvements
|
||||
* Improved FlowExecution test documentation
|
||||
* Improved FlowExecutionExceptionHandler API documentation
|
||||
* Added documentation on streaming actions
|
||||
|
||||
Changes in version 2.0.5 (14.11.2008)
|
||||
-------------------------------------
|
||||
Bug Fixes
|
||||
* Fixed compatibility issue introduced in Web Flow 2.0.4 with previous 2.0.x versions related to request -> flow id mapping.
|
||||
The existing FlowController now applies the previous behavior of "filename-based" request-> flow mapping (see FilenameFlowUrlHandler); for example /hotels/booking URL -> "booking" flow.
|
||||
The new FlowHandlerAdapter used in conjunction with FlowHandlerMapping now applies the new "path-based" request -> flow mapping (see DefaultFlowUrlHandler) ; for example /hotels/booking URL -> "hotels/booking" flow.
|
||||
Use of FlowHandlerAdapter with FlowHandlerMapping and the default path-based mapping (DefaultFlowUrlHandler) is recommended (SWF-939).
|
||||
|
||||
* Fixed bug introduced in 2.0.4 that broke rendering of multiple view fragments with Tiles (SWF-941).
|
||||
|
||||
* Render 'fragments' request parameter values are now trimmed consistent with the Web Flow render fragments parameter (SWF-947).
|
||||
|
||||
* Fixed bug in which model validation never ran if there were data binding errors in Spring MVC-based views.
|
||||
This was inconsistent with previous behavior in Spring MVC's SimpleFormController and in Spring Web Flow 1.0.x, and caused usability concerns.
|
||||
Validation always runs after binding now unless suppressed by a transition (validate=false) or the 'validateOnBindingErrors' flow execution attribute (SWF-949).
|
||||
|
||||
* Fixed bug where model data binding results were lost after ActionRequest processing in a Portlet environment.
|
||||
This prevented invalid user input values from being rendered correctly when a form re-rendered in the next RenderRequest.
|
||||
Data binding results are now preserved correctly across the Action->Render cycle so all original user input values are preserved (SWF-953).
|
||||
|
||||
* Fixed bug that prevented a new flow execution snapshot from being taken when entering the same view-state again in the current request.
|
||||
This lead to undesirable back-button behavior, particularly when a flow was called recursively as a subflow.
|
||||
Now a new snapshot is always taken when entering a ViewState, consistent with Web Flow 1.0.x behavior.
|
||||
When no new snapshot is desired, for example, in the case of processing an Ajax event that does not transition the view, do not leave the current state;
|
||||
rather, simply execute actions to handle the event and use 'render' to request re-rendering of parts of the page.
|
||||
|
||||
* Fixed bug where POJO action methods returning an empty string resulted in an IllegalArgumentException being thrown (SWF-739).
|
||||
|
||||
* Fixed bug where base-path required a trailing slash in conjunction with flow-location entries (SWF-948).
|
||||
|
||||
Improvements
|
||||
* Added additional console logging to help debug Spring JavaScript decoration behaviors (SWF-937).
|
||||
* Improved documentation in the area of flow exception handling and security (SWF-922, SWF-944).
|
||||
* Improved logging in the area of view processing, including view rendering, model binding, and model validation.
|
||||
* The model validation invoker will now invoke a default validate(ValidationContext) or validate(Errors) method if present (SWF-666).
|
||||
* It is now possible to use a Errors object anywhere you can use a ValidationContext, for compatibility with existing Spring MVC code (SWF-957).
|
||||
|
||||
Changes in version 2.0.4 (04.11.2008)
|
||||
-------------------------------------
|
||||
New Features
|
||||
* Added FlowHandlerMapping for use with FlowHandlerAdapter, simplifying the process of mapping web requests to registered flow definitions.
|
||||
This HandlerMapping strategy maps the path of a request to a registered flow id;
|
||||
for example, a path of '/hotels/booking' would match the flow with id 'hotels/booking'.
|
||||
If no mapping is found, null is returned and the next HandlerMapping in the DispatcherServlet mapping chain will be queried.
|
||||
We recommend use of FlowHandlerMapping and FlowHandlerAdapter over FlowController going forward.
|
||||
See the Spring Travel booking-mvc or booking-faces samples for an example.
|
||||
|
||||
* A flow-registry configuration may now define a base resource path for flow definitions, for example, /WEB-INF.
|
||||
All flow locations are then defined relative to that path, for example /hotels/booking/booking.xml
|
||||
Often used in conjunction with a flow-location-pattern, such as /**/*-flow.xml.
|
||||
When a base path is defined, a flow id is calculated by extracting the directory path to the flow definition;
|
||||
for example, a flow located at /WEB-INF/hotels/booking/booking.xml would be assigned id "hotels/booking" by default.
|
||||
(SWF-909)
|
||||
|
||||
* Added a 'development' flag to the flow-builder-services element allowing switching on a "development mode".
|
||||
In development mode, flow definition and message bundle changes are refreshed automatically. (SWF-846)
|
||||
Development mode is off (false) by default.
|
||||
|
||||
* Added a ValidationContext to pass to validation methods, as an alternative to MessageContext.
|
||||
This new ValidationContext provides access to the MessageContext as well as additional user information.
|
||||
Allows for conditional validation by user event / user principal. (SWF-735)
|
||||
|
||||
* Added a "with-dependencies" distribution, allowing Web Flow and its sample applications to be built off-line.
|
||||
This is particularly useful for building Web Flow in corporate environments behind a firewall,
|
||||
where access to the SpringSource Enterprise Bundle Repository may be restricted.
|
||||
|
||||
* Added Maven POMs to the sample applications, allowing the samples to also be built using Maven.
|
||||
|
||||
Improvements
|
||||
* Upgraded to Spring Framework 2.5.6
|
||||
* Upgraded to Dojo 1.2 (SWF-883)
|
||||
* The ResourceServlet is now more configurable (SWF-566, SWF-921)
|
||||
* The default ConversionService now supports string-to-Java 5 enum conversion (SWF-827, SWF-834, SWF-911)
|
||||
* Validate all decorations for Ajax forms are now simpler to define (SWF-853)
|
||||
* A Dojo date text box now uses a locale specific date format when gracefully degrading (SWF-844)
|
||||
* Added numerous improvements to the reference guide documentation
|
||||
|
||||
Bug Fixes
|
||||
* Fixed bug where a registered ConversionService was not auto-wired with the default ExpressionParser implementation.
|
||||
This prevented user-installed type converters from being applied without explicit configuration.
|
||||
* Fixed bugs limiting compatibility with IE 6 for Spring Faces and Spring JS (SWF-786, SWF-770)
|
||||
* Global transitions can now be merged for flow inheritance (SWF-733)
|
||||
* Transitions on-exception will now match exceptions thrown from an OGNL expression. (SWF-780)
|
||||
* Child flow definitions are now able to inherit from a flow in the parent flow registry (SWF-815)
|
||||
* Fixed issue with EL binding to map properties in Resin (SWF-832)
|
||||
* Ajax enabled forms will now be submit using the HTTP method defined on the form tag (SWF-851)
|
||||
* If a specific converter is defined for a property, it will always be used even if the source and target types do not match the converter (SWF-896)
|
||||
* Ajax request can now render nested Tiles definitions as a fragment (SWF-916)
|
||||
* Global transitions now fire the transitionExecuting event for global transitions (SWF-923)
|
||||
* Removed unsafe Java 5 API calls to maintain 1.4 compatibility (SWF-926)
|
||||
* Type conversion errors in the binding subsystem now resolve properly to the typeMismatch message for the property (SWF-928)
|
||||
* Flow application contexts are now explicitly closed when the flow registry is destroyed (SWF-929)
|
||||
|
||||
Changes in version 2.0.3 (31.07.2008)
|
||||
-------------------------------------
|
||||
New Features
|
||||
* Introduced view-state <binder> sub-element, allowing the model bindings to be configured explicitly per view (SWF-568).
|
||||
This allows you to restrict the allowed field->model bindings.
|
||||
It also allows you to register a custom type Converter per field by referring to it by its identifier; e.g. "shortDate".
|
||||
In addition, you can set basic binding value constraints such as required=true.
|
||||
See the 'Views' section of the reference documentation for more information and the Spring Travel booking-mvc sample for an example.
|
||||
|
||||
* You can now use Spring's own DataBinder for form data binding; as an alternative to OGNL or Unified EL.
|
||||
This allows you to take advantage of the unique features of the DataBinder such as the ability to apply type conversion to elements of a generic collection.
|
||||
To do this, set the "useSpringBeanBinding" property to true on a custom MvcViewFactoryCreator instance.
|
||||
See the Config section of the reference documentation for how to install a custom ViewFactoryCreator.
|
||||
|
||||
* Added the ability to disable model validation per transition by setting validate="false".
|
||||
This allows enabling binding but disabling validation; useful when going back between pages.
|
||||
See the 'Views' section of the reference documentation for more information.
|
||||
|
||||
* Introduced new flavor of the Spring Travel referenced application built to run as a set of OSGi bundles
|
||||
on the SpringSource Application Platform in a PAR deployment unit.
|
||||
Access spring-webflow-samples/platform-spring-travel to review and build the sample.
|
||||
|
||||
* Now ensure that Spring Faces now outputs Javascript blocks that are valid for both HTML and XHTML content types (SWF-785).
|
||||
|
||||
Improvements
|
||||
* Unified the "Formatter" and "Conversion" systems into a single "Conversion" type conversion system.
|
||||
This unified type conversion system is now used consistently throughout Web Flow, including for view data binding.
|
||||
Simplified the Converter API to make it easier to implement custom converters, including TwoWayConverters.
|
||||
See the example converters in org.springframework.binding.convert.converters package for example Converter implementations.
|
||||
To plug in your own custom converters, register a custom ConversionService.
|
||||
Custom converters will be usable immediately throughout the system, and can be aliased e.g. "shortDate".
|
||||
See the Config section of the reference documentation for how to install a custom ConversionService, and the booking-mvc sample for an example.
|
||||
|
||||
* Made several improvements to the documentation. Added coverage of action-states and decision-states (SWF-721).
|
||||
Also added converage of the new view-state binder element.
|
||||
|
||||
* Added support for rendering .jspx views selected by a flow in a Spring MVC environment (SWF-793).
|
||||
|
||||
* Error responses returned as the result of handling an Ajax request are now displayed in an error popup dialog by default (SWF-783).
|
||||
|
||||
* Made the eventId request parameter configurable in a Spring MVC environment (SWF-731).
|
||||
|
||||
Bug Fixes
|
||||
* Fixed a bug preventing binding of String[] array request parameters to collection properties in a Spring MVC environment (SWF-720).
|
||||
This bug effected use of <form:checkboxes> and <form:select> tags.
|
||||
* Fixed a bug where classpath: resource loading prefix was not respected within a Flow ApplicationContext (SWF-743).
|
||||
This prevented loading of classpath-based resources defined in flow beans files imported using the <bean-import> tag.
|
||||
* Fixed a bug where the Severity.FATAL severity was lost in the mapping of a JSF FacesMessage to a Spring Message (SWF-752).
|
||||
Added Severity.FATAL as a supported message severity.
|
||||
* Fixed a bug where the "detail" part of a FacesMessage was lost in the mapping of a JSF FacesMessages to a Spring Message (SWF-751).
|
||||
* Fixed a bug where transitioning back to the originating view-state within one request always triggered a redirect (SWF-808).
|
||||
Redirect+after+post is appropriate for non-Ajax requests, but was not appropriate for Ajax requests.
|
||||
* Fixed a bug where attempting to render a view from an end-state resulted in an exception (SWF-711).
|
||||
* Fixed a bug where flows where not accessible inside unexpanded WAR archives (SWF-784).
|
||||
* Fixed several browser compatibility bugs affecting IE 6 with Spring Javascript (SWF-764).
|
||||
|
||||
Changes in version 2.0.2 (06.06.2008)
|
||||
-------------------------------------
|
||||
New Features
|
||||
* Allow flow-execution-repository max-execution-snapshots to be set to 0 to disable snapshotting (SWF-709).
|
||||
Use this to disable serialization-based execution state snapshotting.
|
||||
Note that browser back button use is not supported when this option is enabled.
|
||||
|
||||
Improvements
|
||||
* Added syntax highlighting to the reference manual.
|
||||
* Documented the Default ExpressionParser configuration for Spring Faces (SWF-707).
|
||||
* Documented transition actions and how to restrict transition execution by returning action error results (SWF-715).
|
||||
* Documented how to link in parent flows in a test environment when using inheritance (SWF-694)
|
||||
* Documented how to access Web Flow Nightly Builds from the SpringSource Bundle Repository (SWF-710).
|
||||
* Simplified Spring Security Config across the booking samples (SWF-724).
|
||||
* Now set Locale of UIViewRoot to the Spring MVC Request Locale for JSF-based Spring MVC Views (SWF-659).
|
||||
|
||||
Bug Fixes
|
||||
* Fixed a bug preventing use of Faces commandLinks or commandButtons inside facet definitions (SWF-692).
|
||||
* Fixed a bug where Spring.ElementDecoration did not properly copy styles from the decorated node (SWF-703).
|
||||
* Fixed a bug where ajaxEnabled="false" did not work properly with the Faces commandLink (SWF-700).
|
||||
* Fixed a bug the Spring Web MVC AjaxView was not properly sending Ajax redirect requests to Spring.js (SWF-682).
|
||||
* Fixed a bug in Spring.js related to regexp matching of <script> tags in a HTML page (SWF-672).
|
||||
* Fixed a bug in decoration of radio buttons and select boxes with use of ajaxEvent and selectOneRadio components (SWF-712).
|
||||
* Fixed a bug where a modal popup window would not disappear after a flow external redirect (SWF-675).
|
||||
* Fixed a bug where the Faces components were not rendering the 'propercase' attribute (SWF-736).
|
||||
* Fixed a bug where the ResourceServlet allowed access to sensitive files (SWF-706).
|
||||
* Fixed a bug preventing mapping of non-string request parameters such as MultiPart files.
|
||||
* Fixed a bug where the clientTextValidator component doesn't respect a custom JSF Converter (SWF-690)
|
||||
* Fixed several locale-related bugs in the Web Flow Test Suite (SWF-697).
|
||||
|
||||
Changes in version 2.0.1 (15.05.2008)
|
||||
-------------------------------------
|
||||
Improvements
|
||||
* Added a Bundle-Name: entry to each project's manifest for improved OSGi compliance.
|
||||
* Changed to use the ClassLoader of a flow's ApplicationContext when deserializing a FlowExecution, allowing for more a modular usage of SWF when running in a OSGi environment.
|
||||
* Co-located FlowExecution creation and state restoration logic inside a FlowExecutionFactory, a design improvement eliminating the need for a separate FlowExecutionStateRestorer.
|
||||
* Reduced the size a persistent flow execution by removing the need to store the id of the root flow definition with each FlowExecutionSnapshot.
|
||||
* Simplified the Converter interface and implementation contract by allowing Converters to throw any Exception to report type conversion failures.
|
||||
The ConversionExecutor now cares for wrapping any exception in a ConversionExecutionException providing full context about the conversion attempt.
|
||||
This change will effect any custom Converter implementations extending from AbstractConverter.
|
||||
Please see the existing converters in the org.springframework.binding.converters package for examples of refined Converter implementations.
|
||||
* Improved booking samples by removing the unnecessary dispatcher-servlet-config.xml file and favoring configuration driven by a single master Spring configuration file.
|
||||
* Made RequestContext and ExternalContext thread locals named for supporting introspection
|
||||
* Added a MockExternalContext.setCurrentUser(Principal) method allowing for control over Principal implementation.
|
||||
* Resolved cyclical dependencies between the action and engine packages, the config and engine packages, and the engine.model.registry and engine.model.builder subpackages.
|
||||
|
||||
Bug Fixes
|
||||
* Fixed a bug preventing the handling of NumberFormatExceptions when binding to number properties using the default NumberFormatter.
|
||||
* Fixed a bug preventing the loading of externalized flow definition resources in a EAR environment, for example, in Web Logic.
|
||||
* Fixed a bug requiring Spring Portlet MVC in the classpath even in a Servlet-based web application when running on a Portal server.
|
||||
* Fixed a bug preventing generic use of javax.faces.model.DataModel as the target type of a List conversion.
|
||||
* Fixed a bug effecting TransitionCriteria expressions that evaluate the currentEvent; for example ${currentEvent.id == 'submit'}.
|
||||
This bug fix required a change to how currentEvent attributes are accessed with EL: instead of accessing an event attribute directly like ${currentEvent.attr},
|
||||
access an attribute through the 'attributes' property like ${currentEvent.attributes.attr}. The reference documentation was updated to reflect this change.
|
||||
* Fixed a bug resulting in loss of JSF ExternalContext state during execution of the JSF Lifecycle.
|
||||
This bug was effecting integration of the Trindad component library, which requires a special Response object to be set for its Ajax support to work.
|
||||
* Fixed a bug preventing resolution of flow-local messages for flows launched as subflows.
|
||||
* Fixed a bug where field errors recorded using Errors.rejectValue were not being associated with the source field.
|
||||
* Fixed a bug preventing binding of unselected checkbox fields in a Spring MVC View environment.
|
||||
* Restored JDK 1.4 compatibility in two places: when catching and re-throwing an Exception thrown by a Spring MVC View, when writing out mock responses during testing.
|
||||
|
||||
Documentation
|
||||
* Added documentation on Spring Faces integration with Rich Faces and Apache Trinidad JSF component libraries.
|
||||
* Added documentation on FlowHandler and externalRedirect: redirect prefixes.
|
||||
* Added documentation on accessing Web Flow artifacts from Maven Central.
|
||||
* Clarified the conversation-scoped and view-state managed persistence context patterns will be considered for implementation in future Web Flow releases.
|
||||
* Removed unnecessary note about special Spring MVC and JSF model binding semantics; the semantics should be equal between view technologies, even if the underlying technologies differ.
|
||||
* Improved documentation on model validator conventions.
|
||||
|
||||
Changes in version 2.0.0 (29.04.2008)
|
||||
-------------------------------------
|
||||
New Features
|
||||
* Formally introduced the Spring Javascript (spring-js) public API and quick reference.
|
||||
The Spring.js library provides a consistent API for decorating HTML DOM nodes with rich widgets such as a filtering select,
|
||||
calendar, validating text box, currency text box, etc. The API builds on Dojo 1.1 as the underlying widget toolkit.
|
||||
|
||||
* Added support for Ajax views with Spring MVC and Tiles. This enables the rendering of JSP fragments / partials in a plain Spring MVC environment.
|
||||
See the 'booking-mvc' reference application for an example.
|
||||
|
||||
* Enhanced the 'booking-mvc' sample to use the Spring.js API for applying Ajax and client-side validation behaviors.
|
||||
This puts the Spring MVC + Web Flow + JSP sample on par with the Spring MVC + Web Flow + JSF sample in terms of "rich web" behavior.
|
||||
Ajax partial rendering, popup dialogs, hover effects, as well as text, number, and date validation are all demonstrated.
|
||||
|
||||
* Added support for automatic partial rendering of error messages when validation errors occur.
|
||||
|
||||
* Added support for convention-based model validation in a JSF environment, consistent with the rules defined in the reference documentation.
|
||||
|
||||
* Added support for accessing flow message bundle resources, such as internationalized labels, using the 'resourceBundle' EL variable.
|
||||
For example: the expression #{resourceBundle.myLabel} would resolve 'myLabel' in your messages.properties file.
|
||||
|
||||
* Added support for accessing beans managed by the standard JSF managed-bean facility from a flow definition.
|
||||
This is particularly useful for using Web Flow in existing JSF applications.
|
||||
To enable, set the 'enable-managed-beans' attribute to true in your Faces flow-builder-services configuration.
|
||||
|
||||
* Added support for explicit redirect prefixes, respected when requesting external redirects from within a flow or by a FlowHandler.
|
||||
The supported prefixes are:
|
||||
servletRelative:/<path> - relative to the current servlet mapping
|
||||
contextRelative:/<path> - relative to the web application
|
||||
serverRelative:/<path> - relative to the server
|
||||
http://<url> or https://<url> - an absolute URL
|
||||
No prefix - servlet-mapping relative e.g. '/hotels/index' would be servlet-mapping relative.
|
||||
|
||||
* Added instructions on how to obtain Web Flow release artifacts from the SpringSource Enterprise Bundle Repository using Maven or Ivy.
|
||||
See the readme.txt included in this distribution for instructions on how to do this.
|
||||
|
||||
Improvements
|
||||
* Renamed Web Flow specific terms 'conversation' and 'continuation' to 'flow execution' and 'flow execution snapshot', respectively (SWF-651).
|
||||
With these terms, rather than saying "users participate in conversations and continuations are created to support backtracking",
|
||||
you would simply say "users participate in flow executions and snapshots of execution state are taken to support backtracking".
|
||||
This lexicon improvement resulted in a package rename of repository.continuation to repository.snapshot, as well as several repository class renames.
|
||||
The default encoded flow execution key format is now e<executionId>s<snapshotId> as a result.
|
||||
The webflow-config flow-execution-repository attributes are now 'max-executions' and 'max-snapshots' as a result.
|
||||
The term "Conversation" still has a place, e.g. conversationScope, but this is a concept specific to the base web MVC platform and external to Web Flow.
|
||||
|
||||
* Made the FlowExecutionSnapshotFactory of DefaultFlowExecutionRepository pluggable (SWF-530).
|
||||
|
||||
* Removed the 'type' attribute of the webflow-config flow-execution-repository element (SWF-651).
|
||||
This element should be used to customize configuration of the default repository implementation.
|
||||
To plug in custom implementations, use regular Spring beans.
|
||||
|
||||
* Introduced a FlowExecutionSnapshotGroup hook for customizing the algorithm used to manage the storage of flow execution snapshots (SWF-503).
|
||||
|
||||
* Moved the view-state 'history' attribute to the view <transition> element to allow setting history policies per transition (SWF-628).
|
||||
|
||||
* Improved the implementation of the Spring MVC integration for both Servlet MVC and Portlet MVC environments.
|
||||
These improvements consisted of:
|
||||
- Eliminating code duplication between FlowController and FlowHandlerAdapter. The FlowController now delegates to a FlowHandlerAdapter internally.
|
||||
|
||||
- Removing the FlowController and FlowHandlerAdapter constructors that accepted a FlowExecutor argument in favor of a default constructor with a flowExecutor property.
|
||||
This was done for simplicity reasons for their typical use as Spring beans.
|
||||
Please note this change requires a minor update to pre 2.0.0 Web Flow + MVC configurations.
|
||||
|
||||
- Adding support for auto-detecting if Web Flow is running in a Servlet or Portlet MVC environment, and applying the appropriate environmental defaults.
|
||||
|
||||
- Introducing a FlowViewResolver hook for customizing how Spring MVC views are resolved in a Web Flow environment when defining a custom MvcViewFactoryCreator.
|
||||
By default, view ids are resolved to flow-relative file resources.
|
||||
Pre-existing Spring MVC ViewResolvers can be used by setting the 'viewResolvers' property on the configured MvcViewFactoryCreator instance.
|
||||
|
||||
- Improving the Portlet FlowHandler interface definition. A Portlet FlowHandler can now return a error view to render when handling a flow exception.
|
||||
Also, the FlowHandler can respond to a flow outcome in an ActionRequest. A typical response action is to change the Portlet mode; e.g. from EDIT to VIEW.
|
||||
|
||||
- Introducing a FlowExecutionOutcome parameter object for conveniently handling a flow outcome such as 'bookingConfirmed' (SWF-634).
|
||||
This improvements effects the signature of the FlowHandler interface.
|
||||
|
||||
* Factored out AjaxHandler into the spring-js project as a strategy interface that can be used across controller / view environments.
|
||||
Also moved the SpringJavascript and RichFaces AjaxHandler implementations to this project.
|
||||
This change makes the spring-js.jar a required Web Flow dependency needed in conjunction with the Web Flow Spring MVC integration.
|
||||
|
||||
* SelectionTrackingActionListener nows work with any JSF component that iterates over a DataModel (SWF-646).
|
||||
|
||||
Bug Fixes
|
||||
* Fixed several issues with the Web Flow 1 to 2 flow upgrader tool (SWF-643, SWF-644).
|
||||
* Flash scope is now stored with the Conversation object, preventing snapshotting of flash values and providing equivalent semantics of flash in other frameworks (SWF-639).
|
||||
* Fixed several JDK 1.4 compatibility issues (SWF-612, SWF-638).
|
||||
* Fixed a bug preventing action execution attributes such as a FormAction 'validatorMethod' from being respected (SWF-626).
|
||||
* Fixed a bug preventing data binding to nested bean properties (SWF-625).
|
||||
* Fixed a bug preventing bind suppression with bind="false" when using OGNL.
|
||||
* Fixed a parsing bug for the <exception-handler> XML flow definition element (SWF-613).
|
||||
* ResourceServlet now restricts access to protected resources within the WEB-INF directory (SWF-604).
|
||||
* Fixed several bugs in both the Hibernate and JPA persistence listeners preventing use of flow-managed persistence contexts with subflows (SWF-600).
|
||||
* 'bind' attribute is now supported on global-transitions now, for global events where data binding should occur (SWF-597).
|
||||
* Fixed a bug where a MessageContext is not preserving message order (SWF-596).
|
||||
* Fixed a possible NPE when using Spring Faces command buttons (SWF-594).
|
||||
* Resolved cyclical dependency between mvc.view and the mvc.servlet/mvc.portlet packages (SWF-580).
|
||||
This resulted in the move of MvcViewFactoryCreator from the mvc.view package to a new mvc.builder package.
|
||||
* Fixed a bug preventing non-validating Dojo widgets from working with Spring Javascript (SWF-606).
|
||||
* Fixed a bug preventing proper Locale resolution for flow message bundles (SWF-622).
|
||||
* Fixed a bug preventing HTML button form parsing of eventIds for view-state external redirect postbacks (SWF-632).
|
||||
* Fixed a possible NPE when rendering a MVC View from a EndState (SWF-656).
|
||||
|
||||
Changes in version 2.0 RC1 (11.04.2008)
|
||||
-------------------------------------
|
||||
Major New Features
|
||||
* Introduced a new Web Flow 2 reference guide, available in PDF and HTML format.
|
||||
The new guide is written in "quick reference" style with complete code examples.
|
||||
|
||||
* Added support for migrating from Web Flow 1 to 2.
|
||||
Included in this distribution is a WebFlowUpgrader tool capable of converting flows from the version 1 syntax to the version 2 syntax.
|
||||
See the reference guide for instructions on how to use this tool.
|
||||
|
||||
* Added support for flow definition inheritance.
|
||||
With this feature, A flow may extend one or more flows. A flow state can also extend another state.
|
||||
This feature is used to facilitate reuse between flows and states that share a common structure.
|
||||
|
||||
* Added Portlet support. See the Portlet section of the reference guide and the booking-mvc-portlet and booking-faces-portlet sample applications for examples.
|
||||
|
||||
* Introduced the spring-js module called "Spring Javascript".
|
||||
This module provides a Javascript abstraction framework for applying client-side behaviors such as form validation and Ajax in a consistent manner.
|
||||
The default UI toolkit this framework builds upon is Dojo 1.
|
||||
Spring's JSF integration module called "Spring Faces" builds on spring-js to provide simple declarative JSF components for validation and Ajax.
|
||||
|
||||
* Added integration with the RichFaces JSF component library. Rich Faces can be used with the Spring Faces component library or used standalone.
|
||||
|
||||
* Added a "jsf-booking" reference application that offers a comparsion between a traditional "JSF-centric" web application
|
||||
and a Spring web application that uses JSF as the UI component model.
|
||||
Compare jsf-booking with booking-faces to see the differences in the architectural approach and implementation.
|
||||
Particularly insightful for seasoned JSF developers interested in Spring.
|
||||
|
||||
* Introduced support for automatic model binding and validation with Spring MVC.
|
||||
This support provides a concise alternative to manual setupForm and bindAndValidate calls using FormAction.
|
||||
This support also allows registration of data input Formatters application wide,
|
||||
reducing the need to manually register PropertyEditors on a view-by-view basis in many cases.
|
||||
Support for suppressing data binding for a event such as a cancel button click is also provided.
|
||||
|
||||
* Introduced view scope.
|
||||
View scope is allocated when a view-state enters and destroyed when a view-state exits.
|
||||
The scope is particularly useful for updating a model over a series of Ajax requests.
|
||||
|
||||
* Added support for flow message bundles.
|
||||
Create a messages.properties file in your flow's working directory for the Locales you need to support and off you go.
|
||||
|
||||
* Introduced configurable view-state history polices.
|
||||
A view state can preserve its history to support backtracking, discard its history to prevent backtracking,
|
||||
and invalidate all previous history to disallow backtracking after a point of no return.
|
||||
See the new 'history' attribute on the view-state element.
|
||||
|
||||
* Refined the flow execution snapshotting process.
|
||||
These refinements capture view-state form values on postback to support restoring those values when backtracking.
|
||||
|
||||
* Simplified flow execution testing by allowing you to "jump" to any state to begin a test case.
|
||||
See the booking-mvc and booking-faces for examples of flow test cases.
|
||||
|
||||
Minor Improvements
|
||||
* Added "before view rendering" and "after view rendering" FlowExecutionListener callbacks.
|
||||
* Upgraded to Dojo 1.1 from 1.0.
|
||||
* Attempts to lock a Conversation will now throw an Exception after a configurable timeout period (default is 30).
|
||||
* Changed the faces-config schema to simply 'faces' in-line with Spring conventions.
|
||||
* Added automatic registration of Spring 2 Flow scopes in the flow-local application context, removing the need for a custom enable-flow-scopes tag.
|
||||
* Added a flow-registry 'parent' attribute, allowing registries to be linked together in a hierarchy.
|
||||
* Made the JSF 1.2 RI the default JSF implementation used by the JSF samples.
|
||||
* Updated the distribution structure to use the new "Spring Build" system.
|
||||
* Made backport-util-concurrent the fallback concurrency framework in a Java 1.4 environment, instead of oswego-concurrent.
|
||||
* Added a dynamic subflow resolution capability.
|
||||
* Simplified the FlowHandler interface and added examples of implementing FlowHandlers to manage access to a flow in a custom manner.
|
||||
* Upgraded the booking-mvc sample to show a mixing Spring MVC @Controllers with web flows, which is typical in a real-world application.
|
||||
* Added ExternalContext.getLocale() to get the client locale from the flow in a portable manner.
|
||||
* Added ExternalContext.getCurrentUser() to get the current user principal from the flow in a portable manner.
|
||||
* Restored support for setting action execution attributes such as validatorMethod. See the <attribute> sub-element of <evaluate>, <set>, and <render>.
|
||||
|
||||
Changes in version 2.0 M4 (06.03.2008)
|
||||
-------------------------------------
|
||||
|
||||
General
|
||||
* Stabilized the Web Flow 2 architectural model. This includes Web Flow's role and relationship with Spring MVC, JSF, and Ajax,
|
||||
as well as the definition of new Web Flow 2 extension points.
|
||||
Notes:
|
||||
- Web Flow 2 will continue to play the role of a stateful controller framework complimenting stateless web controller implementations like @Controller.
|
||||
- In this role, Web Flow continues to plug into Spring MVC via Controller and HandlerAdapter hooks and treats Spring MVC
|
||||
as the base web MVC platform for request dispatch.
|
||||
- Web Flow can now manage the JSF UI component lifecycle fully within its ViewState lifecycle. This work resides in the Spring Faces project.
|
||||
- Spring MVC can also now execute the JSF rendering lifecycle directly, allowing rendering of JSF views by @Controllers as well.
|
||||
This work also resides in the Spring Faces project.
|
||||
- The SWF ViewFactory API is an extension point for other UI framework providers to integrate their view rendering and postback lifecycles
|
||||
into the Web Flow Execution Engine. SWF 2 ships integration with Spring MVC and JSF, and we expect additional UI frameworks to integrate over time.
|
||||
- The SWF FlowExecutor API can be used to embed the Web Flow engine in any web controller environment. For example, Grails uses this API as does IceFaces.
|
||||
- Web Flow 2 defines a general model for handling asynchronous events from within a page and requesting partial rendering of page fragments after
|
||||
handling those events. Spring Javascript Ajax integration ships with SWF 2.x, and hooks exist for other Ajax framework providers to plug in.
|
||||
|
||||
Major New Features
|
||||
* Introduced a much simplified XML-based flow definition syntax. See the "Spring Travel" reference applications (booking-faces and booking-mvc projects) for an
|
||||
illustration of the new syntax. Use of the version 2 syntax can reduce the size of a version 1 flow definition by up to 50%. This is achieved
|
||||
primarily by stronger Expression Language (EL) integration and simpler tags for action execution and data mapping.
|
||||
|
||||
* Added Spring Security integration. Full support for securing flows, states, and transitions is provided. A new "currentUser" EL variable
|
||||
provides easy-reference to the current Authenticated user from a flow definition or view template.
|
||||
|
||||
* Added full support for flow exception handling, including support for automatically restarting a flow that has ended or expired.
|
||||
|
||||
* Added support for view "event handlers", transitions that process Ajax events that should not change the current page.
|
||||
A new "render" element allows you to request fragment(s) of a page that should re-render after handling an Ajax event.
|
||||
This element is not tied to any particular Ajax framework.
|
||||
|
||||
* Added support for "view variables" (view scope or page scope).
|
||||
A view variable is allocated when its containing view-state enters and destroyed when that state exits.
|
||||
These variables provide a page context and are particularly useful for updating a model over a series of Ajax requests.
|
||||
|
||||
* Added support for @Autowired flow variables. Flow and view variables can now have their dependencies @Autowired by Spring, enabling flow-scoped beans
|
||||
to hold references to Spring-managed beans such as @Services. If a dependency is not serializable and therefore transient, those references will
|
||||
be re-wired for you automatically between requests.
|
||||
|
||||
* Added support for "popup" view-states. Mark a view-state as popup=true and it will render in a popup dialog when Javascript is enabled.
|
||||
|
||||
* Introduced a Javascript abstraction framework called "Spring Javascript", currently providing Dojo and Ext based implementations.
|
||||
This abstraction framework provides the following:
|
||||
- A common interface for Ajax, regardless of which toolkit is being used under the covers
|
||||
- An unique aspect-oriented configuration API for decorating HTML DOM nodes with rich web behaviors, including client-side validation behaviors.
|
||||
|
||||
* Added a lightweight JSF component library that uses Spring Javascript underneath to employ progressive enhancement techniques,
|
||||
degrading nicely if Javascript is not available for use on the client. See the Spring Travel example for an illustration;
|
||||
turn Javascript off and compare the application to when Javascript is turned on.
|
||||
|
||||
* Added support for registering "Flow Handlers", as an alternative or supplement to the traditional Spring MVC FlowController.
|
||||
A FlowHandler is a gatekeeper that brokers access to a single flow definition.
|
||||
Such handlers are useful when you need the to handle flow input mapping, flow outcomes, or flow exceptions in a custom manner.
|
||||
See the FlowHandlerAdapter and FlowHandler Javadoc API for more information.
|
||||
|
||||
Changes in version 2.0 M3 (20.12.2007)
|
||||
-------------------------------------
|
||||
Package org.springframework.webflow.faces
|
||||
* Added built-in Ajax support for rendering partial page views in response to asynchronous Web Flow events.
|
||||
See the booking-jsf sample for an example.
|
||||
* Added built-in support for progressive enhancement, including a library of JSF components that degrade nicely if Javascript
|
||||
is not available on the client. See booking-jsf for an example of two such components: first, the Spring Faces command link which
|
||||
renders as a standard submit button if Javascript is not available, and second a popup window that displays a partial asynchronous response if
|
||||
Javascript is available (otherwise a full synchronous page navigation occurs).
|
||||
* Polished overall JSF integration approach since M2, including applying refinements and performance optimizations
|
||||
to the UIViewRoot state saving strategy.
|
||||
* Upgraded to Dojo 1.0 from 0.9.
|
||||
|
||||
Changes in version 2.0 M2 (30.10.2007)
|
||||
-------------------------------------
|
||||
|
||||
General
|
||||
* Spring Web Flow now cares for the entire web controller request/response lifecycle (including control over the view rendering process, too!)
|
||||
* Spring Web Flow now provides first-class JSF and Spring MVC integration by driving their respective view rendering and
|
||||
restoration request lifecycles in the context of a web flow execution request. This simplifies view technology integration
|
||||
for the developer, provides a cleaner and more powerful architectural model, and makes it possible to mix-and-match JSF and MVC-style views
|
||||
in the same application, if desired. Support for Portlet MVC using this approach will be added in a future 2.x milestone.
|
||||
* Please see the "booking-jsf" reference application for a complete example of a "standalone" webflow app using JSF as the view technology.
|
||||
Please see the "booking-mvc" reference application for a complete example of a "embedded" webflow app using Spring MVC as the view technology.
|
||||
Note it would be possible to introduce flows that render JSF-based views in this "embedded" mode, if desired.
|
||||
* The default URL scheme for working with flows is now REST-based:
|
||||
http://host/<flowId>[?requestParameters] - to launch a new flow execution; for example http://host/booking
|
||||
http://host/<flowId>?execution=<flowExecutionKey> - to resume a paused flow execution; for example http://host/booking?execution=e1s1
|
||||
This scheme will be configurable in later 2.x milestones, primarily to ease migration to 2.0 from 1.0.
|
||||
* Flow execution key assignment now happens before a view state is entered now, allowing a flow execution to send proper callback Url to a
|
||||
external systems that will take over control of the conversation and return control at a later time. An example would be a e-shopping site
|
||||
redirecting to paypal to complete a payment authorization. This was difficult to do in SWF 1.0 and is now supported natively.
|
||||
|
||||
Package org.springframework.binding
|
||||
* Simplified Expression and ExpressionParser abstraction, normalized parser contract to be consistent between parser implementations as far as possible.
|
||||
OGNL and the Unified EL are the two supported expression parser implementations. OGNL is currently the default. The Unified EL is recommended for
|
||||
a JSF environment. See booking-jsf for an example of the Unified EL in use. See booking-mvc for an example of OGNL in use.
|
||||
These changes will require tweaks in flow definitions being upgraded to 2.x that define implicit eval expressions without encasing them in explicit
|
||||
eval expression delimiters (#{} for EL, ${} for OGNL). Now, such delimiters are required for eval expressions for clarity and consistency.
|
||||
|
||||
Package org.springframework.webflow.engine
|
||||
* Added support for "flow relative resources". Most notably, this allows views to be selected by a flow-relative file path, rather than requiring
|
||||
a fully-qualified context path. See booking-mvc and booking-jsf for an example.
|
||||
* Removed support for inline flows entirely for 2.x. Use subflows instead. Support for local flow registries for internal subflows is planned for
|
||||
a future 2.x milestone.
|
||||
* Removed support for declaring flow variables whose source value is sourced from a Spring bean factory. Use simply name/class notation instead.
|
||||
Support for dependency injection of flow variables is planned for a future 2.x milestone.
|
||||
|
||||
Package org.springframework.faces
|
||||
* Made Dojo the default UI toolkit for the default 'faces' component namespace. See booking-jsf for an example of using Spring Faces with the Dojo toolkit.
|
||||
* Made Ext an alternate UI toolkit and introduced the alternate 'faces-ext' component namespace.
|
||||
* Added support for serving web resources from .jar files using the general purpose 'resources' flow. See booking-jsf or mvc for an example.
|
||||
|
||||
Package org.springframework.webflow.samples
|
||||
* Introduced booking-mvc, the hotel booking reference application using Spring MVC-based views with Tiles for templating.
|
||||
* Removed old SWF 1.x samples, with 2.x now focusing on a smaller set of more comprehensive reference applications.
|
||||
|
||||
Changes in version 2.0 M1 (21.08.2007)
|
||||
-------------------------------------
|
||||
|
||||
Package org.springframework.binding
|
||||
* Fixed serializability problems in ConversionException, EvaluationException and MethodInvocationException.
|
||||
* Added targetCollection(String) method to MappingBuilder.
|
||||
* ConversionExecutor now checks for assignment compatible types (SWF-337).
|
||||
* Fixed bug in MapAccessor where accessing a map entry with a null value would result in an exception (SWF-343).
|
||||
|
||||
Package org.springframework.webflow.action
|
||||
* Improved FormAction.setupForm() JavaDoc (SWF-325).
|
||||
|
||||
Package org.springframework.webflow.config
|
||||
* FlowExecutorFactoryBean now has an 'inputMapper' property to conveniently configure the 'inputMapper'
|
||||
property of the created FlowExecutorImpl object.
|
||||
* Added a new <enable-scopes/> bean definition to a new 2.0 revision of the spring-webflow-config schema to support
|
||||
Web Flow scoping of beans in Spring (SWF-163).
|
||||
|
||||
Package org.springframework.webflow.engine
|
||||
* Made flash scope a property of the FlowExecution instead of the active FlowSession. This allows flash messages to be saved across an redirect
|
||||
if the messages were put there by a subflow that ended, for example (SWF-221).
|
||||
|
||||
Package org.springframework.webflow.context.scope
|
||||
* Added support for Web Flow scoping of Spring beans (SWF-163).
|
||||
|
||||
Package org.springframework.webflow.conversation
|
||||
* Each SessionBindingConversationManager now uses a unique key to store it's conversation container
|
||||
in the session (SWF-304).
|
||||
|
||||
Package org.springframework.webflow.core
|
||||
* Fixed DefaultExpressionParserFactory to not require OGNL on the classpath if another expression parser
|
||||
is configured (SWF-335).
|
||||
|
||||
Package org.springframework.webflow.definition.registry
|
||||
* Added namespace awareness to the flow registry allowing flows with the same id to be placed in different namespaces
|
||||
and be referenced by a 'flow path' (SWF-363).
|
||||
|
||||
Package org.springframework.webflow.engine
|
||||
* Added invoke(String, Action) method to AbstractFlowBuilder.
|
||||
* Added initBuilder() hook method to AbstractFlowBuilder.
|
||||
* Added name(String, Action) method to AbstractFlowBuilder for convenient creation of named actions.
|
||||
* AnnotatedAction now has a convenience putAttribute(String, Object) method.
|
||||
* Added annotate(Action) method to AbstractFlowBuilder.
|
||||
* Added createLocalBeanFactory(Flow, Resource[]) and registerLocalBeans(Flow, ConfigurableBeanFactory) hook
|
||||
methods to XmlFlowBuilder to allow for control over the registration of beans needed locally by a flow definition.
|
||||
Useful for testing (SWF-307).
|
||||
* Ensures that all exceptions (including RuntimeExceptions) are handled properly by the FlowExecution (SWF-333).
|
||||
* Ensured the RequestContext attribute map can never be null (SWF-347).
|
||||
* Renamed TransitionExecutingStateExceptionHandler to TransitionExecutingFlowExecutionExceptionHandler.
|
||||
This handler now exposes the handled flow execution exception under the key "flowExecutionException"
|
||||
instead of the key "stateException (SWF-281).
|
||||
|
||||
Package org.springframework.webflow.execution
|
||||
* Added a holder for the FlowExecutionContext of a request (SWF-163).
|
||||
* Made the Event class non-final to allow for extension (SWF-330).
|
||||
* Now allow multiple conversation containers per session in a manner that supports use in a cluster (SWF-378).
|
||||
|
||||
Package org.springframework.webflow.executor
|
||||
* JSF integration code now manages flow execution locks properly in exceptional situations and when the
|
||||
RENDER RESPONSE phase is bypassed (SWF-302).
|
||||
* Restored compatability with 1.0.1 allowing default navigation rules to be queried if no transition could
|
||||
be matched against the state of the current flow execution (SWF-303).
|
||||
* JSF integration code now tears down ExternalContext thread local properly in exceptional situations and when
|
||||
the RENDER_RESPONSE phase is bypassed (SWF-305).
|
||||
* JSF integration code now binds the current FlowExecutionContext to a thread local for use by the Spring scoping
|
||||
mechanism (SWF-163).
|
||||
* JSF can now use a FlowSystemCleanupFilter to ensure that no matter what happens in JSF, the request context
|
||||
is cleaned up properly (SWF-306).
|
||||
|
||||
Package org.springframework.webflow.persistence
|
||||
* Added support for Flow Managed Persistence Contexts with Hibernate and JPA (SWF-92).
|
||||
|
||||
Package org.springframework.webflow.test
|
||||
* Added the ability to apply multiple listeners to a test case (SWF-334).
|
||||
* Relaxed 'final' qualifier on AbstractXmlFlowExecutionTests#createFlowBuilder(FlowServiceLocator).
|
||||
* Added registerLocalMockServices(Flow, ConfigurableBeanFactory) hook method to AbstractXmlFlowExecutionTests.
|
||||
Overriding this method is useful for customizing the builder's population of the bean factory local to the
|
||||
flow definition (SWF-307).
|
||||
* Introduced MockAction for stubbing out action implementations when unit testing flow executions (SWF-317).
|
||||
|
||||
Package org.springframework.faces
|
||||
* Introduced a "Spring Faces" component library, the new home of the Spring Web Flow + Java Server Faces (JSF) integration
|
||||
and additional JSF-based functionality such as client-side UI input validation components (SWF-388).
|
||||
|
||||
Package org.springframework.webflow.samples
|
||||
* Added a "booking-jsf" reference application, a hotel booking system built on "Spring Faces" (which ties together JSF + Spring Web Flow + Spring).
|
||||
Also serves as a Seam comparison sample (SWF-366).
|
||||
|
||||
Package reference-manual
|
||||
* Improved readability of reference manual in several sections (SWF-349).
|
||||
* Added documentation on flow execution exception handling options (SWF-357).
|
||||
86
src/dist/readme.txt
vendored
86
src/dist/readme.txt
vendored
@@ -20,69 +20,23 @@ It is a powerful controller engine that addresses the "C" in MVC.
|
||||
|
||||
2. RELEASE NOTES
|
||||
----------------
|
||||
Spring Web Flow 2.3.x requires Java SE 1.5 and Spring Framework 3.0.5 or above to run.
|
||||
|
||||
Java SE 5.0 with Ant 1.7 is also required to build.
|
||||
Spring Web Flow 2.4 requires JDK 1.6 to run.
|
||||
|
||||
Release distribution contents:
|
||||
|
||||
"." contains the Web Flow distribution readme, license, changelog, and copyright
|
||||
"dist" contains the Web Flow distribution jar files
|
||||
"src" contains the Web Flow distribution source jar files
|
||||
"." contains the Web Flow distribution readme, license, and copyright notice
|
||||
"docs" contains the Spring Web Flow reference manual and API Javadocs
|
||||
"projects" contains all buildable projects
|
||||
"projects/build-spring-webflow" is the directory to access to build the Web Flow distribution
|
||||
"projects/spring-build" is the master build system used by all Spring projects, including Spring Web Flow
|
||||
"projects/spring-binding" contains buildable Spring Data Binding project sources, a utility library used by SWF
|
||||
"projects/spring-faces" contains buildable Spring Faces project sources, a library containing SWF's JSF integration
|
||||
"projects/spring-js" contains buildable Spring JavaScript project sources
|
||||
"projects/spring-js-resources" bundles library containing client-side Ajax and Dojo integration
|
||||
"projects/spring-webflow" contains buildable Spring Web Flow project sources
|
||||
|
||||
Current samples can be found at https://github.com/SpringSource/spring-webflow-samples.
|
||||
|
||||
See the readme.txt within the above directories for additional information.
|
||||
"libs" contains the Web Flow distribution jar files
|
||||
"schema" contains all Web Flow schema definitions
|
||||
|
||||
Spring Web Flow is released under the terms of the Apache Software License (see license.txt).
|
||||
|
||||
3. DISTRIBUTION JAR FILES
|
||||
-------------------------
|
||||
The following jar files are included in the distribution.
|
||||
The contents of each jar and its dependencies are noted.
|
||||
Dependencies in [brackets] are optional, and are just necessary for certain functionality.
|
||||
|
||||
* org.springframework.webflow-2.4.0.RELEASE.jar
|
||||
- Contents: The Spring Web Flow system
|
||||
- Dependencies: Commons Logging, spring-core, spring-beans, spring-context, spring-expression, spring-binding, spring-web, spring-web-servlet, spring-js
|
||||
[Log4J, Xerces, XML APIs, OGNL, EL API, JPA API, Hibernate, Spring Security, Servlet API, Portlet API, JUnit]
|
||||
|
||||
* org.springframework.binding-2.4.0.RELEASE.jar
|
||||
- Contents: The Spring Data Binding framework, a utility library used by Web Flow
|
||||
- Dependencies: Commons Logging, spring-beans, spring-core, spring-context, spring-expression
|
||||
[Log4J, OGNL, EL API]
|
||||
|
||||
* org.springframework.js-2.4.0.RELEASE.jar
|
||||
- Contents: The Spring JavaScript module
|
||||
- Dependencies: spring-beans, spring-core, spring-context, spring-web, spring-web-servlet
|
||||
|
||||
* org.springframework.js.resources-2.4.0.RELEASE.jar
|
||||
- Contents: Spring's custom Dojo build and client-side Dojo integration files.
|
||||
- Dependencies:
|
||||
|
||||
* org.springframework.faces-2.4.0.RELEASE.jar
|
||||
- Contents: The Spring Faces module, containing Spring's integration with Java Server Faces (JSF) and additional JSF functionality.
|
||||
- Dependencies: spring-webflow, spring-js, spring-js-resources, JSF API
|
||||
|
||||
For an exact list of project dependencies, see each project's ivy file at "projects/${project_name}/ivy.xml".
|
||||
|
||||
4. GETTING STARTED
|
||||
3. GETTING STARTED
|
||||
------------------
|
||||
This distribution contains documentation and sample applications demonstrating the features of the Spring Web Flow projects.
|
||||
A great way to get started is to review and run the sample applications, supplementing with reference manual material as you go.
|
||||
To build deployable .war files for the samples, access the projects/spring-webflow-samples directory and run "mvn package".
|
||||
Sample projects can be imported into an IDE as Maven projects or by generating IDE settings (e.g. "mvn eclipse:eclipse").
|
||||
Current samples:
|
||||
https://github.com/SpringSource/spring-webflow-samples.
|
||||
|
||||
5. OBTAINING RELEASE JARS WITH MAVEN OR IVY
|
||||
4. OBTAINING RELEASE JARS WITH MAVEN OR IVY
|
||||
-------------------------------------------
|
||||
Release versions of Spring Web Flow artifacts are available via Maven Central.
|
||||
|
||||
@@ -102,19 +56,19 @@ via transitive dependencies):
|
||||
<dependency>
|
||||
<groupId>org.springframework.webflow</groupId>
|
||||
<artifactId>org.springframework.binding</artifactId>
|
||||
<version>2.4.0.RELEASE</version>
|
||||
<version>2.4.0.RC1</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.springframework.webflow</groupId>
|
||||
<artifactId>org.springframework.js</artifactId>
|
||||
<version>2.4.0.RELEASE</version>
|
||||
<version>2.4.0.RC1</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.springframework.webflow</groupId>
|
||||
<artifactId>org.springframework.webflow</artifactId>
|
||||
<version>2.4.0.RELEASE</version>
|
||||
<version>2.4.0.RC1</version>
|
||||
</dependency>
|
||||
|
||||
If using JSF all you need to include is:
|
||||
@@ -122,7 +76,7 @@ If using JSF all you need to include is:
|
||||
<dependency>
|
||||
<groupId>org.springframework.webflow</groupId>
|
||||
<artifactId>org.springframework.faces</artifactId>
|
||||
<version>2.4.0.RELEASE</version>
|
||||
<version>2.4.0.RC1</version>
|
||||
</dependency>
|
||||
|
||||
To access jars using Ivy, add the following repositories to your Ivy config:
|
||||
@@ -139,22 +93,22 @@ To access jars using Ivy, add the following repositories to your Ivy config:
|
||||
|
||||
Then declare the following dependencies in your ivy.xml:
|
||||
|
||||
<dependency org="org.springframework.webflow" name="org.springframework.binding" rev="2.4.0.RELEASE" conf="compile->runtime" />
|
||||
<dependency org="org.springframework.webflow" name="org.springframework.js" rev="2.4.0.RELEASE" conf="compile->runtime" />
|
||||
<dependency org="org.springframework.webflow" name="org.springframework.webflow" rev="2.4.0.RELEASE" conf="compile->runtime" />
|
||||
<dependency org="org.springframework.webflow" name="org.springframework.binding" rev="2.4.0.RC1" conf="compile->runtime" />
|
||||
<dependency org="org.springframework.webflow" name="org.springframework.js" rev="2.4.0.RC1" conf="compile->runtime" />
|
||||
<dependency org="org.springframework.webflow" name="org.springframework.webflow" rev="2.4.0.RC1" conf="compile->runtime" />
|
||||
|
||||
If using JavaServerFaces:
|
||||
|
||||
<dependency org="org.springframework.webflow" name="org.springframework.faces" rev="2.4.0.RELEASE" conf="compile->runtime" />
|
||||
<dependency org="org.springframework.webflow" name="org.springframework.faces" rev="2.4.0.RC1" conf="compile->runtime" />
|
||||
|
||||
For more information see the reference documentation and the SpringSource Repository FAQ:
|
||||
https://github.com/SpringSource/spring-framework/wiki/SpringSource-repository-FAQ
|
||||
https://github.com/spring-projects/spring-framework/wiki/Spring-repository-FAQ
|
||||
|
||||
6. ADDITIONAL RESOURCES
|
||||
5. ADDITIONAL RESOURCES
|
||||
-----------------------
|
||||
The Spring Web Flow homepage is located at:
|
||||
http://www.springsource.org/spring-web-flow
|
||||
http://projects.spring.io/spring-webflow/
|
||||
|
||||
The Spring Web Flow community forums are located at:
|
||||
http://forum.springframework.org
|
||||
http://forum.spring.io/
|
||||
|
||||
|
||||
@@ -45,7 +45,7 @@
|
||||
</para>
|
||||
</sect2>
|
||||
<sect2 xml:id="whatsnew-hibernate4">
|
||||
<title>Hibernate4 Support</title>
|
||||
<title>Hibernate 4 Support</title>
|
||||
<para>
|
||||
The <classname>HibernateFlowExecutionListener</classname> now supports Hibernate 4 in addition to Hibernate 3.
|
||||
</para>
|
||||
|
||||
Reference in New Issue
Block a user