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 2014/07/26 23:45:02 UTC

[2/2] git commit: WICKET-5350 adjust components' wildcards

WICKET-5350 adjust components' wildcards

Project: http://git-wip-us.apache.org/repos/asf/wicket/repo
Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/a04fc96a
Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/a04fc96a
Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/a04fc96a

Branch: refs/heads/WICKET-5350-wildcards
Commit: a04fc96a7289c5c0f46511a6e70f3cee542d0c9a
Parents: 0623140
Author: svenmeier <sv...@meiers.net>
Authored: Sat Jul 26 23:44:00 2014 +0200
Committer: svenmeier <sv...@meiers.net>
Committed: Sat Jul 26 23:44:00 2014 +0200

----------------------------------------------------------------------
 .../wicket/markup/html/form/AbstractChoice.java     | 16 ++++++++--------
 .../apache/wicket/markup/html/form/CheckGroup.java  |  2 +-
 .../markup/html/form/upload/FileUploadField.java    |  5 +++--
 .../apache/wicket/markup/html/list/ListView.java    | 10 +++++-----
 .../wicket/markup/html/list/PageableListView.java   |  4 ++--
 .../wicket/markup/html/list/PropertyListView.java   |  4 ++--
 .../markup/repeater/AbstractPageableView.java       |  2 +-
 .../wicket/markup/repeater/RefreshingView.java      |  3 ++-
 .../markup/repeater/data/ListDataProvider.java      |  2 +-
 .../markup/html/form/ListMultipleChoiceTest.java    |  4 ++--
 .../wicket/extensions/yui/calendar/DatesPage1.java  |  2 +-
 .../wicket/examples/ajax/builtin/ChoicePage.java    |  4 ++--
 .../examples/compref/CheckBoxSelectorPage.java      |  2 +-
 .../apache/wicket/examples/compref/SelectPage.java  |  8 ++++----
 .../org/apache/wicket/examples/dates/DatesPage.java |  2 +-
 .../ajax/markup/html/AjaxEditableChoiceLabel.java   |  6 +++---
 .../markup/html/form/palette/Palette.java           | 11 +++++------
 .../form/palette/component/AbstractOptions.java     |  2 +-
 .../html/form/palette/component/Recorder.java       |  6 +++---
 .../markup/html/form/select/SelectOption.java       |  2 +-
 .../markup/html/form/select/SelectOptions.java      | 14 +++++++-------
 .../repeater/data/table/filter/ChoiceFilter.java    | 10 ++++++----
 .../table/filter/ChoiceFilteredPropertyColumn.java  |  8 ++++----
 .../html/repeater/data/table/DataTableTest.java     |  5 +++--
 24 files changed, 69 insertions(+), 65 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/a04fc96a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/AbstractChoice.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/AbstractChoice.java b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/AbstractChoice.java
index e29c7fb..ee566db 100644
--- a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/AbstractChoice.java
+++ b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/AbstractChoice.java
@@ -22,7 +22,7 @@ import java.util.List;
 import org.apache.wicket.markup.ComponentTag;
 import org.apache.wicket.markup.MarkupStream;
 import org.apache.wicket.model.IModel;
-import org.apache.wicket.model.util.WildcardListModel;
+import org.apache.wicket.model.util.ListModel;
 import org.apache.wicket.util.convert.IConverter;
 import org.apache.wicket.util.string.AppendingStringBuffer;
 import org.apache.wicket.util.string.Strings;
@@ -90,7 +90,7 @@ public abstract class AbstractChoice<T, E> extends FormComponent<T>
 	 */
 	public AbstractChoice(final String id)
 	{
-		this(id, new WildcardListModel<>(new ArrayList<E>()), new ChoiceRenderer<E>());
+		this(id, new ListModel<>(new ArrayList<E>()), new ChoiceRenderer<E>());
 	}
 
 	/**
@@ -103,7 +103,7 @@ public abstract class AbstractChoice<T, E> extends FormComponent<T>
 	 */
 	public AbstractChoice(final String id, final List<? extends E> choices)
 	{
-		this(id, new WildcardListModel<>(choices), new ChoiceRenderer<E>());
+		this(id, new ListModel<>(choices), new ChoiceRenderer<E>());
 	}
 
 	/**
@@ -119,7 +119,7 @@ public abstract class AbstractChoice<T, E> extends FormComponent<T>
 	public AbstractChoice(final String id, final List<? extends E> choices,
 		final IChoiceRenderer<? super E> renderer)
 	{
-		this(id, new WildcardListModel<>(choices), renderer);
+		this(id, new ListModel<>(choices), renderer);
 	}
 
 	/**
@@ -134,7 +134,7 @@ public abstract class AbstractChoice<T, E> extends FormComponent<T>
 	 */
 	public AbstractChoice(final String id, IModel<T> model, final List<? extends E> choices)
 	{
-		this(id, model, new WildcardListModel<>(choices), new ChoiceRenderer<E>());
+		this(id, model, new ListModel<>(choices), new ChoiceRenderer<E>());
 	}
 
 	/**
@@ -152,7 +152,7 @@ public abstract class AbstractChoice<T, E> extends FormComponent<T>
 	public AbstractChoice(final String id, IModel<T> model, final List<? extends E> choices,
 		final IChoiceRenderer<? super E> renderer)
 	{
-		this(id, model, new WildcardListModel<>(choices), renderer);
+		this(id, model, new ListModel<>(choices), renderer);
 	}
 
 	/**
@@ -271,7 +271,7 @@ public abstract class AbstractChoice<T, E> extends FormComponent<T>
 	 *            the list of choices
 	 * @return this for chaining
 	 */
-	public final AbstractChoice<T, E> setChoices(List<E> choices)
+	public final AbstractChoice<T, E> setChoices(List<? extends E> choices)
 	{
 		if ((this.choices != null))
 		{
@@ -280,7 +280,7 @@ public abstract class AbstractChoice<T, E> extends FormComponent<T>
 				addStateChange();
 			}
 		}
-		this.choices = new WildcardListModel<>(choices);
+		this.choices = new ListModel<>(choices);
 		return this;
 	}
 

http://git-wip-us.apache.org/repos/asf/wicket/blob/a04fc96a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/CheckGroup.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/CheckGroup.java b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/CheckGroup.java
index cec0f48..d7b6bf5 100644
--- a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/CheckGroup.java
+++ b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/CheckGroup.java
@@ -225,7 +225,7 @@ public class CheckGroup<T> extends FormComponent<Collection<T>> implements IOnCh
 	 * 
 	 * @see #wantOnSelectionChangedNotifications()
 	 */
-	protected void onSelectionChanged(final Collection<? extends T> newSelection)
+	protected void onSelectionChanged(final Collection<T> newSelection)
 	{
 	}
 

http://git-wip-us.apache.org/repos/asf/wicket/blob/a04fc96a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/upload/FileUploadField.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/upload/FileUploadField.java b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/upload/FileUploadField.java
index 9ebe306..dbc5cc9 100644
--- a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/upload/FileUploadField.java
+++ b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/upload/FileUploadField.java
@@ -62,9 +62,10 @@ public class FileUploadField extends FormComponent<List<FileUpload>>
 	 * @param model
 	 *            the model holding the uploaded {@link FileUpload}s
 	 */
-	public FileUploadField(final String id, IModel<List<FileUpload>> model)
+	@SuppressWarnings("unchecked")
+	public FileUploadField(final String id, IModel<? extends List<FileUpload>> model)
 	{
-		super(id, model);
+		super(id, (IModel<List<FileUpload>>)model);
 	}
 
 	/**

http://git-wip-us.apache.org/repos/asf/wicket/blob/a04fc96a/wicket-core/src/main/java/org/apache/wicket/markup/html/list/ListView.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/markup/html/list/ListView.java b/wicket-core/src/main/java/org/apache/wicket/markup/html/list/ListView.java
index bb5a25a..54b3015 100644
--- a/wicket-core/src/main/java/org/apache/wicket/markup/html/list/ListView.java
+++ b/wicket-core/src/main/java/org/apache/wicket/markup/html/list/ListView.java
@@ -134,7 +134,7 @@ public abstract class ListView<T> extends AbstractRepeater
 	 * @param model
 	 * @see org.apache.wicket.Component#Component(String, IModel)
 	 */
