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

svn commit: r646020 [5/5] - in /wicket/trunk/jdk-1.4: wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/ wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/ wicket-extensions/src/main/...

Modified: wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/repeater/data/DataViewBase.java
URL: http://svn.apache.org/viewvc/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/repeater/data/DataViewBase.java?rev=646020&r1=646019&r2=646020&view=diff
==============================================================================
--- wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/repeater/data/DataViewBase.java (original)
+++ wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/repeater/data/DataViewBase.java Tue Apr  8 11:10:20 2008
@@ -21,6 +21,7 @@
 import org.apache.wicket.markup.html.navigation.paging.IPageable;
 import org.apache.wicket.markup.repeater.AbstractPageableView;
 import org.apache.wicket.markup.repeater.RefreshingView;
+import org.apache.wicket.model.IModel;
 
 
 /**
@@ -36,14 +37,16 @@
  * 
  * @author Igor Vaynberg (ivaynberg)
  * 
+ * @param <T>
+ *            Model object type
  */
-public abstract class DataViewBase extends AbstractPageableView
+public abstract class DataViewBase<T> extends AbstractPageableView<T>
 {
 	/**
 	 * 
 	 */
 	private static final long serialVersionUID = 1L;
-	private final IDataProvider dataProvider;
+	private final IDataProvider<T> dataProvider;
 
 	/**
 	 * @param id
@@ -51,7 +54,7 @@
 	 * @param dataProvider
 	 *            data provider
 	 */
-	public DataViewBase(String id, IDataProvider dataProvider)
+	public DataViewBase(String id, IDataProvider<T> dataProvider)
 	{
 		super(id);
 		if (dataProvider == null)
@@ -64,15 +67,16 @@
 	/**
 	 * @return data provider associated with this view
 	 */
-	protected final IDataProvider internalGetDataProvider()
+	protected final IDataProvider<T> internalGetDataProvider()
 	{
 		return dataProvider;
 	}
 
 
-	protected final Iterator getItemModels(int offset, int count)
+	@Override
+	protected final Iterator<IModel<T>> getItemModels(int offset, int count)
 	{
-		return new ModelIterator(internalGetDataProvider(), offset, count);
+		return new ModelIterator<T>(internalGetDataProvider(), offset, count);
 	}
 
 	/**
@@ -80,11 +84,13 @@
 	 * 
 	 * @author Igor Vaynberg (ivaynberg)
 	 * 
+	 * @param <T>
+	 *            Model object type
 	 */
-	private static final class ModelIterator implements Iterator
+	private static final class ModelIterator<T> implements Iterator<IModel<T>>
 	{
-		private final Iterator items;
-		private final IDataProvider dataProvider;
+		private final Iterator<T> items;
+		private final IDataProvider<T> dataProvider;
 		private final int max;
 		private int index;
 
@@ -98,7 +104,7 @@
 		 * @param count
 		 *            max number of items to return
 		 */
-		public ModelIterator(IDataProvider dataProvider, int offset, int count)
+		public ModelIterator(IDataProvider<T> dataProvider, int offset, int count)
 		{
 			items = dataProvider.iterator(offset, count);
 			this.dataProvider = dataProvider;
@@ -124,13 +130,14 @@
 		/**
 		 * @see java.util.Iterator#next()
 		 */
-		public Object next()
+		public IModel<T> next()
 		{
 			index++;
 			return dataProvider.model(items.next());
 		}
 	}
 
+	@Override
 	protected final int internalGetItemCount()
 	{
 		return internalGetDataProvider().size();
@@ -139,6 +146,7 @@
 	/**
 	 * @see org.apache.wicket.markup.repeater.AbstractPageableView#onDetach()
 	 */
+	@Override
 	protected void onDetach()
 	{
 		dataProvider.detach();

Modified: wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/repeater/data/IDataProvider.java
URL: http://svn.apache.org/viewvc/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/repeater/data/IDataProvider.java?rev=646020&r1=646019&r2=646020&view=diff
==============================================================================
--- wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/repeater/data/IDataProvider.java (original)
+++ wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/repeater/data/IDataProvider.java Tue Apr  8 11:10:20 2008
@@ -60,7 +60,7 @@
  * @author Igor Vaynberg (ivaynberg)
  * 
  */
-public interface IDataProvider extends IDetachable
+public interface IDataProvider<T> extends IDetachable
 {
 	/**
 	 * Gets an iterator for the subset of total data
@@ -72,7 +72,7 @@
 	 * 
 	 * @return iterator capable of iterating over {first, first+count} items
 	 */
-	Iterator iterator(int first, int count);
+	Iterator<T> iterator(int first, int count);
 
 	/**
 	 * Gets total number of items in the collection represented by the DataProvider
@@ -90,6 +90,6 @@
 	 * 
 	 * @return the model representation of the object
 	 */
-	IModel model(Object object);
+	IModel<T> model(Object object);
 
 }

Modified: wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/repeater/util/ArrayIteratorAdapter.java
URL: http://svn.apache.org/viewvc/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/repeater/util/ArrayIteratorAdapter.java?rev=646020&r1=646019&r2=646020&view=diff
==============================================================================
--- wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/repeater/util/ArrayIteratorAdapter.java (original)
+++ wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/repeater/util/ArrayIteratorAdapter.java Tue Apr  8 11:10:20 2008
@@ -29,9 +29,9 @@
  * @author Igor Vaynberg (ivaynberg)
  * 
  */
-public abstract class ArrayIteratorAdapter implements Iterator
+public abstract class ArrayIteratorAdapter<T> implements Iterator<IModel<T>>
 {
-	private final Object[] array;
+	private final T[] array;
 	private int pos = 0;
 
 	/**
@@ -39,7 +39,7 @@
 	 * 
 	 * @param array
 	 */
-	public ArrayIteratorAdapter(Object[] array)
+	public ArrayIteratorAdapter(T[] array)
 	{
 		this.array = array;
 	}
@@ -63,7 +63,7 @@
 	/**
 	 * @see java.util.Iterator#next()
 	 */
-	public Object next()
+	public IModel<T> next()
 	{
 		return model(array[pos++]);
 	}
@@ -84,7 +84,7 @@
 	 *            object to be wrapped
 	 * @return IModel wrapper for the object
 	 */
-	abstract protected IModel model(Object object);
+	abstract protected IModel<T> model(T object);
 
 
 }

Modified: wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/model/AbstractPropertyModel.java
URL: http://svn.apache.org/viewvc/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/model/AbstractPropertyModel.java?rev=646020&r1=646019&r2=646020&view=diff
==============================================================================
--- wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/model/AbstractPropertyModel.java (original)
+++ wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/model/AbstractPropertyModel.java Tue Apr  8 11:10:20 2008
@@ -39,11 +39,14 @@
  * @author Chris Turner
  * @author Eelco Hillenius
  * @author Jonathan Locke
+ * 
+ * @param <T>
+ *            The Model object type
  */
-public abstract class AbstractPropertyModel
+public abstract class AbstractPropertyModel<T>
 	implements
-		IChainingModel,
-		IObjectClassAwareModel,
+		IChainingModel<T>,
+		IObjectClassAwareModel<T>,
 		IPropertyReflectionAwareModel
 {
 	/**
@@ -86,11 +89,11 @@
 	/**
 	 * @see org.apache.wicket.model.IChainingModel#getChainedModel()
 	 */
-	public IModel getChainedModel()
+	public IModel< ? > getChainedModel()
 	{
 		if (target instanceof IModel)
 		{
-			return (IModel)target;
+			return (IModel< ? >)target;
 		}
 		return null;
 	}
@@ -98,19 +101,20 @@
 	/**
 	 * @see org.apache.wicket.model.IModel#getObject()
 	 */
-	public Object getObject()
+	@SuppressWarnings("unchecked")
+	public T getObject()
 	{
 		final String expression = propertyExpression();
 		if (Strings.isEmpty(expression))
 		{
 			// Return a meaningful value for an empty property expression
-			return getTarget();
+			return (T)getTarget();
 		}
 
 		final Object target = getTarget();
 		if (target != null)
 		{
-			return PropertyResolver.getValue(expression, target);
+			return (T)PropertyResolver.getValue(expression, target);
 		}
 		return null;
 	}
@@ -128,7 +132,7 @@
 	/**
 	 * @see org.apache.wicket.model.IChainingModel#setChainedModel(org.apache.wicket.model.IModel)
 	 */
-	public void setChainedModel(IModel model)
+	public void setChainedModel(IModel< ? > model)
 	{
 		target = model;
 	}
@@ -168,6 +172,7 @@
 	/**
 	 * @see java.lang.Object#toString()
 	 */
+	@Override
 	public String toString()
 	{
 		StringBuffer sb = new StringBuffer("Model:classname=[");
@@ -195,14 +200,15 @@
 	/**
 	 * @return model object class
 	 */
-	public Class getObjectClass()
+	@SuppressWarnings("unchecked")
+	public Class<T> getObjectClass()
 	{
 		final String expression = propertyExpression();
 		if (Strings.isEmpty(expression))
 		{
 			// Return a meaningful value for an empty property expression
 			Object target = getTarget();
-			return target != null ? target.getClass() : null;
+			return (Class<T>)(target != null ? target.getClass() : null);
 		}
 
 		final Object target = getTarget();
@@ -300,6 +306,7 @@
 	 * @return nothing
 	 * @deprecated use {@link #getObject()} instead
 	 */
+	@Deprecated
 	protected final Object onGetObject(Component component)
 	{
 		throw new UnsupportedOperationException();
@@ -312,6 +319,7 @@
 	 * @param object
 	 * @deprecated use {@link #setObject(Object)} instead
 	 */
+	@Deprecated
 	protected final void onSetObject(Component component, Object object)
 	{
 		throw new UnsupportedOperationException();

Modified: wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/model/AbstractReadOnlyModel.java
URL: http://svn.apache.org/viewvc/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/model/AbstractReadOnlyModel.java?rev=646020&r1=646019&r2=646020&view=diff
==============================================================================
--- wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/model/AbstractReadOnlyModel.java (original)
+++ wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/model/AbstractReadOnlyModel.java Tue Apr  8 11:10:20 2008
@@ -24,8 +24,11 @@
  * and are read-only.
  * 
  * @author Igor Vaynberg ( ivaynberg )
+ * 
+ * @param <T>
+ *            The model object
  */
-public abstract class AbstractReadOnlyModel implements IModel
+public abstract class AbstractReadOnlyModel<T> implements IModel<T>
 {
 
 	/**
@@ -36,7 +39,7 @@
 	/**
 	 * @see IModel#getObject()
 	 */
-	public abstract Object getObject();
+	public abstract T getObject();
 
 	/**
 	 * This default implementation of setObject unconditionally throws an
@@ -47,15 +50,16 @@
 	 *            The object to set into the model
 	 * @throws UnsupportedOperationException
 	 */
-	public final void setObject(final Object object)
+	public final void setObject(final T object)
 	{
 		throw new UnsupportedOperationException("Model " + getClass() +
-				" does not support setObject(Object)");
+			" does not support setObject(Object)");
 	}
 
 	/**
 	 * @see java.lang.Object#toString()
 	 */
+	@Override
 	public String toString()
 	{
 		StringBuffer sb = new StringBuffer("Model:classname=[");
@@ -77,6 +81,7 @@
 	 * @return
 	 * @deprecated replace by {@link IModel#getObject()}.
 	 */
+	@Deprecated
 	public final Object getObject(Component component)
 	{
 		throw new UnsupportedOperationException();

Modified: wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/model/AbstractWrapModel.java
URL: http://svn.apache.org/viewvc/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/model/AbstractWrapModel.java?rev=646020&r1=646019&r2=646020&view=diff
==============================================================================
--- wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/model/AbstractWrapModel.java (original)
+++ wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/model/AbstractWrapModel.java Tue Apr  8 11:10:20 2008
@@ -24,8 +24,11 @@
  * The detach method calls the wrapped models detach.
  * 
  * @author jcompagner
+ * 
+ * @param <T>
+ *            The Model object type
  */
-public abstract class AbstractWrapModel implements IWrapModel
+public abstract class AbstractWrapModel<T> implements IWrapModel<T>
 {
 	/**
 	 * 
@@ -35,7 +38,7 @@
 	/**
 	 * @see org.apache.wicket.model.IModel#getObject()
 	 */
-	public Object getObject()
+	public T getObject()
 	{
 		return null;
 	}
@@ -43,7 +46,7 @@
 	/**
 	 * @see org.apache.wicket.model.IModel#setObject(java.lang.Object)
 	 */
-	public void setObject(Object object)
+	public void setObject(T object)
 	{
 	}
 

Modified: wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/model/ComponentDetachableModel.java
URL: http://svn.apache.org/viewvc/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/model/ComponentDetachableModel.java?rev=646020&r1=646019&r2=646020&view=diff
==============================================================================
--- wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/model/ComponentDetachableModel.java (original)
+++ wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/model/ComponentDetachableModel.java Tue Apr  8 11:10:20 2008
@@ -24,8 +24,11 @@
  * methods when the component is needed in a detachable model.
  * 
  * @author jcompagner
+ * 
+ * @param <T>
+ *            The model object type
  */
-public class ComponentDetachableModel implements IModel, IComponentAssignedModel
+public class ComponentDetachableModel<T> implements IModel<T>, IComponentAssignedModel<T>
 {
 	private static final long serialVersionUID = 1L;
 
@@ -40,7 +43,7 @@
 	 * 
 	 * @see org.apache.wicket.model.IModel#getObject()
 	 */
-	public final Object getObject()
+	public final T getObject()
 	{
 		throw new RuntimeException("get object call not expected on a IComponentAssignedModel");
 	}
@@ -48,7 +51,7 @@
 	/**
 	 * @see org.apache.wicket.model.IModel#setObject(java.lang.Object)
 	 */
-	public final void setObject(Object object)
+	public final void setObject(T object)
 	{
 		throw new RuntimeException("set object call not expected on a IComponentAssignedModel");
 	}
@@ -97,7 +100,7 @@
 	 *            The component asking for the object
 	 * @return The object
 	 */
-	protected Object getObject(Component component)
+	protected T getObject(Component<T> component)
 	{
 		return null;
 	}
@@ -111,28 +114,28 @@
 	 * @param object
 	 *            The new model object
 	 */
-	protected void setObject(Component component, Object object)
+	protected void setObject(Component<T> component, T object)
 	{
 	}
 
 	/**
 	 * @see org.apache.wicket.model.IComponentAssignedModel#wrapOnAssignment(org.apache.wicket.Component)
 	 */
-	public IWrapModel wrapOnAssignment(Component comp)
+	public IWrapModel<T> wrapOnAssignment(Component<T> comp)
 	{
-		return new WrapModel(comp);
+		return new WrapModel<T>(comp);
 	}
 
-	private class WrapModel implements IWrapModel
+	private class WrapModel<P> implements IWrapModel<T>
 	{
 		private static final long serialVersionUID = 1L;
 
-		private final Component component;
+		private final Component<T> component;
 
 		/**
 		 * @param comp
 		 */
-		public WrapModel(Component comp)
+		public WrapModel(Component<T> comp)
 		{
 			component = comp;
 		}
@@ -140,7 +143,7 @@
 		/**
 		 * @see org.apache.wicket.model.IWrapModel#getWrappedModel()
 		 */
-		public IModel getWrappedModel()
+		public IModel<T> getWrappedModel()
 		{
 			return ComponentDetachableModel.this;
 		}
@@ -160,7 +163,7 @@
 		/**
 		 * @see org.apache.wicket.model.IModel#getObject()
 		 */
-		public Object getObject()
+		public T getObject()
 		{
 			attach();
 			return ComponentDetachableModel.this.getObject(component);
@@ -169,7 +172,7 @@
 		/**
 		 * @see org.apache.wicket.model.IModel#setObject(java.lang.Object)
 		 */
-		public void setObject(Object object)
+		public void setObject(T object)
 		{
 			attach();
 			ComponentDetachableModel.this.setObject(component, object);

Modified: wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/model/ComponentPropertyModel.java
URL: http://svn.apache.org/viewvc/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/model/ComponentPropertyModel.java?rev=646020&r1=646019&r2=646020&view=diff
==============================================================================
--- wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/model/ComponentPropertyModel.java (original)
+++ wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/model/ComponentPropertyModel.java Tue Apr  8 11:10:20 2008
@@ -24,10 +24,13 @@
  * This enables direct usage of inherited models such as compound property models.
  * 
  * @author Jonathan Locke
+ * 
+ * @param <T>
+ *            The Model object
  */
-public class ComponentPropertyModel extends AbstractReadOnlyModel
+public class ComponentPropertyModel<T> extends AbstractReadOnlyModel<T>
 	implements
-		IComponentAssignedModel
+		IComponentAssignedModel<T>
 {
 	private static final long serialVersionUID = 1L;
 
@@ -48,7 +51,8 @@
 	/**
 	 * @see org.apache.wicket.model.AbstractReadOnlyModel#getObject()
 	 */
-	public Object getObject()
+	@Override
+	public T getObject()
 	{
 		throw new IllegalStateException("Wrapper should have been called");
 	}
@@ -56,23 +60,27 @@
 	/**
 	 * @see org.apache.wicket.model.IComponentAssignedModel#wrapOnAssignment(org.apache.wicket.Component)
 	 */
-	public IWrapModel wrapOnAssignment(final Component component)
+	public IWrapModel<T> wrapOnAssignment(final Component<T> component)
 	{
-		return new AssignmentWrapper(component, propertyName);
+		return new AssignmentWrapper<T>(component, propertyName);
 	}
 
 	/**
 	 * Wrapper used when assigning a ComponentPropertyModel to a component.
+	 * 
+	 * @param
+	 * <P>
+	 * The Model Object
 	 */
-	private class AssignmentWrapper extends AbstractReadOnlyModel implements IWrapModel
+	private class AssignmentWrapper<P> extends AbstractReadOnlyModel<P> implements IWrapModel<P>
 	{
 		private static final long serialVersionUID = 1L;
 
-		private final Component component;
+		private final Component<P> component;
 
 		private final String propertyName;
 
-		AssignmentWrapper(final Component component, final String propertyName)
+		AssignmentWrapper(final Component<P> component, final String propertyName)
 		{
 			this.component = component;
 			this.propertyName = propertyName;
@@ -81,7 +89,7 @@
 		/**
 		 * @see org.apache.wicket.model.IWrapModel#getWrappedModel()
 		 */
-		public IModel getWrappedModel()
+		public IModel<T> getWrappedModel()
 		{
 			return ComponentPropertyModel.this;
 		}
@@ -91,13 +99,16 @@
 			return propertyName;
 		}
 
-		public Object getObject()
+		@SuppressWarnings("unchecked")
+		@Override
+		public P getObject()
 		{
-			return PropertyResolver.getValue(propertyName, component.getParent()
+			return (P)PropertyResolver.getValue(propertyName, component.getParent()
 				.getInnermostModel()
 				.getObject());
 		}
 
+		@Override
 		public void detach()
 		{
 			super.detach();

Modified: wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/model/CompoundPropertyModel.java
URL: http://svn.apache.org/viewvc/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/model/CompoundPropertyModel.java?rev=646020&r1=646019&r2=646020&view=diff
==============================================================================
--- wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/model/CompoundPropertyModel.java (original)
+++ wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/model/CompoundPropertyModel.java Tue Apr  8 11:10:20 2008
@@ -32,8 +32,11 @@
  * @see IChainingModel
  * 
  * @author Jonathan Locke
+ * 
+ * @param <T>
+ *            The model object type
  */
-public class CompoundPropertyModel implements IComponentInheritedModel, IChainingModel
+public class CompoundPropertyModel<T> implements IComponentInheritedModel<T>, IChainingModel<T>
 {
 	private static final long serialVersionUID = 1L;
 
@@ -53,19 +56,19 @@
 	/**
 	 * @see org.apache.wicket.model.IModel#getObject()
 	 */
-	public Object getObject()
+	public T getObject()
 	{
 		if (target instanceof IModel)
 		{
-			return ((IModel)target).getObject();
+			return (T)((IModel)target).getObject();
 		}
-		return target;
+		return (T)target;
 	}
 
 	/**
 	 * @see org.apache.wicket.model.IModel#setObject(java.lang.Object)
 	 */
-	public void setObject(Object object)
+	public void setObject(T object)
 	{
 		if (target instanceof IModel)
 		{
@@ -80,7 +83,7 @@
 	/**
 	 * @see org.apache.wicket.model.IChainingModel#getChainedModel()
 	 */
-	public IModel getChainedModel()
+	public IModel< ? > getChainedModel()
 	{
 		if (target instanceof IModel)
 		{
@@ -92,7 +95,7 @@
 	/**
 	 * @see org.apache.wicket.model.IChainingModel#setChainedModel(org.apache.wicket.model.IModel)
 	 */
-	public void setChainedModel(IModel model)
+	public void setChainedModel(IModel< ? > model)
 	{
 		target = model;
 	}
@@ -114,7 +117,7 @@
 	 * @param component
 	 * @return property expression that should be used against the target object
 	 */
-	protected String propertyExpression(Component component)
+	protected String propertyExpression(Component< ? > component)
 	{
 		return component.getId();
 	}
@@ -122,9 +125,9 @@
 	/**
 	 * @see org.apache.wicket.model.IComponentInheritedModel#wrapOnInheritance(org.apache.wicket.Component)
 	 */
-	public IWrapModel wrapOnInheritance(Component component)
+	public <C> IWrapModel<C> wrapOnInheritance(Component<C> component)
 	{
-		return new AttachedCompoundPropertyModel(component);
+		return new AttachedCompoundPropertyModel<C>(component);
 	}
 
 	/**
@@ -135,9 +138,9 @@
 	 * @param property
 	 * @return The IModel that is a wrapper around the current model and the property
 	 */
-	public IModel bind(String property)
+	public <P> IModel<P> bind(String property)
 	{
-		return new PropertyModel(this, property);
+		return new PropertyModel<P>(this, property);
 	}
 
 	/**
@@ -146,11 +149,13 @@
 	 * 
 	 * @author ivaynberg
 	 */
-	private class AttachedCompoundPropertyModel extends AbstractPropertyModel implements IWrapModel
+	private class AttachedCompoundPropertyModel<C> extends AbstractPropertyModel<C>
+		implements
+			IWrapModel<C>
 	{
 		private static final long serialVersionUID = 1L;
 
-		private final Component owner;
+		private final Component<C> owner;
 
 		/**
 		 * Constructor
@@ -158,7 +163,7 @@
 		 * @param owner
 		 *            component that this model has been attached to
 		 */
-		public AttachedCompoundPropertyModel(Component owner)
+		public AttachedCompoundPropertyModel(Component<C> owner)
 		{
 			super(CompoundPropertyModel.this);
 			this.owner = owner;
@@ -167,6 +172,7 @@
 		/**
 		 * @see org.apache.wicket.model.AbstractPropertyModel#propertyExpression()
 		 */
+		@Override
 		protected String propertyExpression()
 		{
 			return CompoundPropertyModel.this.propertyExpression(owner);
@@ -175,7 +181,7 @@
 		/**
 		 * @see org.apache.wicket.model.IWrapModel#getWrappedModel()
 		 */
-		public IModel getWrappedModel()
+		public IModel<T> getWrappedModel()
 		{
 			return CompoundPropertyModel.this;
 		}
@@ -183,6 +189,7 @@
 		/**
 		 * @see org.apache.wicket.model.AbstractPropertyModel#detach()
 		 */
+		@Override
 		public void detach()
 		{
 			super.detach();
@@ -193,10 +200,11 @@
 	/**
 	 * @see java.lang.Object#toString()
 	 */
+	@Override
 	public String toString()
 	{
 		AppendingStringBuffer sb = new AppendingStringBuffer().append("Model:classname=[" +
-				getClass().getName() + "]");
+			getClass().getName() + "]");
 		sb.append(":nestedModel=[").append(target).append("]");
 		return sb.toString();
 	}
@@ -208,6 +216,7 @@
 	 * @return
 	 * @deprecated replace by {@link IModel#getObject()}.
 	 */
+	@Deprecated
 	public final Object getObject(Component component)
 	{
 		throw new UnsupportedOperationException();
@@ -218,6 +227,7 @@
 	 * @param object
 	 * @deprecated replace by {@link IModel#setObject(Object)}.
 	 */
+	@Deprecated
 	public final void setObject(Component component, Object object)
 	{
 		throw new UnsupportedOperationException();

Modified: wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/model/IChainingModel.java
URL: http://svn.apache.org/viewvc/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/model/IChainingModel.java?rev=646020&r1=646019&r2=646020&view=diff
==============================================================================
--- wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/model/IChainingModel.java (original)
+++ wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/model/IChainingModel.java Tue Apr  8 11:10:20 2008
@@ -31,23 +31,26 @@
  * @author jcompagner
  * @author Igor Vaynberg (ivaynberg)
  * 
+ * @param <T>
+ *            The Model object type
+ * 
  * @see CompoundPropertyModel
  * @see AbstractPropertyModel
  */
-public interface IChainingModel extends IModel
+public interface IChainingModel<T> extends IModel<T>
 {
 	/**
 	 * Sets the model that is chained inside this model.
 	 * 
 	 * @param model
 	 */
-	public void setChainedModel(IModel model);
+	public void setChainedModel(IModel< ? > model);
 
 	/**
 	 * Returns the chained model if there is a chained model.
 	 * 
 	 * @return The chained model
 	 */
-	public IModel getChainedModel();
+	public IModel< ? > getChainedModel();
 
 }

Modified: wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/model/IComponentAssignedModel.java
URL: http://svn.apache.org/viewvc/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/model/IComponentAssignedModel.java?rev=646020&r1=646019&r2=646020&view=diff
==============================================================================
--- wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/model/IComponentAssignedModel.java (original)
+++ wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/model/IComponentAssignedModel.java Tue Apr  8 11:10:20 2008
@@ -45,7 +45,7 @@
  * @author jcompagner
  * @author Igor Vaynberg (ivaynberg)
  */
-public interface IComponentAssignedModel extends IModel
+public interface IComponentAssignedModel<T> extends IModel<T>
 {
 	/**
 	 * This method is called when the component gets its model assigned.
@@ -56,5 +56,5 @@
 	 * @param component
 	 * @return The WrapModel that wraps this model
 	 */
-	IWrapModel wrapOnAssignment(Component component);
+	IWrapModel<T> wrapOnAssignment(Component<T> component);
 }

Modified: wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/model/IComponentInheritedModel.java
URL: http://svn.apache.org/viewvc/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/model/IComponentInheritedModel.java?rev=646020&r1=646019&r2=646020&view=diff
==============================================================================
--- wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/model/IComponentInheritedModel.java (original)
+++ wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/model/IComponentInheritedModel.java Tue Apr  8 11:10:20 2008
@@ -34,11 +34,11 @@
  * @author jcompagner
  * @author Igor Vaynberg (ivaynberg)
  */
-public interface IComponentInheritedModel extends IModel
+public interface IComponentInheritedModel<T> extends IModel<T>
 {
 	/**
 	 * @param component
 	 * @return The WrapModel that wraps this model
 	 */
-	IWrapModel wrapOnInheritance(Component component);
+	<P> IWrapModel<P> wrapOnInheritance(Component<P> component);
 }

Modified: wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/model/IModel.java
URL: http://svn.apache.org/viewvc/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/model/IModel.java?rev=646020&r1=646019&r2=646020&view=diff
==============================================================================
--- wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/model/IModel.java (original)
+++ wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/model/IModel.java Tue Apr  8 11:10:20 2008
@@ -52,15 +52,18 @@
  * @author Jonathan Locke
  * 
  * TODO 3.0: Vote on renaming get/setObject to get/setValue
+ * 
+ * @param <T>
+ *            Model object.
  */
-public interface IModel extends IDetachable
+public interface IModel<T> extends IDetachable
 {
 	/**
 	 * Gets the model object.
 	 * 
 	 * @return The model object
 	 */
-	Object getObject();
+	T getObject();
 
 	/**
 	 * Sets the model object.
@@ -68,5 +71,5 @@
 	 * @param object
 	 *            The model object
 	 */
-	void setObject(final Object object);
+	void setObject(final T object);
 }

Modified: wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/model/IModelComparator.java
URL: http://svn.apache.org/viewvc/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/model/IModelComparator.java?rev=646020&r1=646019&r2=646020&view=diff
==============================================================================
--- wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/model/IModelComparator.java (original)
+++ wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/model/IModelComparator.java Tue Apr  8 11:10:20 2008
@@ -29,8 +29,11 @@
  * 
  * @author jcompagner
  * @author Jonathan Locke
+ * 
+ * @param <T>
+ *            The Model Object
  */
-public interface IModelComparator extends IClusterable
+public interface IModelComparator<T> extends IClusterable
 {
 	/**
 	 * @param component
@@ -39,5 +42,5 @@
 	 *            The newObject
 	 * @return True if the previous components object is the same as the newObject.
 	 */
-	boolean compare(Component component, Object newObject);
+	boolean compare(Component<T> component, Object newObject);
 }

Modified: wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/model/IObjectClassAwareModel.java
URL: http://svn.apache.org/viewvc/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/model/IObjectClassAwareModel.java?rev=646020&r1=646019&r2=646020&view=diff
==============================================================================
--- wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/model/IObjectClassAwareModel.java (original)
+++ wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/model/IObjectClassAwareModel.java Tue Apr  8 11:10:20 2008
@@ -21,12 +21,12 @@
  * 
  * @author Matej Knopp
  */
-public interface IObjectClassAwareModel extends IModel
+public interface IObjectClassAwareModel<T> extends IModel<T>
 {
 	/**
 	 * Returns the class of model object
 	 * 
 	 * @return class of model object or null if the class couldn't be determined
 	 */
-	public Class getObjectClass();
+	public Class<T> getObjectClass();
 }

Modified: wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/model/IWrapModel.java
URL: http://svn.apache.org/viewvc/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/model/IWrapModel.java?rev=646020&r1=646019&r2=646020&view=diff
==============================================================================
--- wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/model/IWrapModel.java (original)
+++ wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/model/IWrapModel.java Tue Apr  8 11:10:20 2008
@@ -28,12 +28,12 @@
  * @author jcompagner
  * @author Igor Vaynberg (ivaynberg)
  */
-public interface IWrapModel extends IModel
+public interface IWrapModel<T> extends IModel<T>
 {
 	/**
 	 * Gets the wrapped model.
 	 * 
 	 * @return The wrapped model
 	 */
-	IModel getWrappedModel();
+	IModel< ? > getWrappedModel();
 }

Modified: wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/model/LoadableDetachableModel.java
URL: http://svn.apache.org/viewvc/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/model/LoadableDetachableModel.java?rev=646020&r1=646019&r2=646020&view=diff
==============================================================================
--- wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/model/LoadableDetachableModel.java (original)
+++ wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/model/LoadableDetachableModel.java Tue Apr  8 11:10:20 2008
@@ -47,8 +47,11 @@
  * 
  * @author Eelco Hillenius
  * @author Igor Vaynberg
+ * 
+ * @param <T>
+ *            The Model Object type
  */
-public abstract class LoadableDetachableModel extends AbstractReadOnlyModel
+public abstract class LoadableDetachableModel<T> extends AbstractReadOnlyModel<T>
 {
 	/**
 	 * 
@@ -62,7 +65,7 @@
 	private transient boolean attached = false;
 
 	/** temporary, transient object. */
-	private transient Object transientModelObject;
+	private transient T transientModelObject;
 
 	/**
 	 * Construct.
@@ -78,7 +81,7 @@
 	 * @param object
 	 *            retrieved instance of the detachable object
 	 */
-	public LoadableDetachableModel(Object object)
+	public LoadableDetachableModel(T object)
 	{
 		this.transientModelObject = object;
 		attached = true;
@@ -87,6 +90,7 @@
 	/**
 	 * @see org.apache.wicket.model.IDetachable#detach()
 	 */
+	@Override
 	public void detach()
 	{
 		if (attached)
@@ -97,7 +101,7 @@
 			if (log.isDebugEnabled())
 			{
 				log.debug("removed transient object for " + this + ", requestCycle " +
-						RequestCycle.get());
+					RequestCycle.get());
 			}
 			onDetach();
 		}
@@ -106,7 +110,8 @@
 	/**
 	 * @see org.apache.wicket.model.IModel#getObject()
 	 */
-	public Object getObject()
+	@Override
+	public T getObject()
 	{
 		if (!attached)
 		{
@@ -116,7 +121,7 @@
 			if (log.isDebugEnabled())
 			{
 				log.debug("loaded transient object " + transientModelObject + " for " + this +
-						", requestCycle " + RequestCycle.get());
+					", requestCycle " + RequestCycle.get());
 			}
 
 			onAttach();
@@ -137,11 +142,12 @@
 	/**
 	 * @see java.lang.Object#toString()
 	 */
+	@Override
 	public String toString()
 	{
 		StringBuffer sb = new StringBuffer(super.toString());
 		sb.append(":attached=").append(attached).append(":tempModelObject=[").append(
-				this.transientModelObject).append("]");
+			this.transientModelObject).append("]");
 		return sb.toString();
 	}
 
@@ -150,7 +156,7 @@
 	 * 
 	 * @return the (temporary) model object
 	 */
-	protected abstract Object load();
+	protected abstract T load();
 
 	/**
 	 * Attaches to the current request. Implement this method with custom behavior, such as loading

Modified: wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/model/Model.java
URL: http://svn.apache.org/viewvc/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/model/Model.java?rev=646020&r1=646019&r2=646020&view=diff
==============================================================================
--- wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/model/Model.java (original)
+++ wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/model/Model.java Tue Apr  8 11:10:20 2008
@@ -34,13 +34,16 @@
  * 
  * @author Chris Turner
  * @author Eelco Hillenius
+ * 
+ * @param <T>
+ *            The Model Object
  */
-public class Model implements IModel
+public class Model<T extends Serializable> implements IModel<T>
 {
 	private static final long serialVersionUID = 1L;
 
 	/** Backing object. */
-	private Serializable object;
+	private T object;
 
 	/**
 	 * Construct the model without providing an object.
@@ -55,7 +58,7 @@
 	 * @param object
 	 *            The model object proper
 	 */
-	public Model(final Serializable object)
+	public Model(final T object)
 	{
 		setObject(object);
 	}
@@ -65,7 +68,7 @@
 	 *            The Map, which may or may not be Serializable
 	 * @return A Model object wrapping the Map
 	 */
-	public static Model valueOf(final Map map)
+	public static Model< ? > valueOf(final Map map)
 	{
 		return new Model(map instanceof Serializable ? (Serializable)map : new HashMap(map));
 	}
@@ -83,7 +86,7 @@
 	/**
 	 * @see org.apache.wicket.model.IModel#getObject()
 	 */
-	public Object getObject()
+	public T getObject()
 	{
 		return object;
 	}
@@ -96,7 +99,7 @@
 	 *            the model object
 	 * @see org.apache.wicket.model.IModel#setObject(Object)
 	 */
-	public void setObject(final Object object)
+	public void setObject(final T object)
 	{
 		if (object != null)
 		{
@@ -105,18 +108,6 @@
 				throw new WicketRuntimeException("Model object must be Serializable");
 			}
 		}
-		setObject((Serializable)object);
-	}
-
-	/**
-	 * Sets the model object. The model object must be serializable, as it is stored in the session
-	 * 
-	 * @param object
-	 *            The serializable model object
-	 * @see org.apache.wicket.model.IModel#setObject(Object)
-	 */
-	public void setObject(final Serializable object)
-	{
 		this.object = object;
 	}
 
@@ -130,6 +121,7 @@
 	/**
 	 * @see java.lang.Object#toString()
 	 */
+	@Override
 	public String toString()
 	{
 		StringBuffer sb = new StringBuffer("Model:classname=[");
@@ -145,6 +137,7 @@
 	 * @return
 	 * @deprecated replace by {@link IModel#getObject()}.
 	 */
+	@Deprecated
 	public final Object getObject(Component component)
 	{
 		throw new UnsupportedOperationException();
@@ -155,6 +148,7 @@
 	 * @param object
 	 * @deprecated replace by {@link IModel#setObject(Object)}.
 	 */
+	@Deprecated
 	public final void setObject(Component component, Object object)
 	{
 		throw new UnsupportedOperationException();

Modified: wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/model/PropertyModel.java
URL: http://svn.apache.org/viewvc/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/model/PropertyModel.java?rev=646020&r1=646019&r2=646020&view=diff
==============================================================================
--- wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/model/PropertyModel.java (original)
+++ wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/model/PropertyModel.java Tue Apr  8 11:10:20 2008
@@ -77,8 +77,11 @@
  * @author Chris Turner
  * @author Eelco Hillenius
  * @author Jonathan Locke
+ * 
+ * @param <T>
+ *            The Model object type
  */
-public class PropertyModel extends AbstractPropertyModel
+public class PropertyModel<T> extends AbstractPropertyModel<T>
 {
 	private static final long serialVersionUID = 1L;
 
@@ -103,6 +106,7 @@
 	/**
 	 * @see java.lang.Object#toString()
 	 */
+	@Override
 	public String toString()
 	{
 		StringBuffer sb = new StringBuffer(super.toString());
@@ -113,6 +117,7 @@
 	/**
 	 * @see AbstractPropertyModel#propertyExpression()
 	 */
+	@Override
 	protected String propertyExpression()
 	{
 		return expression;

Modified: wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/protocol/http/IRequestLogger.java
URL: http://svn.apache.org/viewvc/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/protocol/http/IRequestLogger.java?rev=646020&r1=646019&r2=646020&view=diff
==============================================================================
--- wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/protocol/http/IRequestLogger.java (original)
+++ wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/protocol/http/IRequestLogger.java Tue Apr  8 11:10:20 2008
@@ -19,6 +19,7 @@
 import java.util.List;
 
 import org.apache.wicket.IRequestTarget;
+import org.apache.wicket.protocol.http.RequestLogger.RequestData;
 import org.apache.wicket.protocol.http.RequestLogger.SessionData;
 import org.apache.wicket.session.ISessionStore;
 
@@ -48,7 +49,7 @@
 	 * 
 	 * @return Collection of the current requests
 	 */
-	public abstract List getRequests();
+	public abstract List<RequestData> getRequests();
 
 
 	/**

Modified: wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/protocol/http/RequestLogger.java
URL: http://svn.apache.org/viewvc/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/protocol/http/RequestLogger.java?rev=646020&r1=646019&r2=646020&view=diff
==============================================================================
--- wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/protocol/http/RequestLogger.java (original)
+++ wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/protocol/http/RequestLogger.java Tue Apr  8 11:10:20 2008
@@ -23,6 +23,7 @@
 import java.util.LinkedList;
 import java.util.List;
 import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
 
 import org.apache.wicket.Application;
 import org.apache.wicket.IClusterable;
@@ -34,7 +35,6 @@
 import org.apache.wicket.request.target.component.IPageRequestTarget;
 import org.apache.wicket.request.target.component.listener.IListenerInterfaceRequestTarget;
 import org.apache.wicket.request.target.resource.ISharedResourceRequestTarget;
-import org.apache.wicket.util.concurrent.ConcurrentHashMap;
 import org.apache.wicket.util.lang.Classes;
 import org.apache.wicket.util.string.AppendingStringBuffer;
 import org.slf4j.Logger;
@@ -87,11 +87,11 @@
 
 	private int peakSessions;
 
-	private final List requests;
+	private final List<RequestData> requests;
 
-	private final Map liveSessions;
+	private final Map<String, SessionData> liveSessions;
 
-	private final ThreadLocal currentRequest = new ThreadLocal();
+	private final ThreadLocal<RequestData> currentRequest = new ThreadLocal<RequestData>();
 
 	private int active;
 
@@ -100,14 +100,15 @@
 	 */
 	public RequestLogger()
 	{
-		requests = Collections.synchronizedList(new LinkedList()
+		requests = Collections.synchronizedList(new LinkedList<RequestData>()
 		{
 			private static final long serialVersionUID = 1L;
 
 			/**
 			 * @see java.util.LinkedList#add(java.lang.Object)
 			 */
-			public void add(int index, Object o)
+			@Override
+			public void add(int index, RequestData o)
 			{
 				super.add(index, o);
 				if (size() > Application.get().getRequestLoggerSettings().getRequestsWindowSize())
@@ -116,7 +117,7 @@
 				}
 			}
 		});
-		liveSessions = new ConcurrentHashMap();
+		liveSessions = new ConcurrentHashMap<String, SessionData>();
 	}
 
 	/**
@@ -146,15 +147,15 @@
 	/**
 	 * @see org.apache.wicket.protocol.http.IRequestLogger#getRequests()
 	 */
-	public List getRequests()
+	public List<RequestData> getRequests()
 	{
 		return Collections.unmodifiableList(requests);
 	}
 
 	public SessionData[] getLiveSessions()
 	{
-		SessionData[] sessions = (SessionData[])liveSessions.values().toArray(
-				new SessionData[liveSessions.size()]);
+		SessionData[] sessions = liveSessions.values()
+			.toArray(new SessionData[liveSessions.size()]);
 		Arrays.sort(sessions);
 		return sessions;
 	}
@@ -182,7 +183,7 @@
 
 	RequestData getCurrentRequest()
 	{
-		RequestData rd = (RequestData)currentRequest.get();
+		RequestData rd = currentRequest.get();
 		if (rd == null)
 		{
 			rd = new RequestData();
@@ -200,7 +201,7 @@
 	 */
 	public void requestTime(long timeTaken)
 	{
-		RequestData rd = (RequestData)currentRequest.get();
+		RequestData rd = currentRequest.get();
 		if (rd != null)
 		{
 			synchronized (this)
@@ -229,10 +230,9 @@
 					// log the error and let the request logging continue (this is what happens in
 					// the
 					// detach phase of the request cycle anyway. This provides better diagnostics).
-					log
-							.error(
-									"Exception while determining the size of the session in the request logger: " +
-											e.getMessage(), e);
+					log.error(
+						"Exception while determining the size of the session in the request logger: " +
+							e.getMessage(), e);
 				}
 			}
 			rd.setSessionSize(sizeInBytes);
@@ -242,12 +242,12 @@
 			currentRequest.set(null);
 			if (sessionId != null)
 			{
-				SessionData sd = (SessionData)liveSessions.get(sessionId);
+				SessionData sd = liveSessions.get(sessionId);
 				if (sd == null)
 				{
 					// passivated session or logger only started after it.
 					sessionCreated(sessionId);
-					sd = (SessionData)liveSessions.get(sessionId);
+					sd = liveSessions.get(sessionId);
 				}
 				if (sd != null)
 				{
@@ -345,7 +345,7 @@
 		{
 			IPageMap map = (IPageMap)value;
 			rd.addEntry("PageMap removed, name: " +
-					(map.getName() == null ? "DEFAULT" : map.getName()));
+				(map.getName() == null ? "DEFAULT" : map.getName()));
 		}
 		else if (value instanceof WebSession)
 		{
@@ -372,7 +372,7 @@
 		{
 			IPageMap map = (IPageMap)value;
 			rd.addEntry("PageMap updated, name: " +
-					(map.getName() == null ? "DEFAULT" : map.getName()));
+				(map.getName() == null ? "DEFAULT" : map.getName()));
 		}
 		else if (value instanceof Session)
 		{
@@ -404,7 +404,7 @@
 		{
 			IPageMap map = (IPageMap)value;
 			rd.addEntry("PageMap created, name: " +
-					(map.getName() == null ? "DEFAULT" : map.getName()));
+				(map.getName() == null ? "DEFAULT" : map.getName()));
 		}
 		else
 		{
@@ -489,7 +489,7 @@
 	 * 
 	 * @author jcompagner
 	 */
-	public static class SessionData implements IClusterable, Comparable
+	public static class SessionData implements IClusterable, Comparable<SessionData>
 	{
 		private static final long serialVersionUID = 1L;
 
@@ -587,9 +587,9 @@
 			sessionSize = size;
 		}
 
-		public int compareTo(Object sd)
+		public int compareTo(SessionData sd)
 		{
-			return (int)(((SessionData)sd).lastActive - lastActive);
+			return (int)(sd.lastActive - lastActive);
 		}
 
 	}
@@ -605,7 +605,7 @@
 
 		private long startDate;
 		private long timeTaken;
-		private final List entries = new ArrayList(5);
+		private final List<String> entries = new ArrayList<String>(5);
 		private String eventTarget;
 		private String responseTarget;
 
@@ -741,7 +741,7 @@
 			AppendingStringBuffer sb = new AppendingStringBuffer();
 			for (int i = 0; i < entries.size(); i++)
 			{
-				String element = (String)entries.get(i);
+				String element = entries.get(i);
 				sb.append(element);
 				if (entries.size() != i + 1)
 				{
@@ -767,12 +767,13 @@
 			return new Long(totalSessionSize);
 		}
 
+		@Override
 		public String toString()
 		{
 			return "Request[timetaken=" + getTimeTaken() + ",sessioninfo=" + sessionInfo +
-					",sessionid=" + sessionId + ",sessionsize=" + totalSessionSize + ",request=" +
-					eventTarget + ",response=" + responseTarget + ",alteredobjects=" +
-					getAlteredObjects() + ",activerequest=" + activeRequest + "]";
+				",sessionid=" + sessionId + ",sessionsize=" + totalSessionSize + ",request=" +
+				eventTarget + ",response=" + responseTarget + ",alteredobjects=" +
+				getAlteredObjects() + ",activerequest=" + activeRequest + "]";
 		}
 	}
 }

Modified: wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/protocol/http/pagestore/DiskPageStore.java
URL: http://svn.apache.org/viewvc/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/protocol/http/pagestore/DiskPageStore.java?rev=646020&r1=646019&r2=646020&view=diff
==============================================================================
--- wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/protocol/http/pagestore/DiskPageStore.java (original)
+++ wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/protocol/http/pagestore/DiskPageStore.java Tue Apr  8 11:10:20 2008
@@ -34,6 +34,7 @@
 import java.util.List;
 import java.util.Map;
 import java.util.Map.Entry;
+import java.util.concurrent.ConcurrentHashMap;
 
 import org.apache.wicket.Application;
 import org.apache.wicket.Page;
@@ -43,7 +44,6 @@
 import org.apache.wicket.protocol.http.SecondLevelCacheSessionStore.ISerializationAwarePageStore;
 import org.apache.wicket.protocol.http.pagestore.PageWindowManager.PageWindow;
 import org.apache.wicket.protocol.http.pagestore.SerializedPagesCache.SerializedPageWithSession;
-import org.apache.wicket.util.concurrent.ConcurrentHashMap;
 import org.apache.wicket.util.lang.Bytes;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -382,10 +382,10 @@
 	private File getSessionFolder(String sessionId, boolean create)
 	{
 		File storeFolder = getStoreFolder();
-		
+
 		sessionId = sessionId.replace('*', '_');
 		sessionId = sessionId.replace('/', '_');
-		
+
 		File sessionFolder = new File(storeFolder, sessionId);
 		if (create && sessionFolder.exists() == false)
 		{

Modified: wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/resource/PropertiesFactory.java
URL: http://svn.apache.org/viewvc/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/resource/PropertiesFactory.java?rev=646020&r1=646019&r2=646020&view=diff
==============================================================================
--- wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/resource/PropertiesFactory.java (original)
+++ wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/resource/PropertiesFactory.java Tue Apr  8 11:10:20 2008
@@ -23,10 +23,10 @@
 import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
 
 import org.apache.wicket.Application;
 import org.apache.wicket.settings.IResourceSettings;
-import org.apache.wicket.util.concurrent.ConcurrentHashMap;
 import org.apache.wicket.util.io.Streams;
 import org.apache.wicket.util.listener.IChangeListener;
 import org.apache.wicket.util.resource.IFixedLocationResourceStream;
@@ -58,10 +58,10 @@
 	/**
 	 * Listeners will be invoked after changes to property file have been detected
 	 */
-	private final List afterReloadListeners = new ArrayList();
+	private final List<IPropertiesChangeListener> afterReloadListeners = new ArrayList<IPropertiesChangeListener>();
 
 	/** Cache for all property files loaded */
-	private final Map propertiesCache = new ConcurrentHashMap();
+	private final Map<String, Properties> propertiesCache = new ConcurrentHashMap<String, Properties>();
 
 	/** Application */
 	private final Application application;
@@ -104,7 +104,7 @@
 	public Properties load(final Class clazz, final String path)
 	{
 		// Check the cache
-		Properties properties = (Properties)propertiesCache.get(path);
+		Properties properties = propertiesCache.get(path);
 
 		if (properties == null)
 		{
@@ -155,7 +155,7 @@
 	{
 		// Make sure someone else didn't load our resources while we were
 		// waiting for the synchronized lock on the method
-		Properties props = (Properties)propertiesCache.get(key);
+		Properties props = propertiesCache.get(key);
 		if (props != null)
 		{
 			return props;
@@ -267,10 +267,10 @@
 					application.getResourceSettings().getLocalizer().clearCache();
 
 					// Inform all listeners
-					Iterator iter = afterReloadListeners.iterator();
+					Iterator<IPropertiesChangeListener> iter = afterReloadListeners.iterator();
 					while (iter.hasNext())
 					{
-						IPropertiesChangeListener listener = (IPropertiesChangeListener)iter.next();
+						IPropertiesChangeListener listener = iter.next();
 						try
 						{
 							listener.propertiesChanged(key);
@@ -294,7 +294,7 @@
 	 * 
 	 * @return Map
 	 */
-	protected final Map getCache()
+	protected final Map<String, Properties> getCache()
 	{
 		return propertiesCache;
 	}

Modified: wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/session/DefaultPageFactory.java
URL: http://svn.apache.org/viewvc/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/session/DefaultPageFactory.java?rev=646020&r1=646019&r2=646020&view=diff
==============================================================================
--- wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/session/DefaultPageFactory.java (original)
+++ wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/session/DefaultPageFactory.java Tue Apr  8 11:10:20 2008
@@ -19,6 +19,7 @@
 import java.lang.reflect.Constructor;
 import java.lang.reflect.InvocationTargetException;
 import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
 
 import org.apache.wicket.AbortException;
 import org.apache.wicket.IPageFactory;
@@ -27,7 +28,6 @@
 import org.apache.wicket.WicketRuntimeException;
 import org.apache.wicket.authorization.AuthorizationException;
 import org.apache.wicket.markup.MarkupException;
-import org.apache.wicket.util.concurrent.ConcurrentHashMap;
 
 
 /**
@@ -42,7 +42,7 @@
 public final class DefaultPageFactory implements IPageFactory
 {
 	/** Map of Constructors for Page subclasses */
-	private final Map constructorForClass = new ConcurrentHashMap();
+	private final Map<Class, Constructor> constructorForClass = new ConcurrentHashMap<Class, Constructor>();
 
 	/**
 	 * @see IPageFactory#newPage(Class)
@@ -53,7 +53,7 @@
 		{
 			// throw an exception in case default constructor is missing
 			// => improved error message
-			final Constructor constructor = pageClass.getConstructor((Class[]) null);
+			final Constructor constructor = pageClass.getConstructor((Class[])null);
 
 			return newPage(constructor, null);
 		}
@@ -68,7 +68,7 @@
 			else
 			{
 				throw new WicketRuntimeException("Unable to create page from " + pageClass +
-						". Class does not have a default contructor", e);
+					". Class does not have a default contructor", e);
 			}
 		}
 	}
@@ -102,10 +102,10 @@
 	 * @return The page constructor, or null if no one-arg constructor can be found taking the given
 	 *         argument type.
 	 */
-	private final Constructor constructor(final Class pageClass, final Class argumentType)
+	private final Constructor constructor(final Class pageClass, final Class<PageParameters> argumentType)
 	{
 		// Get constructor for page class from cache
-		Constructor constructor = (Constructor)constructorForClass.get(pageClass);
+		Constructor constructor = constructorForClass.get(pageClass);
 
 		// Need to look up?
 		if (constructor == null)
@@ -160,8 +160,8 @@
 		{
 			// honor redirect exception contract defined in IPageFactory
 			if (e.getTargetException() instanceof AbortException ||
-					e.getTargetException() instanceof AuthorizationException ||
-					e.getTargetException() instanceof MarkupException)
+				e.getTargetException() instanceof AuthorizationException ||
+				e.getTargetException() instanceof MarkupException)
 			{
 				throw (RuntimeException)e.getTargetException();
 			}
@@ -173,7 +173,7 @@
 	{
 		if (argument != null)
 			return "Can't instantiate page using constructor " + constructor + " and argument " +
-					argument;
+				argument;
 		else
 			return "Can't instantiate page using constructor " + constructor;
 	}

Modified: wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/settings/IApplicationSettings.java
URL: http://svn.apache.org/viewvc/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/settings/IApplicationSettings.java?rev=646020&r1=646019&r2=646020&view=diff
==============================================================================
--- wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/settings/IApplicationSettings.java (original)
+++ wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/settings/IApplicationSettings.java Tue Apr  8 11:10:20 2008
@@ -46,7 +46,7 @@
 	Class getAccessDeniedPage();
 
 	/**
-	 * Gets the default resolver to use when finding classes
+	 * Gets the default resolver to use when finding classes and resources
 	 * 
 	 * @return Default class resolver
 	 */
@@ -85,7 +85,7 @@
 	void setAccessDeniedPage(final Class accessDeniedPage);
 
 	/**
-	 * Sets the default class resolver to use when finding classes.
+	 * Sets the default class resolver to use when finding classes and resources
 	 * 
 	 * @param defaultClassResolver
 	 *            The default class resolver

Modified: wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/util/convert/converters/AbstractDecimalConverter.java
URL: http://svn.apache.org/viewvc/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/util/convert/converters/AbstractDecimalConverter.java?rev=646020&r1=646019&r2=646020&view=diff
==============================================================================
--- wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/util/convert/converters/AbstractDecimalConverter.java (original)
+++ wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/util/convert/converters/AbstractDecimalConverter.java Tue Apr  8 11:10:20 2008
@@ -19,8 +19,7 @@
 import java.text.NumberFormat;
 import java.util.Locale;
 import java.util.Map;
-
-import org.apache.wicket.util.concurrent.ConcurrentHashMap;
+import java.util.concurrent.ConcurrentHashMap;
 
 /**
  * Base class for all number converters.
@@ -32,18 +31,16 @@
 	private static final long serialVersionUID = 1L;
 
 	/** The date format to use */
-	private final Map/* <Locale, NumberFormat> */numberFormats = new ConcurrentHashMap/*
-																					 * <Locale,
-																					 * NumberFormat>
-																					 */();
+	private final Map<Locale, NumberFormat> numberFormats = new ConcurrentHashMap<Locale, NumberFormat>();
 
 	/**
 	 * @param locale
 	 * @return Returns the numberFormat.
 	 */
+	@Override
 	public NumberFormat getNumberFormat(Locale locale)
 	{
-		NumberFormat numberFormat = (NumberFormat)numberFormats.get(locale);
+		NumberFormat numberFormat = numberFormats.get(locale);
 		if (numberFormat == null)
 		{
 			numberFormat = NumberFormat.getInstance(locale);

Modified: wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/util/convert/converters/AbstractIntegerConverter.java
URL: http://svn.apache.org/viewvc/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/util/convert/converters/AbstractIntegerConverter.java?rev=646020&r1=646019&r2=646020&view=diff
==============================================================================
--- wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/util/convert/converters/AbstractIntegerConverter.java (original)
+++ wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/util/convert/converters/AbstractIntegerConverter.java Tue Apr  8 11:10:20 2008
@@ -19,8 +19,7 @@
 import java.text.NumberFormat;
 import java.util.Locale;
 import java.util.Map;
-
-import org.apache.wicket.util.concurrent.ConcurrentHashMap;
+import java.util.concurrent.ConcurrentHashMap;
 
 /**
  * Base class for all number converters.
@@ -32,19 +31,17 @@
 	private static final long serialVersionUID = 1L;
 
 	/** The date format to use */
-	private final Map/* <Locale, NumberFormat> */numberFormats = new ConcurrentHashMap/*
-	 * <Locale,
-	 * NumberFormat>
-	 */();
+	private final Map<Locale, NumberFormat> numberFormats = new ConcurrentHashMap<Locale, NumberFormat>();
 
 	/**
 	 * @param locale
 	 *            The locale
 	 * @return Returns the numberFormat.
 	 */
+	@Override
 	public NumberFormat getNumberFormat(Locale locale)
 	{
-		NumberFormat numberFormat = (NumberFormat)numberFormats.get(locale);
+		NumberFormat numberFormat = numberFormats.get(locale);
 		if (numberFormat == null)
 		{
 			numberFormat = NumberFormat.getIntegerInstance(locale);

Modified: wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/util/lang/EnumeratedType.java
URL: http://svn.apache.org/viewvc/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/util/lang/EnumeratedType.java?rev=646020&r1=646019&r2=646020&view=diff
==============================================================================
--- wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/util/lang/EnumeratedType.java (original)
+++ wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/util/lang/EnumeratedType.java Tue Apr  8 11:10:20 2008
@@ -20,8 +20,8 @@
 import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
 
-import org.apache.wicket.util.concurrent.ConcurrentHashMap;
 import org.apache.wicket.util.string.StringValue;
 
 
@@ -41,7 +41,7 @@
 	 */
 	private static final long serialVersionUID = 1L;
 	/** Map of type values by class */
-	private static final Map valueListByClass = new ConcurrentHashMap();
+	private static final Map<String, List> valueListByClass = new ConcurrentHashMap<String, List>();
 
 	/**
 	 * Constructor.
@@ -64,16 +64,16 @@
 	 *            The enumerated type subclass to get values for
 	 * @return List of all values of the given subclass
 	 */
-	public static List getValues(final Class c)
+	public static List<EnumeratedType> getValues(final Class< ? extends EnumeratedType> c)
 	{
 		// Get values for class
-		List valueList = (List)valueListByClass.get(c.getName());
+		List<EnumeratedType> valueList = valueListByClass.get(c.getName());
 
 		// If no list exists
 		if (valueList == null)
 		{
 			// create lazily
-			valueList = new ArrayList();
+			valueList = new ArrayList<EnumeratedType>();
 			valueListByClass.put(c.getName(), valueList);
 		}
 
@@ -89,12 +89,12 @@
 	public Object readResolve() throws java.io.ObjectStreamException
 	{
 		EnumeratedType result = this;
-		List values = getValues(getClass());
+		List<EnumeratedType> values = getValues(getClass());
 		if (values != null)
 		{
-			for (Iterator i = values.iterator(); i.hasNext();)
+			for (Iterator<EnumeratedType> i = values.iterator(); i.hasNext();)
 			{
-				EnumeratedType type = (EnumeratedType)i.next();
+				EnumeratedType type = i.next();
 				if (type.toString() != null && type.toString().equals(this.toString()))
 				{
 					result = type;

Modified: wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/util/lang/PropertyResolver.java
URL: http://svn.apache.org/viewvc/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/util/lang/PropertyResolver.java?rev=646020&r1=646019&r2=646020&view=diff
==============================================================================
--- wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/util/lang/PropertyResolver.java (original)
+++ wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/util/lang/PropertyResolver.java Tue Apr  8 11:10:20 2008
@@ -22,11 +22,11 @@
 import java.lang.reflect.Method;
 import java.util.List;
 import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
 
 import org.apache.wicket.Application;
 import org.apache.wicket.Session;
 import org.apache.wicket.WicketRuntimeException;
-import org.apache.wicket.util.concurrent.ConcurrentHashMap;
 import org.apache.wicket.util.convert.ConversionException;
 import org.apache.wicket.util.string.Strings;
 import org.slf4j.Logger;
@@ -62,7 +62,7 @@
 	private final static int CREATE_NEW_VALUE = 1;
 	private final static int RESOLVE_CLASS = 2;
 
-	private final static Map applicationToClassesToGetAndSetters = new ConcurrentHashMap(2);
+	private final static Map<Object, Map> applicationToClassesToGetAndSetters = new ConcurrentHashMap<Object, Map>(2);
 
 	/** Log. */
 	private static final Logger log = LoggerFactory.getLogger(PropertyResolver.class);
@@ -304,15 +304,15 @@
 
 	private final static IGetAndSet getGetAndSetter(String exp, Class clz)
 	{
-		Map classesToGetAndSetters = getClassesToGetAndSetters();
-		Map getAndSetters = (Map)classesToGetAndSetters.get(clz);
+		Map<Class, Map> classesToGetAndSetters = getClassesToGetAndSetters();
+		Map<String, IGetAndSet> getAndSetters = classesToGetAndSetters.get(clz);
 		if (getAndSetters == null)
 		{
-			getAndSetters = new ConcurrentHashMap(8);
+			getAndSetters = new ConcurrentHashMap<String, IGetAndSet>(8);
 			classesToGetAndSetters.put(clz, getAndSetters);
 		}
 
-		IGetAndSet getAndSetter = (IGetAndSet)getAndSetters.get(exp);
+		IGetAndSet getAndSetter = getAndSetters.get(exp);
 		if (getAndSetter == null)
 		{
 			Method method = null;
@@ -727,7 +727,7 @@
 		 */
 		public void setValue(Object object, Object value, PropertyResolverConverter converter)
 		{
-			((Map)object).put(key, value);
+			((Map<String, Object>)object).put(key, value);
 		}
 
 		/**
@@ -764,7 +764,7 @@
 		 */
 		public void setValue(Object object, Object value, PropertyResolverConverter converter)
 		{
-			List lst = (List)object;
+			List<Object> lst = (List<Object>)object;
 
 			if (lst.size() > index)
 			{
@@ -846,6 +846,7 @@
 		/**
 		 * @see org.apache.wicket.util.lang.PropertyResolver.IGetAndSet#getTargetClass()
 		 */
+		@Override
 		public Class getTargetClass()
 		{
 			return clzComponentType;
@@ -886,6 +887,7 @@
 		/**
 		 * @see org.apache.wicket.util.lang.PropertyResolver.IGetAndSet#getTargetClass()
 		 */
+		@Override
 		public Class getTargetClass()
 		{
 			return int.class;
@@ -985,6 +987,7 @@
 		/**
 		 * @see org.apache.wicket.util.lang.PropertyResolver.IGetAndSet#getTargetClass()
 		 */
+		@Override
 		public Class getTargetClass()
 		{
 			return getMethod.getReturnType();
@@ -1180,6 +1183,7 @@
 		/**
 		 * @see org.apache.wicket.util.lang.PropertyResolver.IGetAndSet#getTargetClass()
 		 */
+		@Override
 		public Class getTargetClass()
 		{
 			return getMethod.getReturnType();
@@ -1188,6 +1192,7 @@
 		/**
 		 * @see org.apache.wicket.util.lang.PropertyResolver.AbstractGetAndSet#getGetter()
 		 */
+		@Override
 		public Method getGetter()
 		{
 			return getMethod;
@@ -1196,6 +1201,7 @@
 		/**
 		 * @see org.apache.wicket.util.lang.PropertyResolver.AbstractGetAndSet#getSetter()
 		 */
+		@Override
 		public Method getSetter()
 		{
 			return setMethod;
@@ -1204,6 +1210,7 @@
 		/**
 		 * @see org.apache.wicket.util.lang.PropertyResolver.AbstractGetAndSet#getField()
 		 */
+		@Override
 		public Field getField()
 		{
 			return field;
@@ -1297,7 +1304,7 @@
 		}
 	}
 
-	private static Map getClassesToGetAndSetters()
+	private static Map<Class, Map> getClassesToGetAndSetters()
 	{
 		Object key = null;
 		if (Application.exists())
@@ -1308,13 +1315,13 @@
 		{
 			key = PropertyResolver.class;
 		}
-		Map result = (Map)applicationToClassesToGetAndSetters.get(key);
+		Map<Class, Map> result = applicationToClassesToGetAndSetters.get(key);
 		if (result == null)
 		{
 			// Don't synchronize this - Doesn't matter if we create two of them,
 			// as it's only a cache and the first will go out of scope and get
 			// GC'ed.
-			applicationToClassesToGetAndSetters.put(key, result = new ConcurrentHashMap(64));
+			applicationToClassesToGetAndSetters.put(key, result = new ConcurrentHashMap<Class, Map>(64));
 		}
 		return result;
 	}

Modified: wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/util/template/PackagedTextTemplate.java
URL: http://svn.apache.org/viewvc/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/util/template/PackagedTextTemplate.java?rev=646020&r1=646019&r2=646020&view=diff
==============================================================================
--- wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/util/template/PackagedTextTemplate.java (original)
+++ wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/util/template/PackagedTextTemplate.java Tue Apr  8 11:10:20 2008
@@ -19,10 +19,10 @@
 import java.io.IOException;
 import java.io.Serializable;
 import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
 
 import org.apache.wicket.Application;
 import org.apache.wicket.MetaDataKey;
-import org.apache.wicket.util.concurrent.ConcurrentHashMap;
 import org.apache.wicket.util.io.Streams;
 import org.apache.wicket.util.lang.Packages;
 import org.apache.wicket.util.resource.IResourceStream;
@@ -70,11 +70,11 @@
 	{
 		private static final long serialVersionUID = 1L;
 
-		private final Map cache = new ConcurrentHashMap();
+		private final Map<CachedTextTemplateKey, CachedTextTemplate> cache = new ConcurrentHashMap<CachedTextTemplateKey, CachedTextTemplate>();
 
 		CachedTextTemplate get(CachedTextTemplateKey key)
 		{
-			return (CachedTextTemplate)cache.get(key);
+			return cache.get(key);
 		}
 
 		void put(CachedTextTemplateKey key, CachedTextTemplate value)
@@ -91,8 +91,8 @@
 	/** class loader stream locator. */
 	private static final IResourceStreamLocator streamLocator = new ResourceStreamLocator();
 
-	private static final MetaDataKey TEXT_TEMPLATE_CACHE_KEY = new MetaDataKey(
-			TextTemplateCache.class)
+	private static final MetaDataKey<TextTemplateCache> TEXT_TEMPLATE_CACHE_KEY = new MetaDataKey<TextTemplateCache>(
+		TextTemplateCache.class)
 	{
 		private static final long serialVersionUID = 1L;
 	};
@@ -144,7 +144,7 @@
 	 *            the file's encoding, for example, "<code>UTF-8</code>"
 	 */
 	public PackagedTextTemplate(final Class clazz, final String fileName, final String contentType,
-			final String encoding)
+		final String encoding)
 	{
 		super(contentType);
 
@@ -159,7 +159,7 @@
 		if (stream == null)
 		{
 			throw new IllegalArgumentException("resource " + fileName + " not found for scope " +
-					clazz + " (path = " + path + ")");
+				clazz + " (path = " + path + ")");
 		}
 
 		try
@@ -197,6 +197,7 @@
 	/**
 	 * @see org.apache.wicket.util.resource.AbstractStringResourceStream#getString()
 	 */
+	@Override
 	public String getString()
 	{
 		if (Application.get().getResourceSettings().getStripJavascriptCommentsAndWhitespace())
@@ -226,6 +227,7 @@
 	 *            a <code>Map</code> of variables to interpolate
 	 * @return this for chaining
 	 */
+	@Override
 	public final TextTemplate interpolate(Map variables)
 	{
 		if (variables != null)
@@ -240,6 +242,7 @@
 	/**
 	 * @see org.apache.wicket.util.resource.IResourceStream#length()
 	 */
+	@Override
 	public final long length()
 	{
 		return buffer.length();

Modified: wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/util/time/TimeMap.java
URL: http://svn.apache.org/viewvc/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/util/time/TimeMap.java?rev=646020&r1=646019&r2=646020&view=diff
==============================================================================
--- wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/util/time/TimeMap.java (original)
+++ wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/util/time/TimeMap.java Tue Apr  8 11:10:20 2008
@@ -18,8 +18,7 @@
 
 import java.util.Iterator;
 import java.util.Map;
-
-import org.apache.wicket.util.concurrent.ConcurrentHashMap;
+import java.util.concurrent.ConcurrentHashMap;
 
 /**
  * This class maps <code>ITimeFrame</code>s to <code>Object</code>s. Since values are stored
@@ -43,7 +42,7 @@
 	 * <code>Map</code> from <code>ITimeFrameSource</code> implementing objects to
 	 * <code>Object</code> values.
 	 */
-	private final Map sources = new ConcurrentHashMap();
+	private final Map<ITimeFrameSource, Object> sources = new ConcurrentHashMap<ITimeFrameSource, Object>();
 
 	/**
 	 * Retrieves an <code>Object</code> for the current <code>Time</code> value.
@@ -65,9 +64,9 @@
 	 */
 	public Object get(final Time time)
 	{
-		for (final Iterator iterator = sources.keySet().iterator(); iterator.hasNext();)
+		for (final Iterator<ITimeFrameSource> iterator = sources.keySet().iterator(); iterator.hasNext();)
 		{
-			final TimeFrame current = ((ITimeFrameSource)iterator.next()).getTimeFrame();
+			final TimeFrame current = iterator.next().getTimeFrame();
 			if (current.contains(time))
 			{
 				return sources.get(current);
@@ -91,9 +90,9 @@
 	{
 		final TimeFrame timeframe = source.getTimeFrame();
 
-		for (final Iterator iterator = sources.keySet().iterator(); iterator.hasNext();)
+		for (final Iterator<ITimeFrameSource> iterator = sources.keySet().iterator(); iterator.hasNext();)
 		{
-			final TimeFrame current = ((ITimeFrameSource)iterator.next()).getTimeFrame();
+			final TimeFrame current = iterator.next().getTimeFrame();
 
 			if (timeframe.overlaps(current))
 			{

Modified: wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/util/watch/ModificationWatcher.java
URL: http://svn.apache.org/viewvc/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/util/watch/ModificationWatcher.java?rev=646020&r1=646019&r2=646020&view=diff
==============================================================================
--- wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/util/watch/ModificationWatcher.java (original)
+++ wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/util/watch/ModificationWatcher.java Tue Apr  8 11:10:20 2008
@@ -20,8 +20,8 @@
 import java.util.Iterator;
 import java.util.Map;
 import java.util.Set;
+import java.util.concurrent.ConcurrentHashMap;
 
-import org.apache.wicket.util.concurrent.ConcurrentHashMap;
 import org.apache.wicket.util.listener.ChangeListenerSet;
 import org.apache.wicket.util.listener.IChangeListener;
 import org.apache.wicket.util.thread.ICode;
@@ -45,7 +45,7 @@
 	private static final Logger log = LoggerFactory.getLogger(ModificationWatcher.class);
 
 	/** maps <code>IModifiable</code> objects to <code>Entry</code> objects */
-	private final Map modifiableToEntry = new ConcurrentHashMap();
+	private final Map<IModifiable, Entry> modifiableToEntry = new ConcurrentHashMap<IModifiable, Entry>();
 
 	/** the <code>Task</code> to run */
 	private Task task;
@@ -97,7 +97,7 @@
 	public final boolean add(final IModifiable modifiable, final IChangeListener listener)
 	{
 		// Look up entry for modifiable
-		final Entry entry = (Entry)modifiableToEntry.get(modifiable);
+		final Entry entry = modifiableToEntry.get(modifiable);
 
 		// Found it?
 		if (entry == null)
@@ -138,7 +138,7 @@
 	 */
 	public IModifiable remove(final IModifiable modifiable)
 	{
-		final Entry entry = (Entry)modifiableToEntry.remove(modifiable);
+		final Entry entry = modifiableToEntry.remove(modifiable);
 		if (entry != null)
 		{
 			return entry.modifiable;
@@ -165,11 +165,10 @@
 				// concurrent
 				// modification problems without the associated liveness issues
 				// of holding a lock while potentially polling file times!
-				for (final Iterator iterator = new ArrayList(modifiableToEntry.values()).iterator(); iterator
-					.hasNext();)
+				for (final Iterator<Entry> iterator = new ArrayList<Entry>(modifiableToEntry.values()).iterator(); iterator.hasNext();)
 				{
 					// Get next entry
-					final Entry entry = (Entry)iterator.next();
+					final Entry entry = iterator.next();
 
 					// If the modifiable has been modified after the last known
 					// modification time
@@ -205,7 +204,7 @@
 	 * 
 	 * @return a <code>Set</code> of all <code>IModifiable</code> entries currently maintained
 	 */
-	public final Set getEntries()
+	public final Set<IModifiable> getEntries()
 	{
 		return modifiableToEntry.keySet();
 	}

Modified: wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/markup/html/link/BookmarkableThrowsInterceptPage.java
URL: http://svn.apache.org/viewvc/wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/markup/html/link/BookmarkableThrowsInterceptPage.java?rev=646020&r1=646019&r2=646020&view=diff
==============================================================================
--- wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/markup/html/link/BookmarkableThrowsInterceptPage.java (original)
+++ wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/markup/html/link/BookmarkableThrowsInterceptPage.java Tue Apr  8 11:10:20 2008
@@ -28,26 +28,11 @@
 {
 	private static final long serialVersionUID = 1L;
 
-	private static class SecurityMetaDataKey extends MetaDataKey
+	public static final MetaDataKey<Boolean> SECURITY = new MetaDataKey<Boolean>(Boolean.class)
 	{
-		/**
-		 * Construct.
-		 * 
-		 * @param type
-		 */
-		public SecurityMetaDataKey(Class type)
-		{
-			super(type);
-		}
-
 		private static final long serialVersionUID = 1L;
 
-	}
-
-	/**
-	 * 
-	 */
-	public static final SecurityMetaDataKey SECURITY = new SecurityMetaDataKey(Boolean.class);
+	};
 
 	/**
 	 * Construct.

Modified: wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/util/convert/converters/ConvertersTest.java
URL: http://svn.apache.org/viewvc/wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/util/convert/converters/ConvertersTest.java?rev=646020&r1=646019&r2=646020&view=diff
==============================================================================
--- wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/util/convert/converters/ConvertersTest.java (original)
+++ wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/util/convert/converters/ConvertersTest.java Tue Apr  8 11:10:20 2008
@@ -106,6 +106,14 @@
 	}
 
 	/**
+	 * @throws Exception
+	 *             WICKET-1344 public void testBigDecimalRounding() throws Exception {
+	 *             BigDecimalConverter bdc = new BigDecimalConverter(); assertEquals("123.45",
+	 *             bdc.convertToObject("123.45", Locale.ENGLISH).toString());
+	 *  }
+	 */
+
+	/**
 	 * Test boolean conversions.
 	 */
 	public void testBooleanConversions()