Author: mgrigorov
Date: Sat Dec 11 19:03:01 2010
New Revision: 1044694
URL: http://svn.apache.org/viewvc?rev=1044694&view=rev
Log:
WICKET-3233 In extensions, Select extends FormComponent but FormComponent has
no type parameter
Add generics to Select component.
Modified:
wicket/trunk/wicket-examples/src/main/java/org/apache/wicket/examples/compref/SelectPage.java
wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/form/select/Select.java
wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/form/select/SelectOption.java
Modified:
wicket/trunk/wicket-examples/src/main/java/org/apache/wicket/examples/compref/SelectPage.java
URL:
http://svn.apache.org/viewvc/wicket/trunk/wicket-examples/src/main/java/org/apache/wicket/examples/compref/SelectPage.java?rev=1044694&r1=1044693&r2=1044694&view=diff
==============================================================================
---
wicket/trunk/wicket-examples/src/main/java/org/apache/wicket/examples/compref/SelectPage.java
(original)
+++
wicket/trunk/wicket-examples/src/main/java/org/apache/wicket/examples/compref/SelectPage.java
Sat Dec 11 19:03:01 2010
@@ -65,8 +65,10 @@ public class SelectPage extends WicketEx
add(feedbackPanel);
// Add a form with an onSubmit implementation that sets a
message
- Form<?> form = new Form("form")
+ Form<?> form = new Form<Void>("form")
{
+ private static final long serialVersionUID = 1L;
+
@Override
protected void onSubmit()
{
@@ -75,17 +77,19 @@ public class SelectPage extends WicketEx
};
add(form);
- Select site = new Select("site");
+ Select<String> site = new Select<String>("site");
form.add(site);
site.add(new SelectOption<String>("site1", new
Model<String>("tss")));
site.add(new SelectOption<String>("site2", new
Model<String>("jl")));
site.add(new SelectOption<String>("site3", new
Model<String>("sd")));
site.add(new SelectOption<String>("site4", new
Model<String>("bn")));
- Select choices = new Select("choices");
+ Select<List<String>> choices = new
Select<List<String>>("choices");
form.add(choices);
IOptionRenderer<String> renderer = new IOptionRenderer<String>()
{
+ private static final long serialVersionUID = 1L;
+
public String getDisplayValue(String object)
{
return object;
@@ -106,6 +110,8 @@ public class SelectPage extends WicketEx
/** Simple data class that acts as a model for the input fields. */
private static class Input implements IClusterable
{
+ private static final long serialVersionUID = 1L;
+
/** the selected sites. */
public String site = "sd";
@@ -131,7 +137,7 @@ public class SelectPage extends WicketEx
private String listAsString(List<String> list)
{
- StringBuilder b = new StringBuilder();
+ StringBuilder b = new StringBuilder();
for (Iterator<String> i = list.iterator(); i.hasNext();)
{
b.append(i.next());
Modified:
wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/form/select/Select.java
URL:
http://svn.apache.org/viewvc/wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/form/select/Select.java?rev=1044694&r1=1044693&r2=1044694&view=diff
==============================================================================
---
wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/form/select/Select.java
(original)
+++
wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/form/select/Select.java
Sat Dec 11 19:03:01 2010
@@ -66,8 +66,9 @@ import org.apache.wicket.util.string.Str
* @see SelectOptions
*
* @author Igor Vaynberg
+ * @param <T>
*/
-public class Select extends FormComponent
+public class Select<T> extends FormComponent<T>
{
private static final long serialVersionUID = 1L;
@@ -83,9 +84,11 @@ public class Select extends FormComponen
}
/**
+ * @param id
+ * @param model
* @see WebMarkupContainer#WebMarkupContainer(String, IModel)
*/
- public Select(String id, IModel model)
+ public Select(String id, IModel<T> model)
{
super(id, model);
}
@@ -93,7 +96,7 @@ public class Select extends FormComponen
@Override
protected void convertInput()
{
- boolean supportsMultiple = getDefaultModelObject() instanceof
Collection;
+ boolean supportsMultiple = getModelObject() instanceof
Collection;
/*
* the input contains an array of full path of the selected
option components unless nothing
@@ -115,7 +118,7 @@ public class Select extends FormComponen
"] is not of type java.util.Collection,
but more then one SelectOption component has been selected. Either remove the
multiple attribute from the select tag or make the model of the Select
component a collection");
}
- List converted = new ArrayList(paths.length);
+ List<Object> converted = new ArrayList<Object>(paths.length);
/*
* if the input is null we do not need to do anything since the
model collection has already
@@ -132,7 +135,7 @@ public class Select extends FormComponen
path = path.substring(getPath().length() + 1);
// retrieve the selected option component
- SelectOption option = (SelectOption) get(path);
+ SelectOption<?> option =
(SelectOption<?>)get(path);
if (option == null)
{
@@ -155,11 +158,11 @@ public class Select extends FormComponen
}
else if (!supportsMultiple)
{
- setConvertedInput(converted.get(0));
+ setConvertedInput((T)converted.get(0));
}
else
{
- setConvertedInput(converted);
+ setConvertedInput((T)converted);
}
}
@@ -179,7 +182,7 @@ public class Select extends FormComponen
*/
if (supportsMultiple)
{
- Collection modelCollection = (Collection)object;
+ Collection<?> modelCollection = (Collection<?>)object;
modelChanging();
modelCollection.clear();
if (converted != null)
@@ -202,7 +205,7 @@ public class Select extends FormComponen
* @param option
* @return true if the option is selected, false otherwise
*/
- boolean isSelected(SelectOption option)
+ boolean isSelected(SelectOption<?> option)
{
// if the raw input is specified use that, otherwise use model
if (hasRawInput())
@@ -230,11 +233,11 @@ public class Select extends FormComponen
{
if (value instanceof Collection)
{
- return
((Collection)selected).containsAll((Collection)value);
+ return
((Collection<?>)selected).containsAll((Collection<?>)value);
}
else
{
- return ((Collection)selected).contains(value);
+ return
((Collection<?>)selected).contains(value);
}
}
else
Modified:
wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/form/select/SelectOption.java
URL:
http://svn.apache.org/viewvc/wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/form/select/SelectOption.java?rev=1044694&r1=1044693&r2=1044694&view=diff
==============================================================================
---
wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/form/select/SelectOption.java
(original)
+++
wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/form/select/SelectOption.java
Sat Dec 11 19:03:01 2010
@@ -66,7 +66,7 @@ public class SelectOption<T> extends Web
// must be attached to <option .../> tag
checkComponentTag(tag, "option");
- Select select = findParent(Select.class);
+ Select<?> select = findParent(Select.class);
if (select == null)
{
throw new WicketRuntimeException(