-	public ListView(final String id, final IModel<? extends List<? extends T>> model)
+	public ListView(final String id, final IModel<? extends List<T>> model)
 	{
 		super(id, model);
 
@@ -156,7 +156,7 @@ public abstract class ListView<T> extends AbstractRepeater
 	 *            List to cast to Serializable
 	 * @see org.apache.wicket.Component#Component(String, IModel)
 	 */
-	public ListView(final String id, final List<? extends T> list)
+	public ListView(final String id, final List<T> list)
 	{
 		this(id, Model.ofList(list));
 	}
@@ -169,9 +169,9 @@ public abstract class ListView<T> extends AbstractRepeater
 	 * @return The list of items in this list view.
 	 */
 	@SuppressWarnings("unchecked")
-	public final List<? extends T> getList()
+	public final List<T> getList()
 	{
-		final List<? extends T> list = (List<? extends T>)getDefaultModelObject();
+		final List<T> list = (List<T>)getDefaultModelObject();
 		if (list == null)
 		{
 			return Collections.emptyList();
@@ -364,7 +364,7 @@ public abstract class ListView<T> extends AbstractRepeater
 	 *            The list for the new model. The list must implement {@link Serializable}.
 	 * @return This for chaining
 	 */
-	public ListView<T> setList(List<? extends T> list)
+	public ListView<T> setList(List<T> list)
 	{
 		setDefaultModel(Model.ofList(list));
 		return this;

http://git-wip-us.apache.org/repos/asf/wicket/blob/a04fc96a/wicket-core/src/main/java/org/apache/wicket/markup/html/list/PageableListView.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/markup/html/list/PageableListView.java b/wicket-core/src/main/java/org/apache/wicket/markup/html/list/PageableListView.java
index 2ea39bc..7c717dd 100644
--- a/wicket-core/src/main/java/org/apache/wicket/markup/html/list/PageableListView.java
+++ b/wicket-core/src/main/java/org/apache/wicket/markup/html/list/PageableListView.java
@@ -51,7 +51,7 @@ public abstract class PageableListView<T> extends ListView<T> implements IPageab
 	 * @param itemsPerPage
 	 *            Number of rows to show on a page
 	 */
-	public PageableListView(final String id, final IModel<? extends List<? extends T>> model,
+	public PageableListView(final String id, final IModel<? extends List<T>> model,
 		int itemsPerPage)
 	{
 		super(id, model);
@@ -70,7 +70,7 @@ public abstract class PageableListView<T> extends ListView<T> implements IPageab
 	 *            Number of rows to show on a page
 	 * @see ListView#ListView(String, List)
 	 */
-	public PageableListView(final String id, final List<? extends T> list, final int itemsPerPage)
+	public PageableListView(final String id, final List<T> list, final int itemsPerPage)
 	{
 		super(id, list);
 		this.itemsPerPage = itemsPerPage;

http://git-wip-us.apache.org/repos/asf/wicket/blob/a04fc96a/wicket-core/src/main/java/org/apache/wicket/markup/html/list/PropertyListView.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/markup/html/list/PropertyListView.java b/wicket-core/src/main/java/org/apache/wicket/markup/html/list/PropertyListView.java
index b380d8b..464a14e 100644
--- a/wicket-core/src/main/java/org/apache/wicket/markup/html/list/PropertyListView.java
+++ b/wicket-core/src/main/java/org/apache/wicket/markup/html/list/PropertyListView.java
@@ -57,7 +57,7 @@ public abstract class PropertyListView<T> extends ListView<T>
 	 * @param model
 	 *            wrapping a List
 	 */
-	public PropertyListView(final String id, final IModel<? extends List<? extends T>> model)
+	public PropertyListView(final String id, final IModel<? extends List<T>> model)
 	{
 		super(id, model);
 	}
@@ -71,7 +71,7 @@ public abstract class PropertyListView<T> extends ListView<T>
 	 * @param list
 	 *            unmodeled List
 	 */
-	public PropertyListView(final String id, final List<? extends T> list)
+	public PropertyListView(final String id, final List<T> list)
 	{
 		super(id, list);
 	}

http://git-wip-us.apache.org/repos/asf/wicket/blob/a04fc96a/wicket-core/src/main/java/org/apache/wicket/markup/repeater/AbstractPageableView.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/markup/repeater/AbstractPageableView.java b/wicket-core/src/main/java/org/apache/wicket/markup/repeater/AbstractPageableView.java
index d9b93a1..297ee8c 100644
--- a/wicket-core/src/main/java/org/apache/wicket/markup/repeater/AbstractPageableView.java
+++ b/wicket-core/src/main/java/org/apache/wicket/markup/repeater/AbstractPageableView.java
@@ -73,7 +73,7 @@ public abstract class AbstractPageableView<T> extends RefreshingView<T> implemen
 	 * @param model
 	 * @see org.apache.wicket.Component#Component(String, IModel)
 	 */
-	public AbstractPageableView(String id, IModel<? extends Collection<? extends T>> model)
+	public AbstractPageableView(String id, IModel<? extends Collection<T>> model)
 	{
 		super(id, model);
 		clearCachedItemCount();

http://git-wip-us.apache.org/repos/asf/wicket/blob/a04fc96a/wicket-core/src/main/java/org/apache/wicket/markup/repeater/RefreshingView.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/markup/repeater/RefreshingView.java b/wicket-core/src/main/java/org/apache/wicket/markup/repeater/RefreshingView.java
index a2c2220..3e18d88 100644
--- a/wicket-core/src/main/java/org/apache/wicket/markup/repeater/RefreshingView.java
+++ b/wicket-core/src/main/java/org/apache/wicket/markup/repeater/RefreshingView.java
@@ -16,6 +16,7 @@
  */
 package org.apache.wicket.markup.repeater;
 
+import java.util.Collection;
 import java.util.Iterator;
 
 import org.apache.wicket.markup.repeater.util.ModelIteratorAdapter;
@@ -78,7 +79,7 @@ public abstract class RefreshingView<T> extends RepeatingView
 	 * @param model
 	 *            model
 	 */
-	public RefreshingView(String id, IModel<?> model)
+	public RefreshingView(String id, IModel<? extends Collection<T>> model)
 	{
 		super(id, model);
 	}

http://git-wip-us.apache.org/repos/asf/wicket/blob/a04fc96a/wicket-core/src/main/java/org/apache/wicket/markup/repeater/data/ListDataProvider.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/markup/repeater/data/ListDataProvider.java b/wicket-core/src/main/java/org/apache/wicket/markup/repeater/data/ListDataProvider.java
index 6ec9248..c3af567 100644
--- a/wicket-core/src/main/java/org/apache/wicket/markup/repeater/data/ListDataProvider.java
+++ b/wicket-core/src/main/java/org/apache/wicket/markup/repeater/data/ListDataProvider.java
@@ -75,7 +75,7 @@ public class ListDataProvider<T extends Serializable> implements IDataProvider<T
 	}
 
 	@Override
-	public Iterator<? extends T> iterator(final long first, final long count)
+	public Iterator<T> iterator(final long first, final long count)
 	{
 		List<T> list = getData();
 

http://git-wip-us.apache.org/repos/asf/wicket/blob/a04fc96a/wicket-core/src/test/java/org/apache/wicket/markup/html/form/ListMultipleChoiceTest.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/test/java/org/apache/wicket/markup/html/form/ListMultipleChoiceTest.java b/wicket-core/src/test/java/org/apache/wicket/markup/html/form/ListMultipleChoiceTest.java
index 53cd69f..ea57bbd 100644
--- a/wicket-core/src/test/java/org/apache/wicket/markup/html/form/ListMultipleChoiceTest.java
+++ b/wicket-core/src/test/java/org/apache/wicket/markup/html/form/ListMultipleChoiceTest.java
@@ -23,7 +23,7 @@ import java.util.List;
 import org.apache.wicket.WicketTestCase;
 import org.apache.wicket.markup.html.WebPage;
 import org.apache.wicket.model.IModel;
-import org.apache.wicket.model.Model;
+import org.apache.wicket.model.util.ListModel;
 import org.apache.wicket.util.tester.FormTester;
 import org.junit.Test;
 
@@ -31,7 +31,7 @@ public class ListMultipleChoiceTest extends WicketTestCase
 {
 	public class TestPage extends WebPage
 	{
-		public IModel<List<String>> selectedValues = new Model(new ArrayList<String>());
+		public IModel<List<String>> selectedValues = new ListModel<String>(new ArrayList<String>());
 		public List<String> choices = Arrays.asList("a", "b", "c", "d", "e", "f");
 
 		public TestPage()

http://git-wip-us.apache.org/repos/asf/wicket/blob/a04fc96a/wicket-datetime/src/test/java/org/apache/wicket/extensions/yui/calendar/DatesPage1.java
----------------------------------------------------------------------
diff --git a/wicket-datetime/src/test/java/org/apache/wicket/extensions/yui/calendar/DatesPage1.java b/wicket-datetime/src/test/java/org/apache/wicket/extensions/yui/calendar/DatesPage1.java
index 51e643d..e9ada95 100644
--- a/wicket-datetime/src/test/java/org/apache/wicket/extensions/yui/calendar/DatesPage1.java
+++ b/wicket-datetime/src/test/java/org/apache/wicket/extensions/yui/calendar/DatesPage1.java
@@ -86,7 +86,7 @@ public class DatesPage1 extends WebPage
 		{
 			super(id);
 			// sort locales on strings of selected locale
-			setChoices(new AbstractReadOnlyModel<List<? extends Locale>>()
+			setChoices(new AbstractReadOnlyModel<List<Locale>>()
 			{
 				private static final long serialVersionUID = 1L;
 

http://git-wip-us.apache.org/repos/asf/wicket/blob/a04fc96a/wicket-examples/src/main/java/org/apache/wicket/examples/ajax/builtin/ChoicePage.java
----------------------------------------------------------------------
diff --git a/wicket-examples/src/main/java/org/apache/wicket/examples/ajax/builtin/ChoicePage.java b/wicket-examples/src/main/java/org/apache/wicket/examples/ajax/builtin/ChoicePage.java
index b6a773b..b630228 100644
--- a/wicket-examples/src/main/java/org/apache/wicket/examples/ajax/builtin/ChoicePage.java
+++ b/wicket-examples/src/main/java/org/apache/wicket/examples/ajax/builtin/ChoicePage.java
@@ -69,7 +69,7 @@ public class ChoicePage extends BasePage
 		modelsMap.put("CADILLAC", Arrays.asList("CTS", "DTS", "ESCALADE", "SRX", "DEVILLE"));
 		modelsMap.put("FORD", Arrays.asList("CROWN", "ESCAPE", "EXPEDITION", "EXPLORER", "F-150"));
 
-		IModel<List<? extends String>> makeChoices = new AbstractReadOnlyModel<List<? extends String>>()
+		IModel<List<String>> makeChoices = new AbstractReadOnlyModel<List<String>>()
 		{
 			@Override
 			public List<String> getObject()
@@ -79,7 +79,7 @@ public class ChoicePage extends BasePage
 
 		};
 
-		IModel<List<? extends String>> modelChoices = new AbstractReadOnlyModel<List<? extends String>>()
+		IModel<List<String>> modelChoices = new AbstractReadOnlyModel<List<String>>()
 		{
 			@Override
 			public List<String> getObject()

http://git-wip-us.apache.org/repos/asf/wicket/blob/a04fc96a/wicket-examples/src/main/java/org/apache/wicket/examples/compref/CheckBoxSelectorPage.java
----------------------------------------------------------------------
diff --git a/wicket-examples/src/main/java/org/apache/wicket/examples/compref/CheckBoxSelectorPage.java b/wicket-examples/src/main/java/org/apache/wicket/examples/compref/CheckBoxSelectorPage.java
index d0427f4..90d05bf 100644
--- a/wicket-examples/src/main/java/org/apache/wicket/examples/compref/CheckBoxSelectorPage.java
+++ b/wicket-examples/src/main/java/org/apache/wicket/examples/compref/CheckBoxSelectorPage.java
@@ -85,7 +85,7 @@ public class CheckBoxSelectorPage extends WicketExamplePage
 			}
 		});
 		final CheckBoxMultipleChoice<Integer> choice = new CheckBoxMultipleChoice<Integer>(
-			"choice", Model.ofList(new ArrayList()), Arrays.asList(1, 2, 3, 4));
+			"choice", Model.of(new ArrayList<Integer>()), Arrays.asList(1, 2, 3, 4));
 		form.add(choice);
 		form.add(new CheckboxMultipleChoiceSelector("choiceSelector", choice));
 		final CheckBox loose1 = new CheckBox("looseCheck1", Model.of(Boolean.FALSE));

http://git-wip-us.apache.org/repos/asf/wicket/blob/a04fc96a/wicket-examples/src/main/java/org/apache/wicket/examples/compref/SelectPage.java
----------------------------------------------------------------------
diff --git a/wicket-examples/src/main/java/org/apache/wicket/examples/compref/SelectPage.java b/wicket-examples/src/main/java/org/apache/wicket/examples/compref/SelectPage.java
index 09edec3..e858f6b 100644
--- a/wicket-examples/src/main/java/org/apache/wicket/examples/compref/SelectPage.java
+++ b/wicket-examples/src/main/java/org/apache/wicket/examples/compref/SelectPage.java
@@ -22,7 +22,6 @@ import java.util.Collection;
 import java.util.Iterator;
 import java.util.List;
 
-import org.apache.wicket.util.io.IClusterable;
 import org.apache.wicket.examples.WicketExamplePage;
 import org.apache.wicket.extensions.markup.html.form.select.IOptionRenderer;
 import org.apache.wicket.extensions.markup.html.form.select.Select;
@@ -33,7 +32,8 @@ import org.apache.wicket.markup.html.panel.FeedbackPanel;
 import org.apache.wicket.model.CompoundPropertyModel;
 import org.apache.wicket.model.IModel;
 import org.apache.wicket.model.Model;
-import org.apache.wicket.model.util.WildcardCollectionModel;
+import org.apache.wicket.model.util.CollectionModel;
+import org.apache.wicket.util.io.IClusterable;
 
 
 /**
@@ -49,7 +49,7 @@ public class SelectPage extends WicketExamplePage
 		"Java.Net");
 
 	/** available choices for large selection box. */
-	private static final List<? extends String> MANY_CHOICES = Arrays.asList("Choice1", "Choice2",
+	private static final List<String> MANY_CHOICES = Arrays.asList("Choice1", "Choice2",
 		"Choice3", "Choice4", "Choice5", "Choice6", "Choice7", "Choice8", "Choice9");
 
 	/**
@@ -103,7 +103,7 @@ public class SelectPage extends WicketExamplePage
 			}
 
 		};
-		IModel<Collection<? extends String>> model = new WildcardCollectionModel<String>(
+		IModel<Collection<String>> model = new CollectionModel<String>(
 			MANY_CHOICES);
 		choices.add(new SelectOptions<>("manychoices", model, renderer));
 

http://git-wip-us.apache.org/repos/asf/wicket/blob/a04fc96a/wicket-examples/src/main/java/org/apache/wicket/examples/dates/DatesPage.java
----------------------------------------------------------------------
diff --git a/wicket-examples/src/main/java/org/apache/wicket/examples/dates/DatesPage.java b/wicket-examples/src/main/java/org/apache/wicket/examples/dates/DatesPage.java
index b2b7edf..30bc937 100644
--- a/wicket-examples/src/main/java/org/apache/wicket/examples/dates/DatesPage.java
+++ b/wicket-examples/src/main/java/org/apache/wicket/examples/dates/DatesPage.java
@@ -83,7 +83,7 @@ public class DatesPage extends WicketExamplePage
 		{
 			super(id);
 			// sort locales on strings of selected locale
-			setChoices(new AbstractReadOnlyModel<List<? extends Locale>>()
+			setChoices(new AbstractReadOnlyModel<List<Locale>>()
 			{
 				@Override
 				public List<Locale> getObject()

http://git-wip-us.apache.org/repos/asf/wicket/blob/a04fc96a/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/AjaxEditableChoiceLabel.java
----------------------------------------------------------------------
diff --git a/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/AjaxEditableChoiceLabel.java b/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/AjaxEditableChoiceLabel.java
index cac99fe..632a1e8 100644
--- a/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/AjaxEditableChoiceLabel.java
+++ b/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/AjaxEditableChoiceLabel.java
@@ -51,7 +51,7 @@ public class AjaxEditableChoiceLabel<T> extends AjaxEditableLabel<T>
 	private IModel<? extends List<? extends T>> choices;
 
 	/** The renderer used to generate display/id values for the objects. */
-	private IChoiceRenderer<T> renderer;
+	private IChoiceRenderer<? super T> renderer;
 
 	/**
 	 * Construct.
@@ -120,7 +120,7 @@ public class AjaxEditableChoiceLabel<T> extends AjaxEditableLabel<T>
 	 *            The rendering engine
 	 */
 	public AjaxEditableChoiceLabel(final String id, final IModel<T> model,
-		final IModel<? extends List<? extends T>> choices, final IChoiceRenderer<T> renderer)
+		final IModel<? extends List<? extends T>> choices, final IChoiceRenderer<? super T> renderer)
 	{
 		super(id, model);
 		this.choices = choices;
@@ -156,7 +156,7 @@ public class AjaxEditableChoiceLabel<T> extends AjaxEditableLabel<T>
 	 *            The rendering engine
 	 */
 	public AjaxEditableChoiceLabel(final String id, final IModel<T> model,
-		final List<? extends T> choices, final IChoiceRenderer<T> renderer)
+		final List<? extends T> choices, final IChoiceRenderer<? super T> renderer)
 	{
 		this(id, model, Model.ofList(choices), renderer);
 	}

http://git-wip-us.apache.org/repos/asf/wicket/blob/a04fc96a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/form/palette/Palette.java
----------------------------------------------------------------------
diff --git a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/form/palette/Palette.java b/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/form/palette/Palette.java
index 41534df..1030829 100644
--- a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/form/palette/Palette.java
+++ b/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/form/palette/Palette.java
@@ -89,7 +89,7 @@ public class Palette<T> extends FormComponentPanel<Collection<T>>
 	/**
 	 * choice render used to render the choices in both available and selected collections
 	 */
-	private final IChoiceRenderer<T> choiceRenderer;
+	private final IChoiceRenderer<? super T> choiceRenderer;
 
 	/** number of rows to show in the select boxes */
 	private final int rows;
@@ -135,7 +135,7 @@ public class Palette<T> extends FormComponentPanel<Collection<T>>
 	 *            Allow user to move selections up and down
 	 */
 	public Palette(final String id, final IModel<? extends Collection<T>> choicesModel,
-		final IChoiceRenderer<T> choiceRenderer, final int rows, final boolean allowOrder)
+		final IChoiceRenderer<? super T> choiceRenderer, final int rows, final boolean allowOrder)
 	{
 		this(id, null, choicesModel, choiceRenderer, rows, allowOrder);
 	}
@@ -155,10 +155,9 @@ public class Palette<T> extends FormComponentPanel<Collection<T>>
 	 * @param allowOrder
 	 *            Allow user to move selections up and down
 	 */
-	@SuppressWarnings("unchecked")
 	public Palette(final String id, final IModel<? extends Collection<T>> model,
 		final IModel<? extends Collection<? extends T>> choicesModel,
-		final IChoiceRenderer<T> choiceRenderer, final int rows, final boolean allowOrder)
+		final IChoiceRenderer<? super T> choiceRenderer, final int rows, final boolean allowOrder)
 	{
 		this(id, model, choicesModel, choiceRenderer, rows, allowOrder, false);
 	}
@@ -182,7 +181,7 @@ public class Palette<T> extends FormComponentPanel<Collection<T>>
 	 */
 	public Palette(final String id, final IModel<? extends Collection<T>> model,
 		final IModel<? extends Collection<? extends T>> choicesModel,
-		final IChoiceRenderer<T> choiceRenderer, final int rows, final boolean allowOrder,
+		final IChoiceRenderer<? super T> choiceRenderer, final int rows, final boolean allowOrder,
 		boolean allowMoveAll)
 	{
 		super(id, (IModel<Collection<T>>)model);
@@ -540,7 +539,7 @@ public class Palette<T> extends FormComponentPanel<Collection<T>>
 	/**
 	 * @return choice renderer
 	 */
-	public IChoiceRenderer<T> getChoiceRenderer()
+	public IChoiceRenderer<? super T> getChoiceRenderer()
 	{
 		return choiceRenderer;
 	}

http://git-wip-us.apache.org/repos/asf/wicket/blob/a04fc96a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/form/palette/component/AbstractOptions.java
----------------------------------------------------------------------
diff --git a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/form/palette/component/AbstractOptions.java b/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/form/palette/component/AbstractOptions.java
index f5d3fc0..9c276fd 100644
--- a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/form/palette/component/AbstractOptions.java
+++ b/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/form/palette/component/AbstractOptions.java
@@ -71,7 +71,7 @@ public abstract class AbstractOptions<T> extends FormComponent<T>
 	{
 		StringBuilder buffer = new StringBuilder(128);
 		Iterator<T> options = getOptionsIterator();
-		IChoiceRenderer<T> renderer = getPalette().getChoiceRenderer();
+		IChoiceRenderer<? super T> renderer = getPalette().getChoiceRenderer();
 
 		boolean localizeDisplayValues = localizeDisplayValues();
 

http://git-wip-us.apache.org/repos/asf/wicket/blob/a04fc96a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/form/palette/component/Recorder.java
----------------------------------------------------------------------
diff --git a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/form/palette/component/Recorder.java b/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/form/palette/component/Recorder.java
index 64fa895..f75f57a 100644
--- a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/form/palette/component/Recorder.java
+++ b/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/form/palette/component/Recorder.java
@@ -87,7 +87,7 @@ public class Recorder<T> extends HiddenField<String>
 	private void initIds()
 	{
 		// construct the model string based on selection collection
-		IChoiceRenderer<T> renderer = getPalette().getChoiceRenderer();
+		IChoiceRenderer<? super T> renderer = getPalette().getChoiceRenderer();
 		StringBuilder modelStringBuffer = new StringBuilder();
 		Collection<T> modelCollection = getPalette().getModelCollection();
 		if (modelCollection == null)
@@ -123,7 +123,7 @@ public class Recorder<T> extends HiddenField<String>
 	 */
 	public List<T> getSelectedList()
 	{
-		final IChoiceRenderer<T> renderer = getPalette().getChoiceRenderer();
+		final IChoiceRenderer<? super T> renderer = getPalette().getChoiceRenderer();
 		final Collection<? extends T> choices = getPalette().getChoices();
 		final List<T> selected = new ArrayList<>(choices.size());
 
@@ -160,7 +160,7 @@ public class Recorder<T> extends HiddenField<String>
 	 */
 	public List<T> getUnselectedList()
 	{
-		final IChoiceRenderer<T> renderer = getPalette().getChoiceRenderer();
+		final IChoiceRenderer<? super T> renderer = getPalette().getChoiceRenderer();
 		final Collection<? extends T> choices = getPalette().getChoices();
 		final List<T> unselected = new ArrayList<>(choices.size());
 		final String ids = getValue();

http://git-wip-us.apache.org/repos/asf/wicket/blob/a04fc96a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/form/select/SelectOption.java
----------------------------------------------------------------------
diff --git a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/form/select/SelectOption.java b/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/form/select/SelectOption.java
index 2320222..16833d9 100644
--- a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/form/select/SelectOption.java
+++ b/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/form/select/SelectOption.java
@@ -54,7 +54,7 @@ public class SelectOption<T> extends WebMarkupContainer implements IGenericCompo
 	 * @param model
 	 * @see WebMarkupContainer#WebMarkupContainer(String, IModel)
 	 */
-	public SelectOption(final String id, final IModel<? extends T> model)
+	public SelectOption(final String id, final IModel<T> model)
 	{
 		super(id, model);
 	}

http://git-wip-us.apache.org/repos/asf/wicket/blob/a04fc96a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/form/select/SelectOptions.java
----------------------------------------------------------------------
diff --git a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/form/select/SelectOptions.java b/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/form/select/SelectOptions.java
index 1b2ed77..c02f058 100644
--- a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/form/select/SelectOptions.java
+++ b/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/form/select/SelectOptions.java
@@ -24,7 +24,7 @@ import org.apache.wicket.markup.html.WebMarkupContainer;
 import org.apache.wicket.markup.parser.XmlTag.TagType;
 import org.apache.wicket.markup.repeater.RepeatingView;
 import org.apache.wicket.model.IModel;
-import org.apache.wicket.model.util.WildcardCollectionModel;
+import org.apache.wicket.model.util.CollectionModel;
 
 
 /**
@@ -56,7 +56,7 @@ public class SelectOptions<T> extends RepeatingView
 	 * @param model
 	 * @param renderer
 	 */
-	public SelectOptions(final String id, final IModel<? extends Collection<? extends T>> model,
+	public SelectOptions(final String id, final IModel<? extends Collection<T>> model,
 		final IOptionRenderer<T> renderer)
 	{
 		super(id, model);
@@ -71,10 +71,10 @@ public class SelectOptions<T> extends RepeatingView
 	 * @param elements
 	 * @param renderer
 	 */
-	public SelectOptions(final String id, final Collection<? extends T> elements,
+	public SelectOptions(final String id, final Collection<T> elements,
 		final IOptionRenderer<T> renderer)
 	{
-		this(id, new WildcardCollectionModel<>(elements), renderer);
+		this(id, new CollectionModel<>(elements), renderer);
 	}
 
 	/**
@@ -107,7 +107,7 @@ public class SelectOptions<T> extends RepeatingView
 			// populate this repeating view with SelectOption components
 			removeAll();
 
-			Collection<? extends T> modelObject = (Collection<? extends T>)getDefaultModelObject();
+			Collection<T> modelObject = (Collection<T>)getDefaultModelObject();
 
 			if (modelObject != null)
 			{
@@ -135,7 +135,7 @@ public class SelectOptions<T> extends RepeatingView
 	 * @param model
 	 * @return a {@link SelectOption}
 	 */
-	protected SelectOption<T> newOption(final String text, final IModel<? extends T> model)
+	protected SelectOption<T> newOption(final String text, final IModel<T> model)
 	{
 		return new SimpleSelectOption<>("option", model, text);
 	}
@@ -155,7 +155,7 @@ public class SelectOptions<T> extends RepeatingView
 		 * @param model
 		 * @param text
 		 */
-		public SimpleSelectOption(final String id, final IModel<? extends V> model, final String text)
+		public SimpleSelectOption(final String id, final IModel<V> model, final String text)
 		{
 			super(id, model);
 			this.text = text;

http://git-wip-us.apache.org/repos/asf/wicket/blob/a04fc96a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/table/filter/ChoiceFilter.java
----------------------------------------------------------------------
diff --git a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/table/filter/ChoiceFilter.java b/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/table/filter/ChoiceFilter.java
index 7917bd5..f4038cc 100644
--- a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/table/filter/ChoiceFilter.java
+++ b/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/table/filter/ChoiceFilter.java
@@ -49,7 +49,7 @@ public class ChoiceFilter<T> extends AbstractFilter
 	 * @param autoSubmit
 	 */
 	public ChoiceFilter(final String id, final IModel<T> model, final FilterForm<?> form,
-		final IModel<List<? extends T>> choices, final boolean autoSubmit)
+		final IModel<? extends List<? extends T>> choices, final boolean autoSubmit)
 	{
 		this(id, model, form, choices, new ChoiceRenderer<T>(), autoSubmit);
 	}
@@ -76,7 +76,8 @@ public class ChoiceFilter<T> extends AbstractFilter
 	 * @param autoSubmit
 	 */
 	public ChoiceFilter(final String id, final IModel<T> model, final FilterForm<?> form,
-		final List<? extends T> choices, final IChoiceRenderer<T> renderer, final boolean autoSubmit)
+		final List<? extends T> choices, final IChoiceRenderer<? super T> renderer,
+		final boolean autoSubmit)
 	{
 		this(id, model, form, Model.ofList(choices), renderer, autoSubmit);
 	}
@@ -97,7 +98,8 @@ public class ChoiceFilter<T> extends AbstractFilter
 	 * @see DropDownChoice
 	 */
 	public ChoiceFilter(final String id, final IModel<T> model, final FilterForm<?> form,
-		final IModel<List<? extends T>> choices, final IChoiceRenderer<T> renderer,
+		final IModel<? extends List<? extends T>> choices,
+		final IChoiceRenderer<? super T> renderer,
 		final boolean autoSubmit)
 	{
 		super(id, form);
@@ -127,7 +129,7 @@ public class ChoiceFilter<T> extends AbstractFilter
 	 * @return created drop down component
 	 */
 	protected DropDownChoice<T> newDropDownChoice(final String id, final IModel<T> model,
-		final IModel<List<? extends T>> choices, final IChoiceRenderer<T> renderer)
+		final IModel<? extends List<? extends T>> choices, final IChoiceRenderer<? super T> renderer)
 	{
 		DropDownChoice<T> dropDownChoice = new DropDownChoice<>(id, model, choices, renderer);
 		dropDownChoice.setNullValid(true);

http://git-wip-us.apache.org/repos/asf/wicket/blob/a04fc96a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/table/filter/ChoiceFilteredPropertyColumn.java
----------------------------------------------------------------------
diff --git a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/table/filter/ChoiceFilteredPropertyColumn.java b/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/table/filter/ChoiceFilteredPropertyColumn.java
index bedf33c..cf05fbe 100644
--- a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/table/filter/ChoiceFilteredPropertyColumn.java
+++ b/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/table/filter/ChoiceFilteredPropertyColumn.java
@@ -40,7 +40,7 @@ import org.apache.wicket.model.PropertyModel;
 public class ChoiceFilteredPropertyColumn<T, Y, S> extends FilteredPropertyColumn<T, S>
 {
 	private static final long serialVersionUID = 1L;
-	private final IModel<List<? extends Y>> filterChoices;
+	private final IModel<? extends List<? extends Y>> filterChoices;
 
 	/**
 	 * @param displayModel
@@ -51,7 +51,7 @@ public class ChoiceFilteredPropertyColumn<T, Y, S> extends FilteredPropertyColum
 	 */
 	public ChoiceFilteredPropertyColumn(final IModel<String> displayModel,
 		final S sortProperty, final String propertyExpression,
-		final IModel<List<? extends Y>> filterChoices)
+		final IModel<? extends List<? extends Y>> filterChoices)
 	{
 		super(displayModel, sortProperty, propertyExpression);
 		this.filterChoices = filterChoices;
@@ -64,7 +64,7 @@ public class ChoiceFilteredPropertyColumn<T, Y, S> extends FilteredPropertyColum
 	 *            collection of choices used in the choice filter
 	 */
 	public ChoiceFilteredPropertyColumn(final IModel<String> displayModel,
-		final String propertyExpression, final IModel<List<? extends Y>> filterChoices)
+		final String propertyExpression, final IModel<? extends List<? extends Y>> filterChoices)
 	{
 		super(displayModel, propertyExpression);
 		this.filterChoices = filterChoices;
@@ -138,7 +138,7 @@ public class ChoiceFilteredPropertyColumn<T, Y, S> extends FilteredPropertyColum
 	/**
 	 * @return filter choices model
 	 */
-	protected final IModel<List<? extends Y>> getFilterChoices()
+	protected final IModel<? extends List<? extends Y>> getFilterChoices()
 	{
 		return filterChoices;
 	}

http://git-wip-us.apache.org/repos/asf/wicket/blob/a04fc96a/wicket-extensions/src/test/java/org/apache/wicket/extensions/markup/html/repeater/data/table/DataTableTest.java
----------------------------------------------------------------------
diff --git a/wicket-extensions/src/test/java/org/apache/wicket/extensions/markup/html/repeater/data/table/DataTableTest.java b/wicket-extensions/src/test/java/org/apache/wicket/extensions/markup/html/repeater/data/table/DataTableTest.java
index d9711cc..4ce110b 100644
--- a/wicket-extensions/src/test/java/org/apache/wicket/extensions/markup/html/repeater/data/table/DataTableTest.java
+++ b/wicket-extensions/src/test/java/org/apache/wicket/extensions/markup/html/repeater/data/table/DataTableTest.java
@@ -150,10 +150,11 @@ public class DataTableTest extends WicketTestCase
 				}
 
 				@Override
-				public Iterator<? extends Number> iterator(long first, long count)
+				public Iterator<Integer> iterator(long first, long count)
 				{
 					StringValue emptyValue = getPageParameters().get("empty");
-					return emptyValue.toBoolean() ? Collections.<Integer> emptyList().iterator()
+					return emptyValue.toBoolean()
+						? Collections.<Integer> emptyList().iterator()
 						: items.iterator();
 				}
 


Re: [2/2] git commit: WICKET-5350 adjust components' wildcards

Posted by Carl-Eric Menzel <ca...@duesenklipper.de>.
On Mon, 28 Jul 2014 12:12:21 +0300
Martin Grigorov <mg...@apache.org> wrote:


> > -       protected void onSelectionChanged(final Collection<?
> > extends T> newSelection)
> > +       protected void onSelectionChanged(final Collection<T>
> > newSelection)
> >
> 
> Should the application be allowed to add new items to "newSelestion" ?
> Is there a use case for this ?
> Or the idea is to make the API as open as possible and leave the
> application decide what to do ?

There is a use case: Upon the user selecting something, the application
may want to add something to the selection. Maybe one of the selected
values is dependent on another, and the second one can thus be
automatically selected.

Carl-Eric

Re: [2/2] git commit: WICKET-5350 adjust components' wildcards

Posted by Martin Grigorov <mg...@apache.org>.
On Sun, Jul 27, 2014 at 12:45 AM, <sv...@apache.org> wrote:

> WICKET-5350 adjust components' wildcards
>
> Project: http://git-wip-us.apache.org/repos/asf/wicket/repo
> Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/a04fc96a
> Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/a04fc96a
> Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/a04fc96a
>
> Branch: refs/heads/WICKET-5350-wildcards
> Commit: a04fc96a7289c5c0f46511a6e70f3cee542d0c9a
> Parents: 0623140
> Author: svenmeier <sv...@meiers.net>
> Authored: Sat Jul 26 23:44:00 2014 +0200
> Committer: svenmeier <sv...@meiers.net>
> Committed: Sat Jul 26 23:44:00 2014 +0200
>
> ----------------------------------------------------------------------
>  .../wicket/markup/html/form/AbstractChoice.java     | 16 ++++++++--------
>  .../apache/wicket/markup/html/form/CheckGroup.java  |  2 +-
>  .../markup/html/form/upload/FileUploadField.java    |  5 +++--
>  .../apache/wicket/markup/html/list/ListView.java    | 10 +++++-----
>  .../wicket/markup/html/list/PageableListView.java   |  4 ++--
>  .../wicket/markup/html/list/PropertyListView.java   |  4 ++--
>  .../markup/repeater/AbstractPageableView.java       |  2 +-
>  .../wicket/markup/repeater/RefreshingView.java      |  3 ++-
>  .../markup/repeater/data/ListDataProvider.java      |  2 +-
>  .../markup/html/form/ListMultipleChoiceTest.java    |  4 ++--
>  .../wicket/extensions/yui/calendar/DatesPage1.java  |  2 +-
>  .../wicket/examples/ajax/builtin/ChoicePage.java    |  4 ++--
>  .../examples/compref/CheckBoxSelectorPage.java      |  2 +-
>  .../apache/wicket/examples/compref/SelectPage.java  |  8 ++++----
>  .../org/apache/wicket/examples/dates/DatesPage.java |  2 +-
>  .../ajax/markup/html/AjaxEditableChoiceLabel.java   |  6 +++---
>  .../markup/html/form/palette/Palette.java           | 11 +++++------
>  .../form/palette/component/AbstractOptions.java     |  2 +-
>  .../html/form/palette/component/Recorder.java       |  6 +++---
>  .../markup/html/form/select/SelectOption.java       |  2 +-
>  .../markup/html/form/select/SelectOptions.java      | 14 +++++++-------
>  .../repeater/data/table/filter/ChoiceFilter.java    | 10 ++++++----
>  .../table/filter/ChoiceFilteredPropertyColumn.java  |  8 ++++----
>  .../html/repeater/data/table/DataTableTest.java     |  5 +++--
>  24 files changed, 69 insertions(+), 65 deletions(-)
> ----------------------------------------------------------------------
>
>
>
> http://git-wip-us.apache.org/repos/asf/wicket/blob/a04fc96a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/AbstractChoice.java
> ----------------------------------------------------------------------
> diff --git
> a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/AbstractChoice.java
> b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/AbstractChoice.java
> index e29c7fb..ee566db 100644
> ---
> a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/AbstractChoice.java
> +++
> b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/AbstractChoice.java
> @@ -22,7 +22,7 @@ import java.util.List;
>  import org.apache.wicket.markup.ComponentTag;
>  import org.apache.wicket.markup.MarkupStream;
>  import org.apache.wicket.model.IModel;
> -import org.apache.wicket.model.util.WildcardListModel;
> +import org.apache.wicket.model.util.ListModel;
>  import org.apache.wicket.util.convert.IConverter;
>  import org.apache.wicket.util.string.AppendingStringBuffer;
>  import org.apache.wicket.util.string.Strings;
> @@ -90,7 +90,7 @@ public abstract class AbstractChoice<T, E> extends
> FormComponent<T>
>          */
>         public AbstractChoice(final String id)
>         {
> -               this(id, new WildcardListModel<>(new ArrayList<E>()), new
> ChoiceRenderer<E>());
> +               this(id, new ListModel<>(new ArrayList<E>()), new
> ChoiceRenderer<E>());
>         }
>
>         /**
> @@ -103,7 +103,7 @@ public abstract class AbstractChoice<T, E> extends
> FormComponent<T>
>          */
>         public AbstractChoice(final String id, final List<? extends E>
> choices)
>         {
> -               this(id, new WildcardListModel<>(choices), new
> ChoiceRenderer<E>());
> +               this(id, new ListModel<>(choices), new
> ChoiceRenderer<E>());
>         }
>
>         /**
> @@ -119,7 +119,7 @@ public abstract class AbstractChoice<T, E> extends
> FormComponent<T>
>         public AbstractChoice(final String id, final List<? extends E>
> choices,
>                 final IChoiceRenderer<? super E> renderer)
>         {
> -               this(id, new WildcardListModel<>(choices), renderer);
> +               this(id, new ListModel<>(choices), renderer);
>         }
>
>         /**
> @@ -134,7 +134,7 @@ public abstract class AbstractChoice<T, E> extends
> FormComponent<T>
>          */
>         public AbstractChoice(final String id, IModel<T> model, final
> List<? extends E> choices)
>         {
> -               this(id, model, new WildcardListModel<>(choices), new
> ChoiceRenderer<E>());
> +               this(id, model, new ListModel<>(choices), new
> ChoiceRenderer<E>());
>         }
>
>         /**
> @@ -152,7 +152,7 @@ public abstract class AbstractChoice<T, E> extends
> FormComponent<T>
>         public AbstractChoice(final String id, IModel<T> model, final
> List<? extends E> choices,
>                 final IChoiceRenderer<? super E> renderer)
>         {
> -               this(id, model, new WildcardListModel<>(choices),
> renderer);
> +               this(id, model, new ListModel<>(choices), renderer);
>         }
>
>         /**
> @@ -271,7 +271,7 @@ public abstract class AbstractChoice<T, E> extends
> FormComponent<T>
>          *            the list of choices
>          * @return this for chaining
>          */
> -       public final AbstractChoice<T, E> setChoices(List<E> choices)
> +       public final AbstractChoice<T, E> setChoices(List<? extends E>
> choices)
>         {
>                 if ((this.choices != null))
>                 {
> @@ -280,7 +280,7 @@ public abstract class AbstractChoice<T, E> extends
> FormComponent<T>
>                                 addStateChange();
>                         }
>                 }
> -               this.choices = new WildcardListModel<>(choices);
> +               this.choices = new ListModel<>(choices);
>                 return this;
>         }
>
>
>
> http://git-wip-us.apache.org/repos/asf/wicket/blob/a04fc96a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/CheckGroup.java
> ----------------------------------------------------------------------
> diff --git
> a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/CheckGroup.java
> b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/CheckGroup.java
> index cec0f48..d7b6bf5 100644
> ---
> a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/CheckGroup.java
> +++
> b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/CheckGroup.java
> @@ -225,7 +225,7 @@ public class CheckGroup<T> extends
> FormComponent<Collection<T>> implements IOnCh
>          *
>          * @see #wantOnSelectionChangedNotifications()
>          */
> -       protected void onSelectionChanged(final Collection<? extends T>
> newSelection)
> +       protected void onSelectionChanged(final Collection<T> newSelection)
>

Should the application be allowed to add new items to "newSelestion" ?
Is there a use case for this ?
Or the idea is to make the API as open as possible and leave the
application decide what to do ?


>         {
>         }
>
>
>
> http://git-wip-us.apache.org/repos/asf/wicket/blob/a04fc96a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/upload/FileUploadField.java
> ----------------------------------------------------------------------
> diff --git
> a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/upload/FileUploadField.java
> b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/upload/FileUploadField.java
> index 9ebe306..dbc5cc9 100644
> ---
> a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/upload/FileUploadField.java
> +++
> b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/upload/FileUploadField.java
> @@ -62,9 +62,10 @@ public class FileUploadField extends
> FormComponent<List<FileUpload>>
>          * @param model
>          *            the model holding the uploaded {@link FileUpload}s
>          */
> -       public FileUploadField(final String id, IModel<List<FileUpload>>
> model)
> +       @SuppressWarnings("unchecked")
> +       public FileUploadField(final String id, IModel<? extends
> List<FileUpload>> model)
>         {
> -               super(id, model);
> +               super(id, (IModel<List<FileUpload>>)model);
>         }
>
>         /**
>
>
> http://git-wip-us.apache.org/repos/asf/wicket/blob/a04fc96a/wicket-core/src/main/java/org/apache/wicket/markup/html/list/ListView.java
> ----------------------------------------------------------------------
> diff --git
> a/wicket-core/src/main/java/org/apache/wicket/markup/html/list/ListView.java
> b/wicket-core/src/main/java/org/apache/wicket/markup/html/list/ListView.java
> index bb5a25a..54b3015 100644
> ---
> a/wicket-core/src/main/java/org/apache/wicket/markup/html/list/ListView.java
> +++
> b/wicket-core/src/main/java/org/apache/wicket/markup/html/list/ListView.java
> @@ -134,7 +134,7 @@ public abstract class ListView<T> extends
> AbstractRepeater
>          * @param model
>          * @see org.apache.wicket.Component#Component(String, IModel)
>          */
> -       public ListView(final String id, final IModel<? extends List<?
> extends T>> model)
> +       public ListView(final String id, final IModel<? extends List<T>>
> model)
>         {
>                 super(id, model);
>
> @@ -156,7 +156,7 @@ public abstract class ListView<T> extends
> AbstractRepeater
>          *            List to cast to Serializable
>          * @see org.apache.wicket.Component#Component(String, IModel)
>          */
> -       public ListView(final String id, final List<? extends T> list)
> +       public ListView(final String id, final List<T> list)
>         {
>                 this(id, Model.ofList(list));
>         }
> @@ -169,9 +169,9 @@ public abstract class ListView<T> extends
> AbstractRepeater
>          * @return The list of items in this list view.
>          */
>         @SuppressWarnings("unchecked")
> -       public final List<? extends T> getList()
> +       public final List<T> getList()
>         {
> -               final List<? extends T> list = (List<? extends
> T>)getDefaultModelObject();
> +               final List<T> list = (List<T>)getDefaultModelObject();
>                 if (list == null)
>                 {
>                         return Collections.emptyList();
> @@ -364,7 +364,7 @@ public abstract class ListView<T> extends
> AbstractRepeater
>          *            The list for the new model. The list must implement
> {@link Serializable}.
>          * @return This for chaining
>          */
> -       public ListView<T> setList(List<? extends T> list)
> +       public ListView<T> setList(List<T> list)
>         {
>                 setDefaultModel(Model.ofList(list));
>                 return this;
>
>
> http://git-wip-us.apache.org/repos/asf/wicket/blob/a04fc96a/wicket-core/src/main/java/org/apache/wicket/markup/html/list/PageableListView.java
> ----------------------------------------------------------------------
> diff --git
> a/wicket-core/src/main/java/org/apache/wicket/markup/html/list/PageableListView.java
> b/wicket-core/src/main/java/org/apache/wicket/markup/html/list/PageableListView.java
> index 2ea39bc..7c717dd 100644
> ---
> a/wicket-core/src/main/java/org/apache/wicket/markup/html/list/PageableListView.java
> +++
> b/wicket-core/src/main/java/org/apache/wicket/markup/html/list/PageableListView.java
> @@ -51,7 +51,7 @@ public abstract class PageableListView<T> extends
> ListView<T> implements IPageab
>          * @param itemsPerPage
>          *            Number of rows to show on a page
>          */
> -       public PageableListView(final String id, final IModel<? extends
> List<? extends T>> model,
> +       public PageableListView(final String id, final IModel<? extends
> List<T>> model,
>                 int itemsPerPage)
>         {
>                 super(id, model);
> @@ -70,7 +70,7 @@ public abstract class PageableListView<T> extends
> ListView<T> implements IPageab
>          *            Number of rows to show on a page
>          * @see ListView#ListView(String, List)
>          */
> -       public PageableListView(final String id, final List<? extends T>
> list, final int itemsPerPage)
> +       public PageableListView(final String id, final List<T> list, final
> int itemsPerPage)
>         {
>                 super(id, list);
>                 this.itemsPerPage = itemsPerPage;
>
>
> http://git-wip-us.apache.org/repos/asf/wicket/blob/a04fc96a/wicket-core/src/main/java/org/apache/wicket/markup/html/list/PropertyListView.java
> ----------------------------------------------------------------------
> diff --git
> a/wicket-core/src/main/java/org/apache/wicket/markup/html/list/PropertyListView.java
> b/wicket-core/src/main/java/org/apache/wicket/markup/html/list/PropertyListView.java
> index b380d8b..464a14e 100644
> ---
> a/wicket-core/src/main/java/org/apache/wicket/markup/html/list/PropertyListView.java
> +++
> b/wicket-core/src/main/java/org/apache/wicket/markup/html/list/PropertyListView.java
> @@ -57,7 +57,7 @@ public abstract class PropertyListView<T> extends
> ListView<T>
>          * @param model
>          *            wrapping a List
>          */
> -       public PropertyListView(final String id, final IModel<? extends
> List<? extends T>> model)
> +       public PropertyListView(final String id, final IModel<? extends
> List<T>> model)
>         {
>                 super(id, model);
>         }
> @@ -71,7 +71,7 @@ public abstract class PropertyListView<T> extends
> ListView<T>
>          * @param list
>          *            unmodeled List
>          */
> -       public PropertyListView(final String id, final List<? extends T>
> list)
> +       public PropertyListView(final String id, final List<T> list)
>         {
>                 super(id, list);
>         }
>
>
> http://git-wip-us.apache.org/repos/asf/wicket/blob/a04fc96a/wicket-core/src/main/java/org/apache/wicket/markup/repeater/AbstractPageableView.java
> ----------------------------------------------------------------------
> diff --git
> a/wicket-core/src/main/java/org/apache/wicket/markup/repeater/AbstractPageableView.java
> b/wicket-core/src/main/java/org/apache/wicket/markup/repeater/AbstractPageableView.java
> index d9b93a1..297ee8c 100644
> ---
> a/wicket-core/src/main/java/org/apache/wicket/markup/repeater/AbstractPageableView.java
> +++
> b/wicket-core/src/main/java/org/apache/wicket/markup/repeater/AbstractPageableView.java
> @@ -73,7 +73,7 @@ public abstract class AbstractPageableView<T> extends
> RefreshingView<T> implemen
>          * @param model
>          * @see org.apache.wicket.Component#Component(String, IModel)
>          */
> -       public AbstractPageableView(String id, IModel<? extends
> Collection<? extends T>> model)
> +       public AbstractPageableView(String id, IModel<? extends
> Collection<T>> model)
>         {
>                 super(id, model);
>                 clearCachedItemCount();
>
>
> http://git-wip-us.apache.org/repos/asf/wicket/blob/a04fc96a/wicket-core/src/main/java/org/apache/wicket/markup/repeater/RefreshingView.java
> ----------------------------------------------------------------------
> diff --git
> a/wicket-core/src/main/java/org/apache/wicket/markup/repeater/RefreshingView.java
> b/wicket-core/src/main/java/org/apache/wicket/markup/repeater/RefreshingView.java
> index a2c2220..3e18d88 100644
> ---
> a/wicket-core/src/main/java/org/apache/wicket/markup/repeater/RefreshingView.java
> +++
> b/wicket-core/src/main/java/org/apache/wicket/markup/repeater/RefreshingView.java
> @@ -16,6 +16,7 @@
>   */
>  package org.apache.wicket.markup.repeater;
>
> +import java.util.Collection;
>  import java.util.Iterator;
>
>  import org.apache.wicket.markup.repeater.util.ModelIteratorAdapter;
> @@ -78,7 +79,7 @@ public abstract class RefreshingView<T> extends
> RepeatingView
>          * @param model
>          *            model
>          */
> -       public RefreshingView(String id, IModel<?> model)
> +       public RefreshingView(String id, IModel<? extends Collection<T>>
> model)
>         {
>                 super(id, model);
>         }
>
>
> http://git-wip-us.apache.org/repos/asf/wicket/blob/a04fc96a/wicket-core/src/main/java/org/apache/wicket/markup/repeater/data/ListDataProvider.java
> ----------------------------------------------------------------------
> diff --git
> a/wicket-core/src/main/java/org/apache/wicket/markup/repeater/data/ListDataProvider.java
> b/wicket-core/src/main/java/org/apache/wicket/markup/repeater/data/ListDataProvider.java
> index 6ec9248..c3af567 100644
> ---
> a/wicket-core/src/main/java/org/apache/wicket/markup/repeater/data/ListDataProvider.java
> +++
> b/wicket-core/src/main/java/org/apache/wicket/markup/repeater/data/ListDataProvider.java
> @@ -75,7 +75,7 @@ public class ListDataProvider<T extends Serializable>
> implements IDataProvider<T
>         }
>
>         @Override
> -       public Iterator<? extends T> iterator(final long first, final long
> count)
> +       public Iterator<T> iterator(final long first, final long count)
>         {
>                 List<T> list = getData();
>
>
>
> http://git-wip-us.apache.org/repos/asf/wicket/blob/a04fc96a/wicket-core/src/test/java/org/apache/wicket/markup/html/form/ListMultipleChoiceTest.java
> ----------------------------------------------------------------------
> diff --git
> a/wicket-core/src/test/java/org/apache/wicket/markup/html/form/ListMultipleChoiceTest.java
> b/wicket-core/src/test/java/org/apache/wicket/markup/html/form/ListMultipleChoiceTest.java
> index 53cd69f..ea57bbd 100644
> ---
> a/wicket-core/src/test/java/org/apache/wicket/markup/html/form/ListMultipleChoiceTest.java
> +++
> b/wicket-core/src/test/java/org/apache/wicket/markup/html/form/ListMultipleChoiceTest.java
> @@ -23,7 +23,7 @@ import java.util.List;
>  import org.apache.wicket.WicketTestCase;
>  import org.apache.wicket.markup.html.WebPage;
>  import org.apache.wicket.model.IModel;
> -import org.apache.wicket.model.Model;
> +import org.apache.wicket.model.util.ListModel;
>  import org.apache.wicket.util.tester.FormTester;
>  import org.junit.Test;
>
> @@ -31,7 +31,7 @@ public class ListMultipleChoiceTest extends
> WicketTestCase
>  {
>         public class TestPage extends WebPage
>         {
> -               public IModel<List<String>> selectedValues = new Model(new
> ArrayList<String>());
> +               public IModel<List<String>> selectedValues = new
> ListModel<String>(new ArrayList<String>());
>                 public List<String> choices = Arrays.asList("a", "b", "c",
> "d", "e", "f");
>
>                 public TestPage()
>
>
> http://git-wip-us.apache.org/repos/asf/wicket/blob/a04fc96a/wicket-datetime/src/test/java/org/apache/wicket/extensions/yui/calendar/DatesPage1.java
> ----------------------------------------------------------------------
> diff --git
> a/wicket-datetime/src/test/java/org/apache/wicket/extensions/yui/calendar/DatesPage1.java
> b/wicket-datetime/src/test/java/org/apache/wicket/extensions/yui/calendar/DatesPage1.java
> index 51e643d..e9ada95 100644
> ---
> a/wicket-datetime/src/test/java/org/apache/wicket/extensions/yui/calendar/DatesPage1.java
> +++
> b/wicket-datetime/src/test/java/org/apache/wicket/extensions/yui/calendar/DatesPage1.java
> @@ -86,7 +86,7 @@ public class DatesPage1 extends WebPage
>                 {
>                         super(id);
>                         // sort locales on strings of selected locale
> -                       setChoices(new AbstractReadOnlyModel<List<?
> extends Locale>>()
> +                       setChoices(new
> AbstractReadOnlyModel<List<Locale>>()
>                         {
>                                 private static final long serialVersionUID
> = 1L;
>
>
>
> http://git-wip-us.apache.org/repos/asf/wicket/blob/a04fc96a/wicket-examples/src/main/java/org/apache/wicket/examples/ajax/builtin/ChoicePage.java
> ----------------------------------------------------------------------
> diff --git
> a/wicket-examples/src/main/java/org/apache/wicket/examples/ajax/builtin/ChoicePage.java
> b/wicket-examples/src/main/java/org/apache/wicket/examples/ajax/builtin/ChoicePage.java
> index b6a773b..b630228 100644
> ---
> a/wicket-examples/src/main/java/org/apache/wicket/examples/ajax/builtin/ChoicePage.java
> +++
> b/wicket-examples/src/main/java/org/apache/wicket/examples/ajax/builtin/ChoicePage.java
> @@ -69,7 +69,7 @@ public class ChoicePage extends BasePage
>                 modelsMap.put("CADILLAC", Arrays.asList("CTS", "DTS",
> "ESCALADE", "SRX", "DEVILLE"));
>                 modelsMap.put("FORD", Arrays.asList("CROWN", "ESCAPE",
> "EXPEDITION", "EXPLORER", "F-150"));
>
> -               IModel<List<? extends String>> makeChoices = new
> AbstractReadOnlyModel<List<? extends String>>()
> +               IModel<List<String>> makeChoices = new
> AbstractReadOnlyModel<List<String>>()
>                 {
>                         @Override
>                         public List<String> getObject()
> @@ -79,7 +79,7 @@ public class ChoicePage extends BasePage
>
>                 };
>
> -               IModel<List<? extends String>> modelChoices = new
> AbstractReadOnlyModel<List<? extends String>>()
> +               IModel<List<String>> modelChoices = new
> AbstractReadOnlyModel<List<String>>()
>                 {
>                         @Override
>                         public List<String> getObject()
>
>
> http://git-wip-us.apache.org/repos/asf/wicket/blob/a04fc96a/wicket-examples/src/main/java/org/apache/wicket/examples/compref/CheckBoxSelectorPage.java
> ----------------------------------------------------------------------
> diff --git
> a/wicket-examples/src/main/java/org/apache/wicket/examples/compref/CheckBoxSelectorPage.java
> b/wicket-examples/src/main/java/org/apache/wicket/examples/compref/CheckBoxSelectorPage.java
> index d0427f4..90d05bf 100644
> ---
> a/wicket-examples/src/main/java/org/apache/wicket/examples/compref/CheckBoxSelectorPage.java
> +++
> b/wicket-examples/src/main/java/org/apache/wicket/examples/compref/CheckBoxSelectorPage.java
> @@ -85,7 +85,7 @@ public class CheckBoxSelectorPage extends
> WicketExamplePage
>                         }
>                 });
>                 final CheckBoxMultipleChoice<Integer> choice = new
> CheckBoxMultipleChoice<Integer>(
> -                       "choice", Model.ofList(new ArrayList()),
> Arrays.asList(1, 2, 3, 4));
> +                       "choice", Model.of(new ArrayList<Integer>()),
> Arrays.asList(1, 2, 3, 4));
>                 form.add(choice);
>                 form.add(new
> CheckboxMultipleChoiceSelector("choiceSelector", choice));
>                 final CheckBox loose1 = new CheckBox("looseCheck1",
> Model.of(Boolean.FALSE));
>
>
> http://git-wip-us.apache.org/repos/asf/wicket/blob/a04fc96a/wicket-examples/src/main/java/org/apache/wicket/examples/compref/SelectPage.java
> ----------------------------------------------------------------------
> diff --git
> a/wicket-examples/src/main/java/org/apache/wicket/examples/compref/SelectPage.java
> b/wicket-examples/src/main/java/org/apache/wicket/examples/compref/SelectPage.java
> index 09edec3..e858f6b 100644
> ---
> a/wicket-examples/src/main/java/org/apache/wicket/examples/compref/SelectPage.java
> +++
> b/wicket-examples/src/main/java/org/apache/wicket/examples/compref/SelectPage.java
> @@ -22,7 +22,6 @@ import java.util.Collection;
>  import java.util.Iterator;
>  import java.util.List;
>
> -import org.apache.wicket.util.io.IClusterable;
>  import org.apache.wicket.examples.WicketExamplePage;
>  import
> org.apache.wicket.extensions.markup.html.form.select.IOptionRenderer;
>  import org.apache.wicket.extensions.markup.html.form.select.Select;
> @@ -33,7 +32,8 @@ import org.apache.wicket.markup.html.panel.FeedbackPanel;
>  import org.apache.wicket.model.CompoundPropertyModel;
>  import org.apache.wicket.model.IModel;
>  import org.apache.wicket.model.Model;
> -import org.apache.wicket.model.util.WildcardCollectionModel;
> +import org.apache.wicket.model.util.CollectionModel;
> +import org.apache.wicket.util.io.IClusterable;
>
>
>  /**
> @@ -49,7 +49,7 @@ public class SelectPage extends WicketExamplePage
>                 "Java.Net");
>
>         /** available choices for large selection box. */
> -       private static final List<? extends String> MANY_CHOICES =
> Arrays.asList("Choice1", "Choice2",
> +       private static final List<String> MANY_CHOICES =
> Arrays.asList("Choice1", "Choice2",
>                 "Choice3", "Choice4", "Choice5", "Choice6", "Choice7",
> "Choice8", "Choice9");
>
>         /**
> @@ -103,7 +103,7 @@ public class SelectPage extends WicketExamplePage
>                         }
>
>                 };
> -               IModel<Collection<? extends String>> model = new
> WildcardCollectionModel<String>(
> +               IModel<Collection<String>> model = new
> CollectionModel<String>(
>                         MANY_CHOICES);
>                 choices.add(new SelectOptions<>("manychoices", model,
> renderer));
>
>
>
> http://git-wip-us.apache.org/repos/asf/wicket/blob/a04fc96a/wicket-examples/src/main/java/org/apache/wicket/examples/dates/DatesPage.java
> ----------------------------------------------------------------------
> diff --git
> a/wicket-examples/src/main/java/org/apache/wicket/examples/dates/DatesPage.java
> b/wicket-examples/src/main/java/org/apache/wicket/examples/dates/DatesPage.java
> index b2b7edf..30bc937 100644
> ---
> a/wicket-examples/src/main/java/org/apache/wicket/examples/dates/DatesPage.java
> +++
> b/wicket-examples/src/main/java/org/apache/wicket/examples/dates/DatesPage.java
> @@ -83,7 +83,7 @@ public class DatesPage extends WicketExamplePage
>                 {
>                         super(id);
>                         // sort locales on strings of selected locale
> -                       setChoices(new AbstractReadOnlyModel<List<?
> extends Locale>>()
> +                       setChoices(new
> AbstractReadOnlyModel<List<Locale>>()
>                         {
>                                 @Override
>                                 public List<Locale> getObject()
>
>
> http://git-wip-us.apache.org/repos/asf/wicket/blob/a04fc96a/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/AjaxEditableChoiceLabel.java
> ----------------------------------------------------------------------
> diff --git
> a/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/AjaxEditableChoiceLabel.java
> b/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/AjaxEditableChoiceLabel.java
> index cac99fe..632a1e8 100644
> ---
> a/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/AjaxEditableChoiceLabel.java
> +++
> b/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/AjaxEditableChoiceLabel.java
> @@ -51,7 +51,7 @@ public class AjaxEditableChoiceLabel<T> extends
> AjaxEditableLabel<T>
>         private IModel<? extends List<? extends T>> choices;
>
>         /** The renderer used to generate display/id values for the
> objects. */
> -       private IChoiceRenderer<T> renderer;
> +       private IChoiceRenderer<? super T> renderer;
>
>         /**
>          * Construct.
> @@ -120,7 +120,7 @@ public class AjaxEditableChoiceLabel<T> extends
> AjaxEditableLabel<T>
>          *            The rendering engine
>          */
>         public AjaxEditableChoiceLabel(final String id, final IModel<T>
> model,
> -               final IModel<? extends List<? extends T>> choices, final
> IChoiceRenderer<T> renderer)
> +               final IModel<? extends List<? extends T>> choices, final
> IChoiceRenderer<? super T> renderer)
>         {
>                 super(id, model);
>                 this.choices = choices;
> @@ -156,7 +156,7 @@ public class AjaxEditableChoiceLabel<T> extends
> AjaxEditableLabel<T>
>          *            The rendering engine
>          */
>         public AjaxEditableChoiceLabel(final String id, final IModel<T>
> model,
> -               final List<? extends T> choices, final IChoiceRenderer<T>
> renderer)
> +               final List<? extends T> choices, final IChoiceRenderer<?
> super T> renderer)
>         {
>                 this(id, model, Model.ofList(choices), renderer);
>         }
>
>
> http://git-wip-us.apache.org/repos/asf/wicket/blob/a04fc96a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/form/palette/Palette.java
> ----------------------------------------------------------------------
> diff --git
> a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/form/palette/Palette.java
> b/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/form/palette/Palette.java
> index 41534df..1030829 100644
> ---
> a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/form/palette/Palette.java
> +++
> b/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/form/palette/Palette.java
> @@ -89,7 +89,7 @@ public class Palette<T> extends
> FormComponentPanel<Collection<T>>
>         /**
>          * choice render used to render the choices in both available and
> selected collections
>          */
> -       private final IChoiceRenderer<T> choiceRenderer;
> +       private final IChoiceRenderer<? super T> choiceRenderer;
>
>         /** number of rows to show in the select boxes */
>         private final int rows;
> @@ -135,7 +135,7 @@ public class Palette<T> extends
> FormComponentPanel<Collection<T>>
>          *            Allow user to move selections up and down
>          */
>         public Palette(final String id, final IModel<? extends
> Collection<T>> choicesModel,
> -               final IChoiceRenderer<T> choiceRenderer, final int rows,
> final boolean allowOrder)
> +               final IChoiceRenderer<? super T> choiceRenderer, final int
> rows, final boolean allowOrder)
>         {
>                 this(id, null, choicesModel, choiceRenderer, rows,
> allowOrder);
>         }
> @@ -155,10 +155,9 @@ public class Palette<T> extends
> FormComponentPanel<Collection<T>>
>          * @param allowOrder
>          *            Allow user to move selections up and down
>          */
> -       @SuppressWarnings("unchecked")
>         public Palette(final String id, final IModel<? extends
> Collection<T>> model,
>                 final IModel<? extends Collection<? extends T>>
> choicesModel,
> -               final IChoiceRenderer<T> choiceRenderer, final int rows,
> final boolean allowOrder)
> +               final IChoiceRenderer<? super T> choiceRenderer, final int
> rows, final boolean allowOrder)
>         {
>                 this(id, model, choicesModel, choiceRenderer, rows,
> allowOrder, false);
>         }
> @@ -182,7 +181,7 @@ public class Palette<T> extends
> FormComponentPanel<Collection<T>>
>          */
>         public Palette(final String id, final IModel<? extends
> Collection<T>> model,
>                 final IModel<? extends Collection<? extends T>>
> choicesModel,
> -               final IChoiceRenderer<T> choiceRenderer, final int rows,
> final boolean allowOrder,
> +               final IChoiceRenderer<? super T> choiceRenderer, final int
> rows, final boolean allowOrder,
>                 boolean allowMoveAll)
>         {
>                 super(id, (IModel<Collection<T>>)model);
> @@ -540,7 +539,7 @@ public class Palette<T> extends
> FormComponentPanel<Collection<T>>
>         /**
>          * @return choice renderer
>          */
> -       public IChoiceRenderer<T> getChoiceRenderer()
> +       public IChoiceRenderer<? super T> getChoiceRenderer()
>         {
>                 return choiceRenderer;
>         }
>
>
> http://git-wip-us.apache.org/repos/asf/wicket/blob/a04fc96a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/form/palette/component/AbstractOptions.java
> ----------------------------------------------------------------------
> diff --git
> a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/form/palette/component/AbstractOptions.java
> b/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/form/palette/component/AbstractOptions.java
> index f5d3fc0..9c276fd 100644
> ---
> a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/form/palette/component/AbstractOptions.java
> +++
> b/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/form/palette/component/AbstractOptions.java
> @@ -71,7 +71,7 @@ public abstract class AbstractOptions<T> extends
> FormComponent<T>
>         {
>                 StringBuilder buffer = new StringBuilder(128);
>                 Iterator<T> options = getOptionsIterator();
> -               IChoiceRenderer<T> renderer =
> getPalette().getChoiceRenderer();
> +               IChoiceRenderer<? super T> renderer =
> getPalette().getChoiceRenderer();
>
>                 boolean localizeDisplayValues = localizeDisplayValues();
>
>
>
> http://git-wip-us.apache.org/repos/asf/wicket/blob/a04fc96a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/form/palette/component/Recorder.java
> ----------------------------------------------------------------------
> diff --git
> a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/form/palette/component/Recorder.java
> b/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/form/palette/component/Recorder.java
> index 64fa895..f75f57a 100644
> ---
> a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/form/palette/component/Recorder.java
> +++
> b/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/form/palette/component/Recorder.java
> @@ -87,7 +87,7 @@ public class Recorder<T> extends HiddenField<String>
>         private void initIds()
>         {
>                 // construct the model string based on selection collection
> -               IChoiceRenderer<T> renderer =
> getPalette().getChoiceRenderer();
> +               IChoiceRenderer<? super T> renderer =
> getPalette().getChoiceRenderer();
>                 StringBuilder modelStringBuffer = new StringBuilder();
>                 Collection<T> modelCollection =
> getPalette().getModelCollection();
>                 if (modelCollection == null)
> @@ -123,7 +123,7 @@ public class Recorder<T> extends HiddenField<String>
>          */
>         public List<T> getSelectedList()
>         {
> -               final IChoiceRenderer<T> renderer =
> getPalette().getChoiceRenderer();
> +               final IChoiceRenderer<? super T> renderer =
> getPalette().getChoiceRenderer();
>                 final Collection<? extends T> choices =
> getPalette().getChoices();
>                 final List<T> selected = new ArrayList<>(choices.size());
>
> @@ -160,7 +160,7 @@ public class Recorder<T> extends HiddenField<String>
>          */
>         public List<T> getUnselectedList()
>         {
> -               final IChoiceRenderer<T> renderer =
> getPalette().getChoiceRenderer();
> +               final IChoiceRenderer<? super T> renderer =
> getPalette().getChoiceRenderer();
>                 final Collection<? extends T> choices =
> getPalette().getChoices();
>                 final List<T> unselected = new ArrayList<>(choices.size());
>                 final String ids = getValue();
>
>
> http://git-wip-us.apache.org/repos/asf/wicket/blob/a04fc96a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/form/select/SelectOption.java
> ----------------------------------------------------------------------
> diff --git
> a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/form/select/SelectOption.java
> b/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/form/select/SelectOption.java
> index 2320222..16833d9 100644
> ---
> a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/form/select/SelectOption.java
> +++
> b/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/form/select/SelectOption.java
> @@ -54,7 +54,7 @@ public class SelectOption<T> extends WebMarkupContainer
> implements IGenericCompo
>          * @param model
>          * @see WebMarkupContainer#WebMarkupContainer(String, IModel)
>          */
> -       public SelectOption(final String id, final IModel<? extends T>
> model)
> +       public SelectOption(final String id, final IModel<T> model)
>         {
>                 super(id, model);
>         }
>
>
> http://git-wip-us.apache.org/repos/asf/wicket/blob/a04fc96a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/form/select/SelectOptions.java
> ----------------------------------------------------------------------
> diff --git
> a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/form/select/SelectOptions.java
> b/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/form/select/SelectOptions.java
> index 1b2ed77..c02f058 100644
> ---
> a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/form/select/SelectOptions.java
> +++
> b/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/form/select/SelectOptions.java
> @@ -24,7 +24,7 @@ import org.apache.wicket.markup.html.WebMarkupContainer;
>  import org.apache.wicket.markup.parser.XmlTag.TagType;
>  import org.apache.wicket.markup.repeater.RepeatingView;
>  import org.apache.wicket.model.IModel;
> -import org.apache.wicket.model.util.WildcardCollectionModel;
> +import org.apache.wicket.model.util.CollectionModel;
>
>
>  /**
> @@ -56,7 +56,7 @@ public class SelectOptions<T> extends RepeatingView
>          * @param model
>          * @param renderer
>          */
> -       public SelectOptions(final String id, final IModel<? extends
> Collection<? extends T>> model,
> +       public SelectOptions(final String id, final IModel<? extends
> Collection<T>> model,
>                 final IOptionRenderer<T> renderer)
>         {
>                 super(id, model);
> @@ -71,10 +71,10 @@ public class SelectOptions<T> extends RepeatingView
>          * @param elements
>          * @param renderer
>          */
> -       public SelectOptions(final String id, final Collection<? extends
> T> elements,
> +       public SelectOptions(final String id, final Collection<T> elements,
>                 final IOptionRenderer<T> renderer)
>         {
> -               this(id, new WildcardCollectionModel<>(elements),
> renderer);
> +               this(id, new CollectionModel<>(elements), renderer);
>         }
>
>         /**
> @@ -107,7 +107,7 @@ public class SelectOptions<T> extends RepeatingView
>                         // populate this repeating view with SelectOption
> components
>                         removeAll();
>
> -                       Collection<? extends T> modelObject =
> (Collection<? extends T>)getDefaultModelObject();
> +                       Collection<T> modelObject =
> (Collection<T>)getDefaultModelObject();
>
>                         if (modelObject != null)
>                         {
> @@ -135,7 +135,7 @@ public class SelectOptions<T> extends RepeatingView
>          * @param model
>          * @return a {@link SelectOption}
>          */
> -       protected SelectOption<T> newOption(final String text, final
> IModel<? extends T> model)
> +       protected SelectOption<T> newOption(final String text, final
> IModel<T> model)
>         {
>                 return new SimpleSelectOption<>("option", model, text);
>         }
> @@ -155,7 +155,7 @@ public class SelectOptions<T> extends RepeatingView
>                  * @param model
>                  * @param text
>                  */
> -               public SimpleSelectOption(final String id, final IModel<?
> extends V> model, final String text)
> +               public SimpleSelectOption(final String id, final IModel<V>
> model, final String text)
>                 {
>                         super(id, model);
>                         this.text = text;
>
>
> http://git-wip-us.apache.org/repos/asf/wicket/blob/a04fc96a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/table/filter/ChoiceFilter.java
> ----------------------------------------------------------------------
> diff --git
> a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/table/filter/ChoiceFilter.java
> b/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/table/filter/ChoiceFilter.java
> index 7917bd5..f4038cc 100644
> ---
> a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/table/filter/ChoiceFilter.java
> +++
> b/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/table/filter/ChoiceFilter.java
> @@ -49,7 +49,7 @@ public class ChoiceFilter<T> extends AbstractFilter
>          * @param autoSubmit
>          */
>         public ChoiceFilter(final String id, final IModel<T> model, final
> FilterForm<?> form,
> -               final IModel<List<? extends T>> choices, final boolean
> autoSubmit)
> +               final IModel<? extends List<? extends T>> choices, final
> boolean autoSubmit)
>         {
>                 this(id, model, form, choices, new ChoiceRenderer<T>(),
> autoSubmit);
>         }
> @@ -76,7 +76,8 @@ public class ChoiceFilter<T> extends AbstractFilter
>          * @param autoSubmit
>          */
>         public ChoiceFilter(final String id, final IModel<T> model, final
> FilterForm<?> form,
> -               final List<? extends T> choices, final IChoiceRenderer<T>
> renderer, final boolean autoSubmit)
> +               final List<? extends T> choices, final IChoiceRenderer<?
> super T> renderer,
> +               final boolean autoSubmit)
>         {
>                 this(id, model, form, Model.ofList(choices), renderer,
> autoSubmit);
>         }
> @@ -97,7 +98,8 @@ public class ChoiceFilter<T> extends AbstractFilter
>          * @see DropDownChoice
>          */
>         public ChoiceFilter(final String id, final IModel<T> model, final
> FilterForm<?> form,
> -               final IModel<List<? extends T>> choices, final
> IChoiceRenderer<T> renderer,
> +               final IModel<? extends List<? extends T>> choices,
> +               final IChoiceRenderer<? super T> renderer,
>                 final boolean autoSubmit)
>         {
>                 super(id, form);
> @@ -127,7 +129,7 @@ public class ChoiceFilter<T> extends AbstractFilter
>          * @return created drop down component
>          */
>         protected DropDownChoice<T> newDropDownChoice(final String id,
> final IModel<T> model,
> -               final IModel<List<? extends T>> choices, final
> IChoiceRenderer<T> renderer)
> +               final IModel<? extends List<? extends T>> choices, final
> IChoiceRenderer<? super T> renderer)
>         {
>                 DropDownChoice<T> dropDownChoice = new
> DropDownChoice<>(id, model, choices, renderer);
>                 dropDownChoice.setNullValid(true);
>
>
> http://git-wip-us.apache.org/repos/asf/wicket/blob/a04fc96a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/table/filter/ChoiceFilteredPropertyColumn.java
> ----------------------------------------------------------------------
> diff --git
> a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/table/filter/ChoiceFilteredPropertyColumn.java
> b/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/table/filter/ChoiceFilteredPropertyColumn.java
> index bedf33c..cf05fbe 100644
> ---
> a/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/table/filter/ChoiceFilteredPropertyColumn.java
> +++
> b/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/table/filter/ChoiceFilteredPropertyColumn.java
> @@ -40,7 +40,7 @@ import org.apache.wicket.model.PropertyModel;
>  public class ChoiceFilteredPropertyColumn<T, Y, S> extends
> FilteredPropertyColumn<T, S>
>  {
>         private static final long serialVersionUID = 1L;
> -       private final IModel<List<? extends Y>> filterChoices;
> +       private final IModel<? extends List<? extends Y>> filterChoices;
>
>         /**
>          * @param displayModel
> @@ -51,7 +51,7 @@ public class ChoiceFilteredPropertyColumn<T, Y, S>
> extends FilteredPropertyColum
>          */
>         public ChoiceFilteredPropertyColumn(final IModel<String>
> displayModel,
>                 final S sortProperty, final String propertyExpression,
> -               final IModel<List<? extends Y>> filterChoices)
> +               final IModel<? extends List<? extends Y>> filterChoices)
>         {
>                 super(displayModel, sortProperty, propertyExpression);
>                 this.filterChoices = filterChoices;
> @@ -64,7 +64,7 @@ public class ChoiceFilteredPropertyColumn<T, Y, S>
> extends FilteredPropertyColum
>          *            collection of choices used in the choice filter
>          */
>         public ChoiceFilteredPropertyColumn(final IModel<String>
> displayModel,
> -               final String propertyExpression, final IModel<List<?
> extends Y>> filterChoices)
> +               final String propertyExpression, final IModel<? extends
> List<? extends Y>> filterChoices)
>         {
>                 super(displayModel, propertyExpression);
>                 this.filterChoices = filterChoices;
> @@ -138,7 +138,7 @@ public class ChoiceFilteredPropertyColumn<T, Y, S>
> extends FilteredPropertyColum
>         /**
>          * @return filter choices model
>          */
> -       protected final IModel<List<? extends Y>> getFilterChoices()
> +       protected final IModel<? extends List<? extends Y>>
> getFilterChoices()
>         {
>                 return filterChoices;
>         }
>
>
> http://git-wip-us.apache.org/repos/asf/wicket/blob/a04fc96a/wicket-extensions/src/test/java/org/apache/wicket/extensions/markup/html/repeater/data/table/DataTableTest.java
> ----------------------------------------------------------------------
> diff --git
> a/wicket-extensions/src/test/java/org/apache/wicket/extensions/markup/html/repeater/data/table/DataTableTest.java
> b/wicket-extensions/src/test/java/org/apache/wicket/extensions/markup/html/repeater/data/table/DataTableTest.java
> index d9711cc..4ce110b 100644
> ---
> a/wicket-extensions/src/test/java/org/apache/wicket/extensions/markup/html/repeater/data/table/DataTableTest.java
> +++
> b/wicket-extensions/src/test/java/org/apache/wicket/extensions/markup/html/repeater/data/table/DataTableTest.java
> @@ -150,10 +150,11 @@ public class DataTableTest extends WicketTestCase
>                                 }
>
>                                 @Override
> -                               public Iterator<? extends Number>
> iterator(long first, long count)
> +                               public Iterator<Integer> iterator(long
> first, long count)
>                                 {
>                                         StringValue emptyValue =
> getPageParameters().get("empty");
> -                                       return emptyValue.toBoolean() ?
> Collections.<Integer> emptyList().iterator()
> +                                       return emptyValue.toBoolean()
> +                                               ? Collections.<Integer>
> emptyList().iterator()
>                                                 : items.iterator();
>                                 }
>
>
>