You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by sv...@apache.org on 2016/07/21 20:22:36 UTC
wicket git commit: WICKET-5866 added #createConverter() without
generics parameter for convenience
Repository: wicket
Updated Branches:
refs/heads/wicket-7.x b13979ddf -> af3785aab
WICKET-5866 added #createConverter() without generics parameter for convenience
Project: http://git-wip-us.apache.org/repos/asf/wicket/repo
Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/af3785aa
Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/af3785aa
Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/af3785aa
Branch: refs/heads/wicket-7.x
Commit: af3785aabf1a4753fc266d20e969b75cfe5505cb
Parents: b13979d
Author: Sven Meier <sv...@apache.org>
Authored: Thu Jul 21 22:08:33 2016 +0200
Committer: Sven Meier <sv...@apache.org>
Committed: Thu Jul 21 22:09:05 2016 +0200
----------------------------------------------------------------------
.../main/java/org/apache/wicket/Component.java | 29 ++++++++++++++++----
.../wicket/markup/html/form/CheckBox.java | 11 ++------
...tComponentConvertEmptyStringsToNullTest.java | 5 ++--
.../datetime/markup/html/basic/DateLabel.java | 13 +++------
.../markup/html/form/DateTextField.java | 12 +++-----
.../extensions/yui/calendar/DateTimeField.java | 10 ++-----
.../wicket/examples/forminput/FormInput.java | 17 ++++--------
.../markup/html/form/DateTextField.java | 10 ++-----
8 files changed, 48 insertions(+), 59 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/wicket/blob/af3785aa/wicket-core/src/main/java/org/apache/wicket/Component.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/Component.java b/wicket-core/src/main/java/org/apache/wicket/Component.java
index ff77446..0fc5252 100644
--- a/wicket-core/src/main/java/org/apache/wicket/Component.java
+++ b/wicket-core/src/main/java/org/apache/wicket/Component.java
@@ -1360,20 +1360,39 @@ public abstract class Component
}
/**
- * Gets the converter that should be used by this component.
- *
+ * Get the converter that should be used by this component, delegates to
+ * {@link #createConverter(Class)} and then to the application's
+ * {@link IConverterLocator}.
+ *
* @param type
* The type to convert to
- *
+ *
* @return The converter that should be used by this component
*/
+ @SuppressWarnings("unchecked")
@Override
- public <C> IConverter<C> getConverter(Class<C> type)
- {
+ public <C> IConverter<C> getConverter(Class<C> type) {
+ IConverter<?> converter = createConverter(type);
+ if (converter != null) {
+ return (IConverter<C>) converter;
+ }
return getApplication().getConverterLocator().getConverter(type);
}
/**
+ * Factory method for converters to be used by this component,
+ * returns {@code null} by default.
+ *
+ * @param type
+ * The type to convert to
+ *
+ * @return a converter to be used by this component
+ */
+ protected IConverter<?> createConverter(Class<?> type) {
+ return null;
+ }
+
+ /**
* Gets whether model strings should be escaped.
*
* @return Returns whether model strings should be escaped
http://git-wip-us.apache.org/repos/asf/wicket/blob/af3785aa/wicket-core/src/main/java/org/apache/wicket/markup/html/form/CheckBox.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/CheckBox.java b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/CheckBox.java
index 310ccc9..47ee143 100644
--- a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/CheckBox.java
+++ b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/CheckBox.java
@@ -191,18 +191,13 @@ public class CheckBox extends FormComponent<Boolean> implements IOnChangeListene
* @see org.apache.wicket.Component#getConverter(java.lang.Class)
*/
@Override
- public final <C> IConverter<C> getConverter(Class<C> type)
+ public IConverter<?> createConverter(Class<?> type)
{
if (Boolean.class.equals(type))
{
- @SuppressWarnings("unchecked")
- IConverter<C> converter = (IConverter<C>)CheckBoxConverter.INSTANCE;
- return converter;
- }
- else
- {
- return super.getConverter(type);
+ return CheckBoxConverter.INSTANCE;
}
+ return null;
}
/**
http://git-wip-us.apache.org/repos/asf/wicket/blob/af3785aa/wicket-core/src/test/java/org/apache/wicket/markup/html/form/AbstractTextComponentConvertEmptyStringsToNullTest.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/test/java/org/apache/wicket/markup/html/form/AbstractTextComponentConvertEmptyStringsToNullTest.java b/wicket-core/src/test/java/org/apache/wicket/markup/html/form/AbstractTextComponentConvertEmptyStringsToNullTest.java
index cef3a4a..0603dbc 100644
--- a/wicket-core/src/test/java/org/apache/wicket/markup/html/form/AbstractTextComponentConvertEmptyStringsToNullTest.java
+++ b/wicket-core/src/test/java/org/apache/wicket/markup/html/form/AbstractTextComponentConvertEmptyStringsToNullTest.java
@@ -74,10 +74,9 @@ public class AbstractTextComponentConvertEmptyStringsToNullTest extends WicketTe
private static final long serialVersionUID = 1L;
@Override
- @SuppressWarnings("unchecked")
- public <C> IConverter<C> getConverter(Class<C> type)
+ public IConverter<?> createConverter(Class<?> type)
{
- return (IConverter<C>)new StringArrayConverter();
+ return new StringArrayConverter();
}
}.setConvertEmptyInputStringToNull(false));
}
http://git-wip-us.apache.org/repos/asf/wicket/blob/af3785aa/wicket-datetime/src/main/java/org/apache/wicket/datetime/markup/html/basic/DateLabel.java
----------------------------------------------------------------------
diff --git a/wicket-datetime/src/main/java/org/apache/wicket/datetime/markup/html/basic/DateLabel.java b/wicket-datetime/src/main/java/org/apache/wicket/datetime/markup/html/basic/DateLabel.java
index 6f5610b..c9c50a8 100644
--- a/wicket-datetime/src/main/java/org/apache/wicket/datetime/markup/html/basic/DateLabel.java
+++ b/wicket-datetime/src/main/java/org/apache/wicket/datetime/markup/html/basic/DateLabel.java
@@ -257,18 +257,13 @@ public class DateLabel extends Label implements IGenericComponent<Date>
* Returns the specialized converter.
*/
@Override
- public <C> IConverter<C> getConverter(Class<C> clazz)
+ public IConverter<?> createConverter(Class<?> type)
{
- if (Date.class.isAssignableFrom(clazz))
+ if (Date.class.isAssignableFrom(type))
{
- @SuppressWarnings("unchecked")
- IConverter<C> result = (IConverter<C>)converter;
- return result;
- }
- else
- {
- return super.getConverter(clazz);
+ return converter;
}
+ return null;
}
/**
http://git-wip-us.apache.org/repos/asf/wicket/blob/af3785aa/wicket-datetime/src/main/java/org/apache/wicket/datetime/markup/html/form/DateTextField.java
----------------------------------------------------------------------
diff --git a/wicket-datetime/src/main/java/org/apache/wicket/datetime/markup/html/form/DateTextField.java b/wicket-datetime/src/main/java/org/apache/wicket/datetime/markup/html/form/DateTextField.java
index c2ce854..8009813 100644
--- a/wicket-datetime/src/main/java/org/apache/wicket/datetime/markup/html/form/DateTextField.java
+++ b/wicket-datetime/src/main/java/org/apache/wicket/datetime/markup/html/form/DateTextField.java
@@ -220,20 +220,16 @@ public class DateTextField extends TextField<Date> implements ITextFormatProvide
/**
* @return The specialized converter.
- * @see org.apache.wicket.Component#getConverter(java.lang.Class)
+ * @see org.apache.wicket.Component#createConverter(java.lang.Class)
*/
- @SuppressWarnings("unchecked")
@Override
- public <C> IConverter<C> getConverter(Class<C> clazz)
+ public IConverter<?> createConverter(Class<?> clazz)
{
if (Date.class.isAssignableFrom(clazz))
{
- return (IConverter<C>)converter;
- }
- else
- {
- return super.getConverter(clazz);
+ return converter;
}
+ return null;
}
/**
http://git-wip-us.apache.org/repos/asf/wicket/blob/af3785aa/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/DateTimeField.java
----------------------------------------------------------------------
diff --git a/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/DateTimeField.java b/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/DateTimeField.java
index dfc00b4..746c5fd 100644
--- a/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/DateTimeField.java
+++ b/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/DateTimeField.java
@@ -226,18 +226,14 @@ public class DateTimeField extends FormComponentPanel<Date>
{
private static final long serialVersionUID = 1L;
- @SuppressWarnings("unchecked")
@Override
- public <C> IConverter<C> getConverter(Class<C> type)
+ public IConverter<?> createConverter(Class<?> type)
{
if (Integer.class.isAssignableFrom(type))
{
- return (IConverter<C>)MINUTES_CONVERTER;
- }
- else
- {
- return super.getConverter(type);
+ return MINUTES_CONVERTER;
}
+ return null;
}
};
minutesField.add(new RangeValidator<>(0, 59));
http://git-wip-us.apache.org/repos/asf/wicket/blob/af3785aa/wicket-examples/src/main/java/org/apache/wicket/examples/forminput/FormInput.java
----------------------------------------------------------------------
diff --git a/wicket-examples/src/main/java/org/apache/wicket/examples/forminput/FormInput.java b/wicket-examples/src/main/java/org/apache/wicket/examples/forminput/FormInput.java
index 9cbc294..d6dad11 100644
--- a/wicket-examples/src/main/java/org/apache/wicket/examples/forminput/FormInput.java
+++ b/wicket-examples/src/main/java/org/apache/wicket/examples/forminput/FormInput.java
@@ -148,18 +148,14 @@ public class FormInput extends WicketExamplePage
// TextField using a custom converter.
add(new TextField<URL>("urlProperty", URL.class)
{
- @SuppressWarnings("unchecked")
@Override
- public <C> IConverter<C> getConverter(final Class<C> type)
+ public IConverter<?> createConverter(Class<?> type)
{
if (URL.class.isAssignableFrom(type))
{
- return (IConverter<C>)URLConverter.INSTANCE;
- }
- else
- {
- return super.getConverter(type);
+ return URLConverter.INSTANCE;
}
+ return null;
}
});
@@ -168,17 +164,14 @@ public class FormInput extends WicketExamplePage
{
@Override
- public <C> IConverter<C> getConverter(final Class<C> type)
+ public IConverter<?> createConverter(Class<?> type)
{
if (UsPhoneNumber.class.isAssignableFrom(type))
{
// US telephone number mask
return new MaskConverter<>("(###) ###-####", UsPhoneNumber.class);
}
- else
- {
- return super.getConverter(type);
- }
+ return null;
}
});
http://git-wip-us.apache.org/repos/asf/wicket/blob/af3785aa/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/form/DateTextField.java
----------------------------------------------------------------------
diff --git a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/form/DateTextField.java b/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/form/DateTextField.java
index 762a5c7..23fea2b 100644
--- a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/form/DateTextField.java
+++ b/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/form/DateTextField.java
@@ -147,18 +147,14 @@ public class DateTextField extends TextField<Date> implements ITextFormatProvide
*
* @see org.apache.wicket.markup.html.form.TextField
*/
- @SuppressWarnings("unchecked")
@Override
- public <C> IConverter<C> getConverter(final Class<C> type)
+ public IConverter<?> createConverter(Class<?> type)
{
if (Date.class.isAssignableFrom(type))
{
- return (IConverter<C>)converter;
- }
- else
- {
- return super.getConverter(type);
+ return converter;
}
+ return null;
}
/**
Re: wicket git commit: WICKET-5866 added #createConverter() without
generics parameter for convenience
Posted by Sven Meier <sv...@meiers.net>.
Yes, you're right.
Thanks
Sven
On 22.07.2016 09:34, Martin Grigorov wrote:
> Hi Sven,
>
> I think the overrides of #createConverter() don't need to be 'public'.
> 'protected' is better.
>
> Martin Grigorov
> Wicket Training and Consulting
> https://twitter.com/mtgrigorov
>
> On Thu, Jul 21, 2016 at 10:22 PM, <sv...@apache.org> wrote:
>
>> Repository: wicket
>> Updated Branches:
>> refs/heads/wicket-7.x b13979ddf -> af3785aab
>>
>>
>> WICKET-5866 added #createConverter() without generics parameter for
>> convenience
>>
>>
>> Project: http://git-wip-us.apache.org/repos/asf/wicket/repo
>> Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/af3785aa
>> Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/af3785aa
>> Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/af3785aa
>>
>> Branch: refs/heads/wicket-7.x
>> Commit: af3785aabf1a4753fc266d20e969b75cfe5505cb
>> Parents: b13979d
>> Author: Sven Meier <sv...@apache.org>
>> Authored: Thu Jul 21 22:08:33 2016 +0200
>> Committer: Sven Meier <sv...@apache.org>
>> Committed: Thu Jul 21 22:09:05 2016 +0200
>>
>> ----------------------------------------------------------------------
>> .../main/java/org/apache/wicket/Component.java | 29 ++++++++++++++++----
>> .../wicket/markup/html/form/CheckBox.java | 11 ++------
>> ...tComponentConvertEmptyStringsToNullTest.java | 5 ++--
>> .../datetime/markup/html/basic/DateLabel.java | 13 +++------
>> .../markup/html/form/DateTextField.java | 12 +++-----
>> .../extensions/yui/calendar/DateTimeField.java | 10 ++-----
>> .../wicket/examples/forminput/FormInput.java | 17 ++++--------
>> .../markup/html/form/DateTextField.java | 10 ++-----
>> 8 files changed, 48 insertions(+), 59 deletions(-)
>> ----------------------------------------------------------------------
>>
>>
>>
>> http://git-wip-us.apache.org/repos/asf/wicket/blob/af3785aa/wicket-core/src/main/java/org/apache/wicket/Component.java
>> ----------------------------------------------------------------------
>> diff --git a/wicket-core/src/main/java/org/apache/wicket/Component.java
>> b/wicket-core/src/main/java/org/apache/wicket/Component.java
>> index ff77446..0fc5252 100644
>> --- a/wicket-core/src/main/java/org/apache/wicket/Component.java
>> +++ b/wicket-core/src/main/java/org/apache/wicket/Component.java
>> @@ -1360,20 +1360,39 @@ public abstract class Component
>> }
>>
>> /**
>> - * Gets the converter that should be used by this component.
>> - *
>> + * Get the converter that should be used by this component,
>> delegates to
>> + * {@link #createConverter(Class)} and then to the application's
>> + * {@link IConverterLocator}.
>> + *
>> * @param type
>> * The type to convert to
>> - *
>> + *
>> * @return The converter that should be used by this component
>> */
>> + @SuppressWarnings("unchecked")
>> @Override
>> - public <C> IConverter<C> getConverter(Class<C> type)
>> - {
>> + public <C> IConverter<C> getConverter(Class<C> type) {
>> + IConverter<?> converter = createConverter(type);
>> + if (converter != null) {
>> + return (IConverter<C>) converter;
>> + }
>> return
>> getApplication().getConverterLocator().getConverter(type);
>> }
>>
>> /**
>> + * Factory method for converters to be used by this component,
>> + * returns {@code null} by default.
>> + *
>> + * @param type
>> + * The type to convert to
>> + *
>> + * @return a converter to be used by this component
>> + */
>> + protected IConverter<?> createConverter(Class<?> type) {
>> + return null;
>> + }
>> +
>> + /**
>> * Gets whether model strings should be escaped.
>> *
>> * @return Returns whether model strings should be escaped
>>
>>
>> http://git-wip-us.apache.org/repos/asf/wicket/blob/af3785aa/wicket-core/src/main/java/org/apache/wicket/markup/html/form/CheckBox.java
>> ----------------------------------------------------------------------
>> diff --git
>> a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/CheckBox.java
>> b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/CheckBox.java
>> index 310ccc9..47ee143 100644
>> ---
>> a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/CheckBox.java
>> +++
>> b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/CheckBox.java
>> @@ -191,18 +191,13 @@ public class CheckBox extends FormComponent<Boolean>
>> implements IOnChangeListene
>> * @see org.apache.wicket.Component#getConverter(java.lang.Class)
>> */
>> @Override
>> - public final <C> IConverter<C> getConverter(Class<C> type)
>> + public IConverter<?> createConverter(Class<?> type)
>> {
>> if (Boolean.class.equals(type))
>> {
>> - @SuppressWarnings("unchecked")
>> - IConverter<C> converter =
>> (IConverter<C>)CheckBoxConverter.INSTANCE;
>> - return converter;
>> - }
>> - else
>> - {
>> - return super.getConverter(type);
>> + return CheckBoxConverter.INSTANCE;
>> }
>> + return null;
>> }
>>
>> /**
>>
>>
>> http://git-wip-us.apache.org/repos/asf/wicket/blob/af3785aa/wicket-core/src/test/java/org/apache/wicket/markup/html/form/AbstractTextComponentConvertEmptyStringsToNullTest.java
>> ----------------------------------------------------------------------
>> diff --git
>> a/wicket-core/src/test/java/org/apache/wicket/markup/html/form/AbstractTextComponentConvertEmptyStringsToNullTest.java
>> b/wicket-core/src/test/java/org/apache/wicket/markup/html/form/AbstractTextComponentConvertEmptyStringsToNullTest.java
>> index cef3a4a..0603dbc 100644
>> ---
>> a/wicket-core/src/test/java/org/apache/wicket/markup/html/form/AbstractTextComponentConvertEmptyStringsToNullTest.java
>> +++
>> b/wicket-core/src/test/java/org/apache/wicket/markup/html/form/AbstractTextComponentConvertEmptyStringsToNullTest.java
>> @@ -74,10 +74,9 @@ public class
>> AbstractTextComponentConvertEmptyStringsToNullTest extends WicketTe
>> private static final long serialVersionUID
>> = 1L;
>>
>> @Override
>> - @SuppressWarnings("unchecked")
>> - public <C> IConverter<C>
>> getConverter(Class<C> type)
>> + public IConverter<?>
>> createConverter(Class<?> type)
>> {
>> - return (IConverter<C>)new
>> StringArrayConverter();
>> + return new StringArrayConverter();
>> }
>> }.setConvertEmptyInputStringToNull(false));
>> }
>>
>>
>> http://git-wip-us.apache.org/repos/asf/wicket/blob/af3785aa/wicket-datetime/src/main/java/org/apache/wicket/datetime/markup/html/basic/DateLabel.java
>> ----------------------------------------------------------------------
>> diff --git
>> a/wicket-datetime/src/main/java/org/apache/wicket/datetime/markup/html/basic/DateLabel.java
>> b/wicket-datetime/src/main/java/org/apache/wicket/datetime/markup/html/basic/DateLabel.java
>> index 6f5610b..c9c50a8 100644
>> ---
>> a/wicket-datetime/src/main/java/org/apache/wicket/datetime/markup/html/basic/DateLabel.java
>> +++
>> b/wicket-datetime/src/main/java/org/apache/wicket/datetime/markup/html/basic/DateLabel.java
>> @@ -257,18 +257,13 @@ public class DateLabel extends Label implements
>> IGenericComponent<Date>
>> * Returns the specialized converter.
>> */
>> @Override
>> - public <C> IConverter<C> getConverter(Class<C> clazz)
>> + public IConverter<?> createConverter(Class<?> type)
>> {
>> - if (Date.class.isAssignableFrom(clazz))
>> + if (Date.class.isAssignableFrom(type))
>> {
>> - @SuppressWarnings("unchecked")
>> - IConverter<C> result = (IConverter<C>)converter;
>> - return result;
>> - }
>> - else
>> - {
>> - return super.getConverter(clazz);
>> + return converter;
>> }
>> + return null;
>> }
>>
>> /**
>>
>>
>> http://git-wip-us.apache.org/repos/asf/wicket/blob/af3785aa/wicket-datetime/src/main/java/org/apache/wicket/datetime/markup/html/form/DateTextField.java
>> ----------------------------------------------------------------------
>> diff --git
>> a/wicket-datetime/src/main/java/org/apache/wicket/datetime/markup/html/form/DateTextField.java
>> b/wicket-datetime/src/main/java/org/apache/wicket/datetime/markup/html/form/DateTextField.java
>> index c2ce854..8009813 100644
>> ---
>> a/wicket-datetime/src/main/java/org/apache/wicket/datetime/markup/html/form/DateTextField.java
>> +++
>> b/wicket-datetime/src/main/java/org/apache/wicket/datetime/markup/html/form/DateTextField.java
>> @@ -220,20 +220,16 @@ public class DateTextField extends TextField<Date>
>> implements ITextFormatProvide
>>
>> /**
>> * @return The specialized converter.
>> - * @see org.apache.wicket.Component#getConverter(java.lang.Class)
>> + * @see
>> org.apache.wicket.Component#createConverter(java.lang.Class)
>> */
>> - @SuppressWarnings("unchecked")
>> @Override
>> - public <C> IConverter<C> getConverter(Class<C> clazz)
>> + public IConverter<?> createConverter(Class<?> clazz)
>> {
>> if (Date.class.isAssignableFrom(clazz))
>> {
>> - return (IConverter<C>)converter;
>> - }
>> - else
>> - {
>> - return super.getConverter(clazz);
>> + return converter;
>> }
>> + return null;
>> }
>>
>> /**
>>
>>
>> http://git-wip-us.apache.org/repos/asf/wicket/blob/af3785aa/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/DateTimeField.java
>> ----------------------------------------------------------------------
>> diff --git
>> a/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/DateTimeField.java
>> b/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/DateTimeField.java
>> index dfc00b4..746c5fd 100644
>> ---
>> a/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/DateTimeField.java
>> +++
>> b/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/DateTimeField.java
>> @@ -226,18 +226,14 @@ public class DateTimeField extends
>> FormComponentPanel<Date>
>> {
>> private static final long serialVersionUID = 1L;
>>
>> - @SuppressWarnings("unchecked")
>> @Override
>> - public <C> IConverter<C> getConverter(Class<C>
>> type)
>> + public IConverter<?> createConverter(Class<?> type)
>> {
>> if (Integer.class.isAssignableFrom(type))
>> {
>> - return
>> (IConverter<C>)MINUTES_CONVERTER;
>> - }
>> - else
>> - {
>> - return super.getConverter(type);
>> + return MINUTES_CONVERTER;
>> }
>> + return null;
>> }
>> };
>> minutesField.add(new RangeValidator<>(0, 59));
>>
>>
>> http://git-wip-us.apache.org/repos/asf/wicket/blob/af3785aa/wicket-examples/src/main/java/org/apache/wicket/examples/forminput/FormInput.java
>> ----------------------------------------------------------------------
>> diff --git
>> a/wicket-examples/src/main/java/org/apache/wicket/examples/forminput/FormInput.java
>> b/wicket-examples/src/main/java/org/apache/wicket/examples/forminput/FormInput.java
>> index 9cbc294..d6dad11 100644
>> ---
>> a/wicket-examples/src/main/java/org/apache/wicket/examples/forminput/FormInput.java
>> +++
>> b/wicket-examples/src/main/java/org/apache/wicket/examples/forminput/FormInput.java
>> @@ -148,18 +148,14 @@ public class FormInput extends WicketExamplePage
>> // TextField using a custom converter.
>> add(new TextField<URL>("urlProperty", URL.class)
>> {
>> - @SuppressWarnings("unchecked")
>> @Override
>> - public <C> IConverter<C>
>> getConverter(final Class<C> type)
>> + public IConverter<?>
>> createConverter(Class<?> type)
>> {
>> if
>> (URL.class.isAssignableFrom(type))
>> {
>> - return
>> (IConverter<C>)URLConverter.INSTANCE;
>> - }
>> - else
>> - {
>> - return
>> super.getConverter(type);
>> + return
>> URLConverter.INSTANCE;
>> }
>> + return null;
>> }
>> });
>>
>> @@ -168,17 +164,14 @@ public class FormInput extends WicketExamplePage
>> {
>>
>> @Override
>> - public <C> IConverter<C>
>> getConverter(final Class<C> type)
>> + public IConverter<?>
>> createConverter(Class<?> type)
>> {
>> if
>> (UsPhoneNumber.class.isAssignableFrom(type))
>> {
>> // US telephone number mask
>> return new
>> MaskConverter<>("(###) ###-####", UsPhoneNumber.class);
>> }
>> - else
>> - {
>> - return
>> super.getConverter(type);
>> - }
>> + return null;
>> }
>> });
>>
>>
>>
>> http://git-wip-us.apache.org/repos/asf/wicket/blob/af3785aa/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/form/DateTextField.java
>> ----------------------------------------------------------------------
>> diff --git
>> a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/form/DateTextField.java
>> b/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/form/DateTextField.java
>> index 762a5c7..23fea2b 100644
>> ---
>> a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/form/DateTextField.java
>> +++
>> b/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/form/DateTextField.java
>> @@ -147,18 +147,14 @@ public class DateTextField extends TextField<Date>
>> implements ITextFormatProvide
>> *
>> * @see org.apache.wicket.markup.html.form.TextField
>> */
>> - @SuppressWarnings("unchecked")
>> @Override
>> - public <C> IConverter<C> getConverter(final Class<C> type)
>> + public IConverter<?> createConverter(Class<?> type)
>> {
>> if (Date.class.isAssignableFrom(type))
>> {
>> - return (IConverter<C>)converter;
>> - }
>> - else
>> - {
>> - return super.getConverter(type);
>> + return converter;
>> }
>> + return null;
>> }
>>
>> /**
>>
>>
Re: wicket git commit: WICKET-5866 added #createConverter() without
generics parameter for convenience
Posted by Martin Grigorov <mg...@apache.org>.
Hi Sven,
I think the overrides of #createConverter() don't need to be 'public'.
'protected' is better.
Martin Grigorov
Wicket Training and Consulting
https://twitter.com/mtgrigorov
On Thu, Jul 21, 2016 at 10:22 PM, <sv...@apache.org> wrote:
> Repository: wicket
> Updated Branches:
> refs/heads/wicket-7.x b13979ddf -> af3785aab
>
>
> WICKET-5866 added #createConverter() without generics parameter for
> convenience
>
>
> Project: http://git-wip-us.apache.org/repos/asf/wicket/repo
> Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/af3785aa
> Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/af3785aa
> Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/af3785aa
>
> Branch: refs/heads/wicket-7.x
> Commit: af3785aabf1a4753fc266d20e969b75cfe5505cb
> Parents: b13979d
> Author: Sven Meier <sv...@apache.org>
> Authored: Thu Jul 21 22:08:33 2016 +0200
> Committer: Sven Meier <sv...@apache.org>
> Committed: Thu Jul 21 22:09:05 2016 +0200
>
> ----------------------------------------------------------------------
> .../main/java/org/apache/wicket/Component.java | 29 ++++++++++++++++----
> .../wicket/markup/html/form/CheckBox.java | 11 ++------
> ...tComponentConvertEmptyStringsToNullTest.java | 5 ++--
> .../datetime/markup/html/basic/DateLabel.java | 13 +++------
> .../markup/html/form/DateTextField.java | 12 +++-----
> .../extensions/yui/calendar/DateTimeField.java | 10 ++-----
> .../wicket/examples/forminput/FormInput.java | 17 ++++--------
> .../markup/html/form/DateTextField.java | 10 ++-----
> 8 files changed, 48 insertions(+), 59 deletions(-)
> ----------------------------------------------------------------------
>
>
>
> http://git-wip-us.apache.org/repos/asf/wicket/blob/af3785aa/wicket-core/src/main/java/org/apache/wicket/Component.java
> ----------------------------------------------------------------------
> diff --git a/wicket-core/src/main/java/org/apache/wicket/Component.java
> b/wicket-core/src/main/java/org/apache/wicket/Component.java
> index ff77446..0fc5252 100644
> --- a/wicket-core/src/main/java/org/apache/wicket/Component.java
> +++ b/wicket-core/src/main/java/org/apache/wicket/Component.java
> @@ -1360,20 +1360,39 @@ public abstract class Component
> }
>
> /**
> - * Gets the converter that should be used by this component.
> - *
> + * Get the converter that should be used by this component,
> delegates to
> + * {@link #createConverter(Class)} and then to the application's
> + * {@link IConverterLocator}.
> + *
> * @param type
> * The type to convert to
> - *
> + *
> * @return The converter that should be used by this component
> */
> + @SuppressWarnings("unchecked")
> @Override
> - public <C> IConverter<C> getConverter(Class<C> type)
> - {
> + public <C> IConverter<C> getConverter(Class<C> type) {
> + IConverter<?> converter = createConverter(type);
> + if (converter != null) {
> + return (IConverter<C>) converter;
> + }
> return
> getApplication().getConverterLocator().getConverter(type);
> }
>
> /**
> + * Factory method for converters to be used by this component,
> + * returns {@code null} by default.
> + *
> + * @param type
> + * The type to convert to
> + *
> + * @return a converter to be used by this component
> + */
> + protected IConverter<?> createConverter(Class<?> type) {
> + return null;
> + }
> +
> + /**
> * Gets whether model strings should be escaped.
> *
> * @return Returns whether model strings should be escaped
>
>
> http://git-wip-us.apache.org/repos/asf/wicket/blob/af3785aa/wicket-core/src/main/java/org/apache/wicket/markup/html/form/CheckBox.java
> ----------------------------------------------------------------------
> diff --git
> a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/CheckBox.java
> b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/CheckBox.java
> index 310ccc9..47ee143 100644
> ---
> a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/CheckBox.java
> +++
> b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/CheckBox.java
> @@ -191,18 +191,13 @@ public class CheckBox extends FormComponent<Boolean>
> implements IOnChangeListene
> * @see org.apache.wicket.Component#getConverter(java.lang.Class)
> */
> @Override
> - public final <C> IConverter<C> getConverter(Class<C> type)
> + public IConverter<?> createConverter(Class<?> type)
> {
> if (Boolean.class.equals(type))
> {
> - @SuppressWarnings("unchecked")
> - IConverter<C> converter =
> (IConverter<C>)CheckBoxConverter.INSTANCE;
> - return converter;
> - }
> - else
> - {
> - return super.getConverter(type);
> + return CheckBoxConverter.INSTANCE;
> }
> + return null;
> }
>
> /**
>
>
> http://git-wip-us.apache.org/repos/asf/wicket/blob/af3785aa/wicket-core/src/test/java/org/apache/wicket/markup/html/form/AbstractTextComponentConvertEmptyStringsToNullTest.java
> ----------------------------------------------------------------------
> diff --git
> a/wicket-core/src/test/java/org/apache/wicket/markup/html/form/AbstractTextComponentConvertEmptyStringsToNullTest.java
> b/wicket-core/src/test/java/org/apache/wicket/markup/html/form/AbstractTextComponentConvertEmptyStringsToNullTest.java
> index cef3a4a..0603dbc 100644
> ---
> a/wicket-core/src/test/java/org/apache/wicket/markup/html/form/AbstractTextComponentConvertEmptyStringsToNullTest.java
> +++
> b/wicket-core/src/test/java/org/apache/wicket/markup/html/form/AbstractTextComponentConvertEmptyStringsToNullTest.java
> @@ -74,10 +74,9 @@ public class
> AbstractTextComponentConvertEmptyStringsToNullTest extends WicketTe
> private static final long serialVersionUID
> = 1L;
>
> @Override
> - @SuppressWarnings("unchecked")
> - public <C> IConverter<C>
> getConverter(Class<C> type)
> + public IConverter<?>
> createConverter(Class<?> type)
> {
> - return (IConverter<C>)new
> StringArrayConverter();
> + return new StringArrayConverter();
> }
> }.setConvertEmptyInputStringToNull(false));
> }
>
>
> http://git-wip-us.apache.org/repos/asf/wicket/blob/af3785aa/wicket-datetime/src/main/java/org/apache/wicket/datetime/markup/html/basic/DateLabel.java
> ----------------------------------------------------------------------
> diff --git
> a/wicket-datetime/src/main/java/org/apache/wicket/datetime/markup/html/basic/DateLabel.java
> b/wicket-datetime/src/main/java/org/apache/wicket/datetime/markup/html/basic/DateLabel.java
> index 6f5610b..c9c50a8 100644
> ---
> a/wicket-datetime/src/main/java/org/apache/wicket/datetime/markup/html/basic/DateLabel.java
> +++
> b/wicket-datetime/src/main/java/org/apache/wicket/datetime/markup/html/basic/DateLabel.java
> @@ -257,18 +257,13 @@ public class DateLabel extends Label implements
> IGenericComponent<Date>
> * Returns the specialized converter.
> */
> @Override
> - public <C> IConverter<C> getConverter(Class<C> clazz)
> + public IConverter<?> createConverter(Class<?> type)
> {
> - if (Date.class.isAssignableFrom(clazz))
> + if (Date.class.isAssignableFrom(type))
> {
> - @SuppressWarnings("unchecked")
> - IConverter<C> result = (IConverter<C>)converter;
> - return result;
> - }
> - else
> - {
> - return super.getConverter(clazz);
> + return converter;
> }
> + return null;
> }
>
> /**
>
>
> http://git-wip-us.apache.org/repos/asf/wicket/blob/af3785aa/wicket-datetime/src/main/java/org/apache/wicket/datetime/markup/html/form/DateTextField.java
> ----------------------------------------------------------------------
> diff --git
> a/wicket-datetime/src/main/java/org/apache/wicket/datetime/markup/html/form/DateTextField.java
> b/wicket-datetime/src/main/java/org/apache/wicket/datetime/markup/html/form/DateTextField.java
> index c2ce854..8009813 100644
> ---
> a/wicket-datetime/src/main/java/org/apache/wicket/datetime/markup/html/form/DateTextField.java
> +++
> b/wicket-datetime/src/main/java/org/apache/wicket/datetime/markup/html/form/DateTextField.java
> @@ -220,20 +220,16 @@ public class DateTextField extends TextField<Date>
> implements ITextFormatProvide
>
> /**
> * @return The specialized converter.
> - * @see org.apache.wicket.Component#getConverter(java.lang.Class)
> + * @see
> org.apache.wicket.Component#createConverter(java.lang.Class)
> */
> - @SuppressWarnings("unchecked")
> @Override
> - public <C> IConverter<C> getConverter(Class<C> clazz)
> + public IConverter<?> createConverter(Class<?> clazz)
> {
> if (Date.class.isAssignableFrom(clazz))
> {
> - return (IConverter<C>)converter;
> - }
> - else
> - {
> - return super.getConverter(clazz);
> + return converter;
> }
> + return null;
> }
>
> /**
>
>
> http://git-wip-us.apache.org/repos/asf/wicket/blob/af3785aa/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/DateTimeField.java
> ----------------------------------------------------------------------
> diff --git
> a/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/DateTimeField.java
> b/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/DateTimeField.java
> index dfc00b4..746c5fd 100644
> ---
> a/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/DateTimeField.java
> +++
> b/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/DateTimeField.java
> @@ -226,18 +226,14 @@ public class DateTimeField extends
> FormComponentPanel<Date>
> {
> private static final long serialVersionUID = 1L;
>
> - @SuppressWarnings("unchecked")
> @Override
> - public <C> IConverter<C> getConverter(Class<C>
> type)
> + public IConverter<?> createConverter(Class<?> type)
> {
> if (Integer.class.isAssignableFrom(type))
> {
> - return
> (IConverter<C>)MINUTES_CONVERTER;
> - }
> - else
> - {
> - return super.getConverter(type);
> + return MINUTES_CONVERTER;
> }
> + return null;
> }
> };
> minutesField.add(new RangeValidator<>(0, 59));
>
>
> http://git-wip-us.apache.org/repos/asf/wicket/blob/af3785aa/wicket-examples/src/main/java/org/apache/wicket/examples/forminput/FormInput.java
> ----------------------------------------------------------------------
> diff --git
> a/wicket-examples/src/main/java/org/apache/wicket/examples/forminput/FormInput.java
> b/wicket-examples/src/main/java/org/apache/wicket/examples/forminput/FormInput.java
> index 9cbc294..d6dad11 100644
> ---
> a/wicket-examples/src/main/java/org/apache/wicket/examples/forminput/FormInput.java
> +++
> b/wicket-examples/src/main/java/org/apache/wicket/examples/forminput/FormInput.java
> @@ -148,18 +148,14 @@ public class FormInput extends WicketExamplePage
> // TextField using a custom converter.
> add(new TextField<URL>("urlProperty", URL.class)
> {
> - @SuppressWarnings("unchecked")
> @Override
> - public <C> IConverter<C>
> getConverter(final Class<C> type)
> + public IConverter<?>
> createConverter(Class<?> type)
> {
> if
> (URL.class.isAssignableFrom(type))
> {
> - return
> (IConverter<C>)URLConverter.INSTANCE;
> - }
> - else
> - {
> - return
> super.getConverter(type);
> + return
> URLConverter.INSTANCE;
> }
> + return null;
> }
> });
>
> @@ -168,17 +164,14 @@ public class FormInput extends WicketExamplePage
> {
>
> @Override
> - public <C> IConverter<C>
> getConverter(final Class<C> type)
> + public IConverter<?>
> createConverter(Class<?> type)
> {
> if
> (UsPhoneNumber.class.isAssignableFrom(type))
> {
> // US telephone number mask
> return new
> MaskConverter<>("(###) ###-####", UsPhoneNumber.class);
> }
> - else
> - {
> - return
> super.getConverter(type);
> - }
> + return null;
> }
> });
>
>
>
> http://git-wip-us.apache.org/repos/asf/wicket/blob/af3785aa/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/form/DateTextField.java
> ----------------------------------------------------------------------
> diff --git
> a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/form/DateTextField.java
> b/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/form/DateTextField.java
> index 762a5c7..23fea2b 100644
> ---
> a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/form/DateTextField.java
> +++
> b/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/form/DateTextField.java
> @@ -147,18 +147,14 @@ public class DateTextField extends TextField<Date>
> implements ITextFormatProvide
> *
> * @see org.apache.wicket.markup.html.form.TextField
> */
> - @SuppressWarnings("unchecked")
> @Override
> - public <C> IConverter<C> getConverter(final Class<C> type)
> + public IConverter<?> createConverter(Class<?> type)
> {
> if (Date.class.isAssignableFrom(type))
> {
> - return (IConverter<C>)converter;
> - }
> - else
> - {
> - return super.getConverter(type);
> + return converter;
> }
> + return null;
> }
>
> /**
>
>