Review AbstractTextComponent's handling of empty Strings in 1.5
---------------------------------------------------------------

                 Key: WICKET-3269
                 URL: https://issues.apache.org/jira/browse/WICKET-3269
             Project: Wicket
          Issue Type: Improvement
          Components: wicket
    Affects Versions: 1.5-M3
            Reporter: Sven Meier


Context:
With convertEmptyInputStringToNull set to 'true' (the default), 
AbstractTextComponent converts empty strings to 'null'.
This works only if the component doesn't know its model type.

Problem:
In our application we would like to always keep empty Strings as they are. We 
tried to use a ComponentInstantiationListener to set 
convertEmptyInputStringToNull to 'false', but regretfully AbstractTextComponent 
reverts this setting to 'true' in its constructor.

Proposals for 1.5 (either A or B):

A) Change default of convertEmptyInputStringToNull to 'false'.
- allows applications to keep empty strings as they are,
- if needed, clients can use a ComponentInstantiationListener to globally set 
convertEmptyInputStringToNull to 'true' for the old default

B) Remove support for special handling of empty strings.
- no special handling in #convertValue(String[]) and #resolveType() needed,
- no more ambiguity whether ConvertEmptyInputStringToNull has any effect (model 
type known or not),
- if needed, clients can use a custom Converter to convert empty strings to 
'null'.

See attached patches, note that no unit tests changes were required.

Thanks for your consideration.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to