You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by iv...@apache.org on 2008/04/27 07:08:31 UTC

svn commit: r651883 - in /wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/repeater/data: DefaultDataProvider.java EmptyDataProvider.java GridView.java ListDataProvider.java

Author: ivaynberg
Date: Sat Apr 26 22:08:28 2008
New Revision: 651883

URL: http://svn.apache.org/viewvc?rev=651883&view=rev
Log:
warnings cleanup

Modified:
    wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/repeater/data/DefaultDataProvider.java
    wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/repeater/data/EmptyDataProvider.java
    wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/repeater/data/GridView.java
    wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/repeater/data/ListDataProvider.java

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/repeater/data/DefaultDataProvider.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/repeater/data/DefaultDataProvider.java?rev=651883&r1=651882&r2=651883&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/repeater/data/DefaultDataProvider.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/repeater/data/DefaultDataProvider.java Sat Apr 26 22:08:28 2008
@@ -17,11 +17,17 @@
 package org.apache.wicket.markup.repeater.data;
 
 
-public abstract class DefaultDataProvider implements IDataProvider
+/**
+ * Base class for nondetachable data providers
+ * 
+ * @param <T>
+ * 
+ * @deprecated not very useful
+ */
+@Deprecated
+public abstract class DefaultDataProvider<T> implements IDataProvider<T>
 {
-	/**
-	 * 
-	 */
+
 	private static final long serialVersionUID = 1L;
 
 	public void detach()

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/repeater/data/EmptyDataProvider.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/repeater/data/EmptyDataProvider.java?rev=651883&r1=651882&r2=651883&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/repeater/data/EmptyDataProvider.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/repeater/data/EmptyDataProvider.java Sat Apr 26 22:08:28 2008
@@ -18,6 +18,7 @@
 
 import java.util.Collections;
 import java.util.Iterator;
+import java.util.List;
 
 import org.apache.wicket.model.IModel;
 
@@ -26,27 +27,31 @@
  * A convenience class to represent an empty data provider.
  * 
  * @author Phil Kulak
+ * @param <T>
  */
-public class EmptyDataProvider implements IDataProvider
+public class EmptyDataProvider<T> implements IDataProvider<T>
 {
 	private static final long serialVersionUID = 1L;
 
-	private static EmptyDataProvider INSTANCE = new EmptyDataProvider();
+	private static EmptyDataProvider< ? > INSTANCE = new EmptyDataProvider<Void>();
 
 	/**
+	 * @param <T>
 	 * @return the singleton instance of this class
 	 */
-	public static EmptyDataProvider getInstance()
+	@SuppressWarnings("unchecked")
+	public static <T> EmptyDataProvider<T> getInstance()
 	{
-		return INSTANCE;
+		return (EmptyDataProvider<T>)INSTANCE;
 	}
 
 	/**
 	 * @see IDataProvider#iterator(int, int)
 	 */
-	public Iterator iterator(int first, int count)
+	public Iterator<T> iterator(int first, int count)
 	{
-		return Collections.EMPTY_LIST.iterator();
+		List<T> list = Collections.emptyList();
+		return list.iterator();
 	}
 
 	/**
@@ -60,7 +65,7 @@
 	/**
 	 * @see IDataProvider#model(Object)
 	 */
-	public IModel model(Object object)
+	public IModel<T> model(Object object)
 	{
 		return null;
 	}

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/repeater/data/GridView.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/repeater/data/GridView.java?rev=651883&r1=651882&r2=651883&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/repeater/data/GridView.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/repeater/data/GridView.java Sat Apr 26 22:08:28 2008
@@ -18,9 +18,11 @@
 
 import java.util.Iterator;
 
+import org.apache.wicket.Component;
 import org.apache.wicket.MarkupContainer;
 import org.apache.wicket.markup.repeater.Item;
 import org.apache.wicket.markup.repeater.RepeatingView;
+import org.apache.wicket.util.lang.Generics;
 import org.apache.wicket.version.undo.Change;
 
 
@@ -50,15 +52,13 @@
  * 
  * @author Igor Vaynberg
  * @author Christian Essl
+ * @param <T>
  * 
  */
-public abstract class GridView extends DataViewBase
+public abstract class GridView<T> extends DataViewBase<T>
 {
-
-	/**
-	 * 
-	 */
 	private static final long serialVersionUID = 1L;
+
 	private int columns = 1;
 	private int rows = Integer.MAX_VALUE;
 
@@ -69,7 +69,7 @@
 	 * @param dataProvider
 	 *            data provider
 	 */
-	public GridView(String id, IDataProvider dataProvider)
+	public GridView(String id, IDataProvider<T> dataProvider)
 	{
 		super(id, dataProvider);
 	}
@@ -90,7 +90,7 @@
 	 *            number of columns
 	 * @return this for chaining
 	 */
-	public GridView setColumns(int cols)
+	public GridView<T> setColumns(int cols)
 	{
 		if (cols < 1)
 		{
@@ -107,11 +107,13 @@
 
 					final int old = columns;
 
+					@Override
 					public void undo()
 					{
 						columns = old;
 					}
 
+					@Override
 					public String toString()
 					{
 						return "GridViewColumnsChange[component: " + getPath() +
@@ -140,7 +142,7 @@
 	 *            number of rows
 	 * @return this for chaining
 	 */
-	public GridView setRows(int rows)
+	public GridView<T> setRows(int rows)
 	{
 		if (rows < 1)
 		{
@@ -157,11 +159,13 @@
 
 					final int old = GridView.this.rows;
 
+					@Override
 					public void undo()
 					{
 						GridView.this.rows = old;
 					}
 
+					@Override
 					public String toString()
 					{
 						return "GridViewRowsChange[component: " + getPath() + ", removed rows: " +
@@ -198,7 +202,8 @@
 	}
 
 
-	protected void addItems(Iterator items)
+	@Override
+	protected void addItems(Iterator<Item<T>> items)
 	{
 		if (items.hasNext())
 		{
@@ -209,18 +214,18 @@
 			do
 			{
 				// Build a row
-				Item rowItem = newRowItem(newChildId(), row);
-				RepeatingView rowView = new RepeatingView("cols");
+				Item< ? > rowItem = newRowItem(newChildId(), row);
+				RepeatingView< ? > rowView = new RepeatingView<Void>("cols");
 				rowItem.add(rowView);
 				add(rowItem);
 
 				// Populate the row
 				for (int index = 0; index < cols; index++)
 				{
-					final Item cellItem;
+					final Item<T> cellItem;
 					if (items.hasNext())
 					{
-						cellItem = (Item)items.next();
+						cellItem = items.next();
 					}
 					else
 					{
@@ -242,7 +247,7 @@
 	/**
 	 * @return data provider
 	 */
-	public IDataProvider getDataProvider()
+	public IDataProvider<T> getDataProvider()
 	{
 		return internalGetDataProvider();
 	}
@@ -250,9 +255,11 @@
 	/**
 	 * @see org.apache.wicket.markup.repeater.AbstractPageableView#getItems()
 	 */
-	public Iterator getItems()
+	@Override
+	public Iterator<Item<T>> getItems()
 	{
-		return new ItemsIterator(iterator());
+		Iterator<MarkupContainer< ? >> rows = Generics.iterator(iterator());
+		return new ItemsIterator<T>(rows);
 	}
 
 	/**
@@ -261,7 +268,7 @@
 	 * @param item
 	 *            Item object
 	 */
-	abstract protected void populateEmptyItem(Item item);
+	abstract protected void populateEmptyItem(Item<T> item);
 
 	/**
 	 * Create a Item which represents an empty cell (there is no model for it in the DataProvider)
@@ -270,9 +277,9 @@
 	 * @param index
 	 * @return created item
 	 */
-	protected Item newEmptyItem(String id, int index)
+	protected Item<T> newEmptyItem(String id, int index)
 	{
-		return new Item(id, index, null);
+		return new Item<T>(id, index, null);
 	}
 
 	/**
@@ -282,29 +289,30 @@
 	 * @param index
 	 * @return created Item
 	 */
-	protected Item newRowItem(String id, int index)
+	protected Item< ? > newRowItem(String id, int index)
 	{
-		return new Item(id, index, null);
+		return new Item<Void>(id, index, null);
 	}
 
 	/**
 	 * Iterator that iterates over all items in the cells
 	 * 
 	 * @author igor
+	 * @param <T>
 	 * 
 	 */
-	private static class ItemsIterator implements Iterator
+	private static class ItemsIterator<T> implements Iterator<Item<T>>
 	{
-		private final Iterator rows;
-		private Iterator cells;
+		private final Iterator<MarkupContainer< ? >> rows;
+		private Iterator<Item<T>> cells;
 
-		private Item next;
+		private Item<T> next;
 
 		/**
 		 * @param rows
 		 *            iterator over child row views
 		 */
-		public ItemsIterator(Iterator rows)
+		public ItemsIterator(Iterator<MarkupContainer< ? >> rows)
 		{
 			this.rows = rows;
 			findNext();
@@ -329,9 +337,9 @@
 		/**
 		 * @see java.util.Iterator#next()
 		 */
-		public Object next()
+		public Item<T> next()
 		{
-			Item item = next;
+			Item<T> item = next;
 			findNext();
 			return item;
 		}
@@ -342,17 +350,20 @@
 
 			if (cells != null && cells.hasNext())
 			{
-				next = (Item)cells.next();
+				next = cells.next();
 			}
 			else
 			{
 				while (rows.hasNext())
 				{
-					MarkupContainer row = (MarkupContainer)rows.next();
-					cells = ((MarkupContainer)row.iterator().next()).iterator();
+					MarkupContainer< ? > row = rows.next();
+
+					final Iterator<Component< ? >> rawCells;
+					rawCells = ((MarkupContainer< ? >)row.iterator().next()).iterator();
+					cells = Generics.iterator(rawCells);
 					if (cells.hasNext())
 					{
-						next = (Item)cells.next();
+						next = cells.next();
 						break;
 					}
 				}

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/repeater/data/ListDataProvider.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/repeater/data/ListDataProvider.java?rev=651883&r1=651882&r2=651883&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/repeater/data/ListDataProvider.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/repeater/data/ListDataProvider.java Sat Apr 26 22:08:28 2008
@@ -29,21 +29,22 @@
  * serializable or model(Object) needs to be overridden to provide the proper model implementation.
  * 
  * @author Igor Vaynberg ( ivaynberg )
+ * @param <T>
  * 
  */
-public class ListDataProvider implements IDataProvider
+public class ListDataProvider<T extends Serializable> implements IDataProvider<T>
 {
 	private static final long serialVersionUID = 1L;
 
 	/** reference to the list used as dataprovider for the dataview */
-	private final List list;
+	private final List<T> list;
 
 	/**
 	 * 
 	 * @param list
 	 *            the list used as dataprovider for the dataview
 	 */
-	public ListDataProvider(List list)
+	public ListDataProvider(List<T> list)
 	{
 		if (list == null)
 		{
@@ -56,7 +57,7 @@
 	/**
 	 * @see IDataProvider#iterator(int, int)
 	 */
-	public Iterator iterator(final int first, final int count)
+	public Iterator< ? extends T> iterator(final int first, final int count)
 	{
 		int toIndex = first + count;
 		if (toIndex > list.size())
@@ -77,9 +78,9 @@
 	/**
 	 * @see IDataProvider#model(Object)
 	 */
-	public IModel model(Object object)
+	public IModel<T> model(T object)
 	{
-		return new Model((Serializable)object);
+		return new Model<T>(object);
 	}
 
 	/**