A short description of changes is given for each release
Added extra logging, levels: nl.openedge.baritus.interception,
nl.openedge.baritus.executionparams and nl.openedge.baritus.executionparams,
and FormBeanCtrlBase now logs to nl.openedge.baritus.
When populating with request parameters and other parameters like request
attributes, the latter override the first. However, prior to this fix, both
levels of population for a given parameter were allways executed. Now, only
the last known value will be used. Thus, if you have request parameter 'myparam'
and request attribute 'myparam' AND the includeRequestAttributes property
of ExecutionParams is set to true, only the request attribute 'myparam' will
be matched against a property on the form bean.
Fixed a small but SERIOUS bug that prevented using a deep copy
of the ExecutionParams for the current request, but instead
used the controller instance variable.
Refactored populateAndValidate from FormBeanContext to ExecutionParams.
- Interceptors and FlowInterceptors are now the same. From the docs:
Interceptors can be used to decorate the normal execution. Also, by throwing FlowExceptions, interceptors can
alter the flow of execution. An interceptor can throw a FlowException if it wants Baritus to stop
normal processing and go to the given declared view (using ReturnNowFlowException) such as 'error',
or dispatch to an arbitrary - non declared - URL (using DispatchNowFlowException) location.
- Method signature FormBeanCtrlBase.getExecutionParams changes from:
getExecutionParams() to getExecutionParams(ControllerContext cctx)
- The default implementation of getExecutionParams is to make a deep copy
of the execution parameters of this control. This copy is saved as a request attribute -
that is ignored by the population process - so that its' possibly changed parameters
can be used by other (linked) controllers within the same request without having
to change the parameters for all request (pre-1.0.7 just gave the reference to
the instance variable of the singleton controller).
- If you want to override the default execution parameters for all requests (i.e. change
the instance variable of the execution params, you can use the method
FormBeanCtrlBase.fixExecutionParams(ExecutionParams params). setExecutionParams is removed.
- Small fix concerning PerformException(Flow)Interceptors.
- A lot of javadoc fixes.
- Added property executeOtherNonFlowInterceptors to FlowInterceptorResult.
- Added execution parameter trimStringInputValues (true by default)
that indicates that populators should trim values of type String or String
before populating/ converting.
- removed redundant Locale parameter in ValidationDelegate interface and in some
of the private methods of FormBeanCtrlBase.
- removed redundant check on override field in DefaultValidatorDelegate.
- added exception handling and logging for form validators.
- Typo 'stictPopulationMode' should be 'strictPopulationMode', class ExcecutionParams.
- Fix in OgnlFieldPopulator: conversion was done twice in some cases.
- Removed call back getErrorMessage in Validator interfaces.
- Added parameter stickPopulationMode.
- Registries are now public, incl. option to set default populator with PopulatorRegistry.
- Populators that were registered per field overrule regexpr registrated populators.
- First public SourceForge release.