Author: jcompagner
Date: Sat Apr 12 11:36:22 2008
New Revision: 647484

URL: http://svn.apache.org/viewvc?rev=647484&view=rev
Log:
more generics
including var args for behaviors/validators and child components

Modified:
    wicket/trunk/wicket/src/main/java/org/apache/wicket/Component.java
    wicket/trunk/wicket/src/main/java/org/apache/wicket/MarkupContainer.java
    
wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/form/AbstractChoice.java
    
wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/form/FormComponent.java
    
wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/repeater/data/DataView.java
    wicket/trunk/wicket/src/main/java/org/apache/wicket/model/ResourceModel.java
    
wicket/trunk/wicket/src/main/java/org/apache/wicket/util/collections/IntHashMap.java
    
wicket/trunk/wicket/src/main/java/org/apache/wicket/util/collections/MicroMap.java
    
wicket/trunk/wicket/src/main/java/org/apache/wicket/util/collections/MiniMap.java
    
wicket/trunk/wicket/src/main/java/org/apache/wicket/util/tester/BaseWicketTester.java

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/Component.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/Component.java?rev=647484&r1=647483&r2=647484&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/Component.java 
(original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/Component.java Sat Apr 
12 11:36:22 2008
@@ -926,27 +926,34 @@
         * thread</a>.
         * </p>
         * 
-        * @param behavior
-        *            The behavior modifier to be added
+        * @param behaviors
+        *            The behavior modifier(s) to be added
         * @return this (to allow method call chaining)
         */
-       public Component<T> add(final IBehavior behavior)
+       public Component<T> add(final IBehavior... behaviors)
        {
-               if (behavior == null)
+               if (behaviors == null)
                {
                        throw new IllegalArgumentException("Argument may not be 
null");
                }
 
-               addBehavior(behavior);
-
-               if (!behavior.isTemporary())
+               for (IBehavior behavior : behaviors)
                {
-                       addStateChange(new AddedBehaviorChange(behavior));
-               }
+                       if (behavior == null)
+                       {
+                               throw new IllegalArgumentException("Argument 
may not be null");
+                       }
 
-               // Give handler the opportunity to bind this component
-               behavior.bind(this);
+                       addBehavior(behavior);
 
+                       if (!behavior.isTemporary())
+                       {
+                               addStateChange(new 
AddedBehaviorChange(behavior));
+                       }
+
+                       // Give handler the opportunity to bind this component
+                       behavior.bind(this);
+               }
                return this;
        }
 
@@ -1027,9 +1034,9 @@
                        setFlag(FLAG_BEFORE_RENDERING_SUPER_CALL_VERIFIED, 
false);
 
                        
getApplication().notifyPreComponentOnBeforeRenderListeners(this);
-                       onBeforeRender();                       
-                       
getApplication().notifyPostComponentOnBeforeRenderListeners(this); 
-                       
+                       onBeforeRender();
+                       
getApplication().notifyPostComponentOnBeforeRenderListeners(this);
+
                        if (!getFlag(FLAG_BEFORE_RENDERING_SUPER_CALL_VERIFIED))
                        {
                                throw new 
IllegalStateException(Component.class.getName() +
@@ -4018,11 +4025,13 @@
        }
 
        /**
+        * @param <V>
+        *            The model type
         * @param model
         *            The model to wrap if need be
         * @return The wrapped model
         */
-       protected final IModel wrap(final IModel< ? > model)
+       protected final <V> IModel<V> wrap(final IModel<V> model)
        {
                if (model instanceof IComponentAssignedModel)
                {

Modified: 
wicket/trunk/wicket/src/main/java/org/apache/wicket/MarkupContainer.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/MarkupContainer.java?rev=647484&r1=647483&r2=647484&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/MarkupContainer.java 
(original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/MarkupContainer.java 
Sat Apr 12 11:36:22 2008
@@ -125,28 +125,32 @@
         *             Thrown if a child with the same id is replaced by the 
add operation.
         * @return This
         */
-       public final MarkupContainer<T> add(final Component< ? > child)
+       public final MarkupContainer<T> add(final Component< ? >... childs)
        {
-               checkHierarchyChange(child);
-
-               if (child == null)
+               for (Component< ? > child : childs)
                {
-                       throw new IllegalArgumentException("argument child may 
not be null");
-               }
 
-               if (log.isDebugEnabled())
-               {
-                       log.debug("Add " + child.getId() + " to " + this);
-               }
+                       checkHierarchyChange(child);
 
-               // Add to map
-               addedComponent(child);
-               if (put(child) != null)
-               {
-                       throw new IllegalArgumentException(exceptionMessage("A 
child with id '" +
-                               child.getId() + "' already exists"));
-               }
+                       if (child == null)
+                       {
+                               throw new IllegalArgumentException("argument 
child may not be null");
+                       }
+
+                       if (log.isDebugEnabled())
+                       {
+                               log.debug("Add " + child.getId() + " to " + 
this);
+                       }
+
+                       // Add to map
+                       addedComponent(child);
+                       if (put(child) != null)
+                       {
+                               throw new 
IllegalArgumentException(exceptionMessage("A child with id '" +
+                                       child.getId() + "' already exists"));
+                       }
 
+               }
                return this;
        }
 
@@ -154,26 +158,30 @@
         * Replaces a child component of this container with another or just 
adds it in case no child
         * with the same id existed yet.
         * 
-        * @param child
-        *            The child
+        * @param childs
+        *            The child(s) to be added or replaced
         * @return This
         */
-       public final MarkupContainer<T> addOrReplace(final Component< ? > child)
+       public final MarkupContainer<T> addOrReplace(final Component< ? >... 
childs)
        {
-               checkHierarchyChange(child);
-
-               if (child == null)
+               for (Component< ? > child : childs)
                {
-                       throw new IllegalArgumentException("argument child must 
be not null");
-               }
 
-               if (get(child.getId()) == null)
-               {
-                       add(child);
-               }
-               else
-               {
-                       replace(child);
+                       checkHierarchyChange(child);
+
+                       if (child == null)
+                       {
+                               throw new IllegalArgumentException("argument 
child must be not null");
+                       }
+
+                       if (get(child.getId()) == null)
+                       {
+                               add(child);
+                       }
+                       else
+                       {
+                               replace(child);
+                       }
                }
 
                return this;

Modified: 
wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/form/AbstractChoice.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/form/AbstractChoice.java?rev=647484&r1=647483&r2=647484&view=diff
==============================================================================
--- 
wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/form/AbstractChoice.java
 (original)
+++ 
wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/form/AbstractChoice.java
 Sat Apr 12 11:36:22 2008
@@ -64,7 +64,7 @@
         */
        public AbstractChoice(final String id)
        {
-               this(id, new Model(new ArrayList()), new ChoiceRenderer());
+               this(id, new Model(new ArrayList<E>()), new 
ChoiceRenderer<E>());
        }
 
        /**
@@ -78,7 +78,7 @@
         */
        public AbstractChoice(final String id, final List<E> choices)
        {
-               this(id, new Model((Serializable)choices), new 
ChoiceRenderer());
+               this(id, new Model((Serializable)choices), new 
ChoiceRenderer<E>());
        }
 
        /**
@@ -110,7 +110,7 @@
         */
        public AbstractChoice(final String id, IModel<T> model, final List<E> 
choices)
        {
-               this(id, model, new Model((Serializable)choices), new 
ChoiceRenderer());
+               this(id, model, new Model((Serializable)choices), new 
ChoiceRenderer<E>());
        }
 
        /**
@@ -143,7 +143,7 @@
         */
        public AbstractChoice(final String id, final IModel<List<E>> choices)
        {
-               this(id, choices, new ChoiceRenderer());
+               this(id, choices, new ChoiceRenderer<E>());
        }
 
        /**
@@ -178,7 +178,7 @@
         */
        public AbstractChoice(final String id, IModel<T> model, final 
IModel<List<E>> choices)
        {
-               this(id, model, choices, new ChoiceRenderer());
+               this(id, model, choices, new ChoiceRenderer<E>());
        }
 
        /**
@@ -276,7 +276,7 @@
        {
                if (renderer == null)
                {
-                       renderer = new ChoiceRenderer();
+                       renderer = new ChoiceRenderer<E>();
                }
                this.renderer = renderer;
                return this;
@@ -381,7 +381,7 @@
                String selected)
        {
                Object objectValue = renderer.getDisplayValue(choice);
-               Class objectClass = objectValue == null ? null : 
objectValue.getClass();
+               Class< ? extends Object> objectClass = objectValue == null ? 
null : objectValue.getClass();
                String displayValue = "";
                if (objectClass != null && objectClass != String.class)
                {
@@ -459,7 +459,7 @@
        {
                private static final long serialVersionUID = 1L;
 
-               private final IModel oldChoices;
+               private final IModel<List<E>> oldChoices;
 
                /**
                 * Construct.

Modified: 
wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/form/FormComponent.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/form/FormComponent.java?rev=647484&r1=647483&r2=647484&view=diff
==============================================================================
--- 
wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/form/FormComponent.java
 (original)
+++ 
wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/form/FormComponent.java
 Sat Apr 12 11:36:22 2008
@@ -472,28 +472,35 @@
        /**
         * Adds a validator to this form component.
         * 
-        * @param validator
-        *            The validator
+        * @param validators
+        *            The validator(s) to be added
         * @return This
         * @throws IllegalArgumentException
         *             if validator is null
         * @see IValidator
         * @see IValidatorAddListener
         */
-       public final FormComponent<T> add(final IValidator validator)
+       public final FormComponent<T> add(final IValidator... validators)
        {
-               if (validator == null)
+               if (validators == null)
                {
                        throw new IllegalArgumentException("validator argument 
cannot be null");
                }
 
-               // add the validator
-               validators_add(validator);
-
-               // see whether the validator listens for add events
-               if (validator instanceof IValidatorAddListener)
+               for (IValidator validator : validators)
                {
-                       ((IValidatorAddListener)validator).onAdded(this);
+                       if (validator == null)
+                       {
+                               throw new IllegalArgumentException("validator 
argument cannot be null");
+                       }
+                       // add the validator
+                       validators_add(validator);
+
+                       // see whether the validator listens for add events
+                       if (validator instanceof IValidatorAddListener)
+                       {
+                               
((IValidatorAddListener)validator).onAdded(this);
+                       }
                }
 
                // return this for chaining

Modified: 
wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/repeater/data/DataView.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/repeater/data/DataView.java?rev=647484&r1=647483&r2=647484&view=diff
==============================================================================
--- 
wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/repeater/data/DataView.java
 (original)
+++ 
wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/repeater/data/DataView.java
 Sat Apr 12 11:36:22 2008
@@ -59,6 +59,8 @@
  * 
  * @author Igor Vaynberg (ivaynberg)
  * 
+ * @param <T>
+ *            The Model type.
  */
 public abstract class DataView<T> extends DataViewBase<T>
 {
@@ -74,7 +76,7 @@
         * @param dataProvider
         *            data provider
         */
-  protected DataView(String id, IDataProvider<T> dataProvider)
+       protected DataView(String id, IDataProvider<T> dataProvider)
        {
                super(id, dataProvider);
        }
@@ -87,7 +89,7 @@
         * @param itemsPerPage
         *            items per page
         */
-  protected DataView(String id, IDataProvider<T> dataProvider, int 
itemsPerPage)
+       protected DataView(String id, IDataProvider<T> dataProvider, int 
itemsPerPage)
        {
                super(id, dataProvider);
                setItemsPerPage(itemsPerPage);

Modified: 
wicket/trunk/wicket/src/main/java/org/apache/wicket/model/ResourceModel.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/model/ResourceModel.java?rev=647484&r1=647483&r2=647484&view=diff
==============================================================================
--- 
wicket/trunk/wicket/src/main/java/org/apache/wicket/model/ResourceModel.java 
(original)
+++ 
wicket/trunk/wicket/src/main/java/org/apache/wicket/model/ResourceModel.java 
Sat Apr 12 11:36:22 2008
@@ -30,7 +30,9 @@
  * @author Igor Vaynberg (ivaynberg)
  * 
  */
-public class ResourceModel extends AbstractReadOnlyModel implements 
IComponentAssignedModel
+public class ResourceModel extends AbstractReadOnlyModel<String>
+       implements
+               IComponentAssignedModel<String>
 {
        private static final long serialVersionUID = 1L;
 
@@ -67,18 +69,19 @@
        /**
         * @see org.apache.wicket.model.AbstractReadOnlyModel#getObject()
         */
-       public Object getObject()
+       @Override
+       public String getObject()
        {
                // this shouldn't be called always wrapped!
                return 
Application.get().getResourceSettings().getLocalizer().getString(resourceKey,
-                       (Component)null, defaultValue);
+                       (Component<String>)null, defaultValue);
        }
 
 
        /**
         * @see 
org.apache.wicket.model.IComponentAssignedModel#wrapOnAssignment(org.apache.wicket.Component)
         */
-       public IWrapModel wrapOnAssignment(final Component component)
+       public IWrapModel<String> wrapOnAssignment(final Component<String> 
component)
        {
                return new AssignmentWrapper(resourceKey, defaultValue, 
component);
        }
@@ -86,11 +89,11 @@
        /**
         * 
         */
-       private class AssignmentWrapper extends ResourceModel implements 
IWrapModel
+       private class AssignmentWrapper extends ResourceModel implements 
IWrapModel<String>
        {
                private static final long serialVersionUID = 1L;
 
-               private final Component component;
+               private final Component<String> component;
 
                /**
                 * Construct.
@@ -99,7 +102,8 @@
                 * @param defaultValue
                 * @param component
                 */
-               public AssignmentWrapper(String resourceKey, String 
defaultValue, Component component)
+               public AssignmentWrapper(String resourceKey, String 
defaultValue,
+                       Component<String> component)
                {
                        super(resourceKey, defaultValue);
                        this.component = component;
@@ -108,7 +112,7 @@
                /**
                 * @see org.apache.wicket.model.IWrapModel#getWrappedModel()
                 */
-               public IModel getWrappedModel()
+               public IModel<String> getWrappedModel()
                {
                        return ResourceModel.this;
                }
@@ -116,12 +120,14 @@
                /**
                 * @see 
org.apache.wicket.model.AbstractReadOnlyModel#getObject()
                 */
-               public Object getObject()
+               @Override
+               public String getObject()
                {
                        return 
Application.get().getResourceSettings().getLocalizer().getString(resourceKey,
                                component, defaultValue);
                }
 
+               @Override
                public void detach()
                {
                        super.detach();

Modified: 
wicket/trunk/wicket/src/main/java/org/apache/wicket/util/collections/IntHashMap.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/util/collections/IntHashMap.java?rev=647484&r1=647483&r2=647484&view=diff
==============================================================================
--- 
wicket/trunk/wicket/src/main/java/org/apache/wicket/util/collections/IntHashMap.java
 (original)
+++ 
wicket/trunk/wicket/src/main/java/org/apache/wicket/util/collections/IntHashMap.java
 Sat Apr 12 11:36:22 2008
@@ -32,12 +32,15 @@
  * that the key is directly an integer. So no hash is calculated or key object 
is stored.
  * 
  * @author jcompagner
+ * 
+ * @param <V>
+ *            The value in the map
  */
-public class IntHashMap implements Cloneable, Serializable
+public class IntHashMap<V> implements Cloneable, Serializable
 {
-       transient volatile Set keySet = null;
+       transient volatile Set<Integer> keySet = null;
 
-       transient volatile Collection values = null;
+       transient volatile Collection<V> values = null;
 
        /**
         * The default initial capacity - MUST be a power of two.
@@ -58,7 +61,7 @@
        /**
         * The table, resized as necessary. Length MUST Always be a power of 
two.
         */
-       transient Entry[] table;
+       transient Entry<V>[] table;
 
        /**
         * The number of key-value mappings contained in this identity hash map.
@@ -102,7 +105,7 @@
                if (initialCapacity < 0)
                {
                        throw new IllegalArgumentException("Illegal initial 
capacity: " + //$NON-NLS-1$
-                                       initialCapacity);
+                               initialCapacity);
                }
                if (initialCapacity > MAXIMUM_CAPACITY)
                {
@@ -111,7 +114,7 @@
                if (loadFactor <= 0 || Float.isNaN(loadFactor))
                {
                        throw new IllegalArgumentException("Illegal load 
factor: " + //$NON-NLS-1$
-                                       loadFactor);
+                               loadFactor);
                }
 
                // Find a power of 2 >= initialCapacity
@@ -213,7 +216,7 @@
        public Object get(int key)
        {
                int i = indexFor(key, table.length);
-               Entry e = table[i];
+               Entry<V> e = table[i];
                while (true)
                {
                        if (e == null)
@@ -238,7 +241,7 @@
        public boolean containsKey(int key)
        {
                int i = indexFor(key, table.length);
-               Entry e = table[i];
+               Entry<V> e = table[i];
                while (e != null)
                {
                        if (key == e.key)
@@ -257,10 +260,10 @@
         * @param key
         * @return The Entry object for the given hash key
         */
-       Entry getEntry(int key)
+       Entry<V> getEntry(int key)
        {
                int i = indexFor(key, table.length);
-               Entry e = table[i];
+               Entry<V> e = table[i];
                while (e != null && !(key == e.key))
                {
                        e = e.next;
@@ -280,15 +283,15 @@
         *         mapping for key. A <tt>null</tt> return can also indicate 
that the HashMap
         *         previously associated <tt>null</tt> with the specified key.
         */
-       public Object put(int key, Object value)
+       public Object put(int key, V value)
        {
                int i = indexFor(key, table.length);
 
-               for (Entry e = table[i]; e != null; e = e.next)
+               for (Entry<V> e = table[i]; e != null; e = e.next)
                {
                        if (key == e.key)
                        {
-                               Object oldValue = e.value;
+                               V oldValue = e.value;
                                e.value = value;
                                return oldValue;
                        }
@@ -307,7 +310,7 @@
         * @param key
         * @param value
         */
-       private void putForCreate(int key, Object value)
+       private void putForCreate(int key, V value)
        {
                int i = indexFor(key, table.length);
 
@@ -316,7 +319,7 @@
                 * will only happen for construction if the input Map is a 
sorted map whose ordering is
                 * inconsistent w/ equals.
                 */
-               for (Entry e = table[i]; e != null; e = e.next)
+               for (Entry<V> e = table[i]; e != null; e = e.next)
                {
                        if (key == e.key)
                        {
@@ -328,11 +331,11 @@
                createEntry(key, value, i);
        }
 
-       void putAllForCreate(IntHashMap m)
+       void putAllForCreate(IntHashMap<V> m)
        {
-               for (Iterator i = m.entrySet().iterator(); i.hasNext();)
+               for (Iterator<Entry<V>> i = m.entrySet().iterator(); 
i.hasNext();)
                {
-                       Entry e = (Entry)i.next();
+                       Entry<V> e = i.next();
                        putForCreate(e.getKey(), e.getValue());
                }
        }
@@ -350,7 +353,7 @@
         */
        void resize(int newCapacity)
        {
-               Entry[] oldTable = table;
+               Entry<V>[] oldTable = table;
                int oldCapacity = oldTable.length;
                if (oldCapacity == MAXIMUM_CAPACITY)
                {
@@ -358,7 +361,7 @@
                        return;
                }
 
-               Entry[] newTable = new Entry[newCapacity];
+               Entry<V>[] newTable = new Entry[newCapacity];
                transfer(newTable);
                table = newTable;
                threshold = (int)(newCapacity * loadFactor);
@@ -369,19 +372,19 @@
         * 
         * @param newTable
         */
-       void transfer(Entry[] newTable)
+       void transfer(Entry<V>[] newTable)
        {
-               Entry[] src = table;
+               Entry<V>[] src = table;
                int newCapacity = newTable.length;
                for (int j = 0; j < src.length; j++)
                {
-                       Entry e = src[j];
+                       Entry<V> e = src[j];
                        if (e != null)
                        {
                                src[j] = null;
                                do
                                {
-                                       Entry next = e.next;
+                                       Entry<V> next = e.next;
                                        int i = indexFor(e.key, newCapacity);
                                        e.next = newTable[i];
                                        newTable[i] = e;
@@ -401,7 +404,7 @@
         * @throws NullPointerException
         *             if the specified map is null.
         */
-       public void putAll(IntHashMap m)
+       public void putAll(IntHashMap<V> m)
        {
                int numKeysToBeAdded = m.size();
                if (numKeysToBeAdded == 0)
@@ -434,9 +437,9 @@
                        }
                }
 
-               for (Iterator i = m.entrySet().iterator(); i.hasNext();)
+               for (Iterator<Entry<V>> i = m.entrySet().iterator(); 
i.hasNext();)
                {
-                       Entry e = (Entry)i.next();
+                       Entry<V> e = i.next();
                        put(e.getKey(), e.getValue());
                }
        }
@@ -452,7 +455,7 @@
         */
        public Object remove(int key)
        {
-               Entry e = removeEntryForKey(key);
+               Entry<V> e = removeEntryForKey(key);
                return (e == null ? e : e.value);
        }
 
@@ -463,15 +466,15 @@
         * @param key
         * @return The Entry object that was removed
         */
-       Entry removeEntryForKey(int key)
+       Entry<V> removeEntryForKey(int key)
        {
                int i = indexFor(key, table.length);
-               Entry prev = table[i];
-               Entry e = prev;
+               Entry<V> prev = table[i];
+               Entry<V> e = prev;
 
                while (e != null)
                {
-                       Entry next = e.next;
+                       Entry<V> next = e.next;
                        if (key == e.key)
                        {
                                modCount++;
@@ -499,22 +502,22 @@
         * @param o
         * @return The entry that was removed
         */
-       Entry removeMapping(Object o)
+       Entry<V> removeMapping(Object o)
        {
                if (!(o instanceof Entry))
                {
                        return null;
                }
 
-               Entry entry = (Entry)o;
+               Entry<V> entry = (Entry)o;
                int key = entry.getKey();
                int i = indexFor(key, table.length);
-               Entry prev = table[i];
-               Entry e = prev;
+               Entry<V> prev = table[i];
+               Entry<V> e = prev;
 
                while (e != null)
                {
-                       Entry next = e.next;
+                       Entry<V> next = e.next;
                        if (e.key == key && e.equals(entry))
                        {
                                modCount++;
@@ -542,7 +545,7 @@
        public void clear()
        {
                modCount++;
-               Entry tab[] = table;
+               Entry<V> tab[] = table;
                for (int i = 0; i < tab.length; i++)
                {
                        tab[i] = null;
@@ -564,10 +567,10 @@
                        return containsNullValue();
                }
 
-               Entry tab[] = table;
+               Entry<V> tab[] = table;
                for (int i = 0; i < tab.length; i++)
                {
-                       for (Entry e = tab[i]; e != null; e = e.next)
+                       for (Entry<V> e = tab[i]; e != null; e = e.next)
                        {
                                if (value.equals(e.value))
                                {
@@ -585,10 +588,10 @@
         */
        private boolean containsNullValue()
        {
-               Entry tab[] = table;
+               Entry<V> tab[] = table;
                for (int i = 0; i < tab.length; i++)
                {
-                       for (Entry e = tab[i]; e != null; e = e.next)
+                       for (Entry<V> e = tab[i]; e != null; e = e.next)
                        {
                                if (e.value == null)
                                {
@@ -605,9 +608,10 @@
         * 
         * @return a shallow copy of this map.
         */
+       @Override
        public Object clone() throws CloneNotSupportedException
        {
-               IntHashMap result = null;
+               IntHashMap<V> result = null;
                try
                {
                        result = (IntHashMap)super.clone();
@@ -628,11 +632,11 @@
        /**
         * @author jcompagner
         */
-       public static class Entry
+       public static class Entry<V>
        {
                final int key;
-               Object value;
-               Entry next;
+               V value;
+               Entry<V> next;
 
                /**
                 * Create new entry.
@@ -641,7 +645,7 @@
                 * @param v
                 * @param n
                 */
-               Entry(int k, Object v, Entry n)
+               Entry(int k, V v, Entry<V> n)
                {
                        value = v;
                        next = n;
@@ -659,7 +663,7 @@
                /**
                 * @return Gets the value object of this entry
                 */
-               public Object getValue()
+               public V getValue()
                {
                        return value;
                }
@@ -668,9 +672,9 @@
                 * @param newValue
                 * @return The previous value
                 */
-               public Object setValue(Object newValue)
+               public V setValue(V newValue)
                {
-                       Object oldValue = value;
+                       V oldValue = value;
                        value = newValue;
                        return oldValue;
                }
@@ -678,13 +682,14 @@
                /**
                 * @see java.lang.Object#equals(java.lang.Object)
                 */
+               @Override
                public boolean equals(Object o)
                {
                        if (!(o instanceof Entry))
                        {
                                return false;
                        }
-                       Entry e = (Entry)o;
+                       Entry<V> e = (Entry<V>)o;
                        int k1 = getKey();
                        int k2 = e.getKey();
                        if (k1 == k2)
@@ -702,6 +707,7 @@
                /**
                 * @see java.lang.Object#hashCode()
                 */
+               @Override
                public int hashCode()
                {
                        return key ^ (value == null ? 0 : value.hashCode());
@@ -710,6 +716,7 @@
                /**
                 * @see java.lang.Object#toString()
                 */
+               @Override
                public String toString()
                {
                        return getKey() + "=" + getValue(); //$NON-NLS-1$
@@ -726,9 +733,9 @@
         * @param value
         * @param bucketIndex
         */
-       void addEntry(int key, Object value, int bucketIndex)
+       void addEntry(int key, V value, int bucketIndex)
        {
-               table[bucketIndex] = new Entry(key, value, table[bucketIndex]);
+               table[bucketIndex] = new Entry<V>(key, value, 
table[bucketIndex]);
                if (size++ >= threshold)
                {
                        resize(2 * table.length);
@@ -746,25 +753,25 @@
         * @param value
         * @param bucketIndex
         */
-       void createEntry(int key, Object value, int bucketIndex)
+       void createEntry(int key, V value, int bucketIndex)
        {
-               table[bucketIndex] = new Entry(key, value, table[bucketIndex]);
+               table[bucketIndex] = new Entry<V>(key, value, 
table[bucketIndex]);
                size++;
        }
 
-       private abstract class HashIterator implements Iterator
+       private abstract class HashIterator<H> implements Iterator<H>
        {
-               Entry next; // next entry to return
+               Entry<V> next; // next entry to return
                int expectedModCount; // For fast-fail
                int index; // current slot
-               Entry current; // current entry
+               Entry<V> current; // current entry
 
                HashIterator()
                {
                        expectedModCount = modCount;
-                       Entry[] t = table;
+                       Entry<V>[] t = table;
                        int i = t.length;
-                       Entry n = null;
+                       Entry<V> n = null;
                        if (size != 0)
                        { // advance to first entry
                                while (i > 0 && (n = t[--i]) == null)
@@ -784,20 +791,20 @@
                        return next != null;
                }
 
-               Entry nextEntry()
+               Entry<V> nextEntry()
                {
                        if (modCount != expectedModCount)
                        {
                                throw new ConcurrentModificationException();
                        }
-                       Entry e = next;
+                       Entry<V> e = next;
                        if (e == null)
                        {
                                throw new NoSuchElementException();
                        }
 
-                       Entry n = e.next;
-                       Entry[] t = table;
+                       Entry<V> n = e.next;
+                       Entry<V>[] t = table;
                        int i = index;
                        while (n == null && i > 0)
                        {
@@ -829,58 +836,59 @@
 
        }
 
-       private class ValueIterator extends HashIterator
+       private class ValueIterator extends HashIterator<V>
        {
                /**
                 * @see java.util.Iterator#next()
                 */
-               public Object next()
+               public V next()
                {
                        return nextEntry().value;
                }
        }
 
-       private class KeyIterator extends HashIterator
+       private class KeyIterator extends HashIterator<Integer>
        {
                /**
                 * @see java.util.Iterator#next()
                 */
-               public Object next()
+               public Integer next()
                {
                        return new Integer(nextEntry().getKey());
                }
        }
 
-       private class EntryIterator extends HashIterator
+       private class EntryIterator extends HashIterator<Entry<V>>
        {
                /**
                 * @see java.util.Iterator#next()
                 */
-               public Object next()
+               public Entry<V> next()
                {
-                       return nextEntry();
+                       Entry<V> nextEntry = nextEntry();
+                       return nextEntry;
                }
        }
 
        // Subclass overrides these to alter behavior of views' iterator() 
method
-       Iterator newKeyIterator()
+       Iterator<Integer> newKeyIterator()
        {
                return new KeyIterator();
        }
 
-       Iterator newValueIterator()
+       Iterator<V> newValueIterator()
        {
                return new ValueIterator();
        }
 
-       Iterator newEntryIterator()
+       Iterator<Entry<V>> newEntryIterator()
        {
                return new EntryIterator();
        }
 
        // Views
 
-       private transient Set entrySet = null;
+       private transient Set<Entry<V>> entrySet = null;
 
        /**
         * Returns a set view of the keys contained in this map. The set is 
backed by the map, so
@@ -892,18 +900,19 @@
         * 
         * @return a set view of the keys contained in this map.
         */
-       public Set keySet()
+       public Set<Integer> keySet()
        {
-               Set ks = keySet;
+               Set<Integer> ks = keySet;
                return (ks != null ? ks : (keySet = new KeySet()));
        }
 
-       private class KeySet extends AbstractSet
+       private class KeySet extends AbstractSet<Integer>
        {
                /**
                 * @see java.util.AbstractCollection#iterator()
                 */
-               public Iterator iterator()
+               @Override
+               public Iterator<Integer> iterator()
                {
                        return newKeyIterator();
                }
@@ -911,6 +920,7 @@
                /**
                 * @see java.util.AbstractCollection#size()
                 */
+               @Override
                public int size()
                {
                        return size;
@@ -919,6 +929,7 @@
                /**
                 * @see java.util.AbstractCollection#contains(java.lang.Object)
                 */
+               @Override
                public boolean contains(Object o)
                {
                        if (o instanceof Number)
@@ -931,6 +942,7 @@
                /**
                 * @see java.util.AbstractCollection#remove(java.lang.Object)
                 */
+               @Override
                public boolean remove(Object o)
                {
                        if (o instanceof Number)
@@ -943,6 +955,7 @@
                /**
                 * @see java.util.AbstractCollection#clear()
                 */
+               @Override
                public void clear()
                {
                        IntHashMap.this.clear();
@@ -959,18 +972,19 @@
         * 
         * @return a collection view of the values contained in this map.
         */
-       public Collection values()
+       public Collection<V> values()
        {
-               Collection vs = values;
+               Collection<V> vs = values;
                return (vs != null ? vs : (values = new Values()));
        }
 
-       private class Values extends AbstractCollection
+       private class Values extends AbstractCollection<V>
        {
                /**
                 * @see java.util.AbstractCollection#iterator()
                 */
-               public Iterator iterator()
+               @Override
+               public Iterator<V> iterator()
                {
                        return newValueIterator();
                }
@@ -978,6 +992,7 @@
                /**
                 * @see java.util.AbstractCollection#size()
                 */
+               @Override
                public int size()
                {
                        return size;
@@ -986,6 +1001,7 @@
                /**
                 * @see java.util.AbstractCollection#contains(java.lang.Object)
                 */
+               @Override
                public boolean contains(Object o)
                {
                        return containsValue(o);
@@ -994,6 +1010,7 @@
                /**
                 * @see java.util.AbstractCollection#clear()
                 */
+               @Override
                public void clear()
                {
                        IntHashMap.this.clear();
@@ -1012,18 +1029,19 @@
         * @return a collection view of the mappings contained in this map.
         * @see Map.Entry
         */
-       public Set entrySet()
+       public Set<Entry<V>> entrySet()
        {
-               Set es = entrySet;
+               Set<Entry<V>> es = entrySet;
                return (es != null ? es : (entrySet = new EntrySet()));
        }
 
-       private class EntrySet extends AbstractSet
+       private class EntrySet extends AbstractSet<Entry<V>>
        {
                /**
                 * @see java.util.AbstractCollection#iterator()
                 */
-               public Iterator iterator()
+               @Override
+               public Iterator<Entry<V>> iterator()
                {
                        return newEntryIterator();
                }
@@ -1031,20 +1049,22 @@
                /**
                 * @see java.util.AbstractCollection#contains(java.lang.Object)
                 */
+               @Override
                public boolean contains(Object o)
                {
                        if (!(o instanceof Entry))
                        {
                                return false;
                        }
-                       Entry e = (Entry)o;
-                       Entry candidate = getEntry(e.getKey());
+                       Entry<V> e = (Entry)o;
+                       Entry<V> candidate = getEntry(e.getKey());
                        return candidate != null && candidate.equals(e);
                }
 
                /**
                 * @see java.util.AbstractCollection#remove(java.lang.Object)
                 */
+               @Override
                public boolean remove(Object o)
                {
                        return removeMapping(o) != null;
@@ -1053,6 +1073,7 @@
                /**
                 * @see java.util.AbstractCollection#size()
                 */
+               @Override
                public int size()
                {
                        return size;
@@ -1061,6 +1082,7 @@
                /**
                 * @see java.util.AbstractCollection#clear()
                 */
+               @Override
                public void clear()
                {
                        IntHashMap.this.clear();
@@ -1093,9 +1115,9 @@
                s.writeInt(size);
 
                // Write out keys and values (alternating)
-               for (Iterator i = entrySet().iterator(); i.hasNext();)
+               for (Iterator<Entry<V>> i = entrySet().iterator(); i.hasNext();)
                {
-                       Entry e = (Entry)i.next();
+                       Entry<V> e = i.next();
                        s.writeInt(e.getKey());
                        s.writeObject(e.getValue());
                }
@@ -1128,7 +1150,7 @@
                for (int i = 0; i < size; i++)
                {
                        int key = s.readInt();
-                       Object value = s.readObject();
+                       V value = (V)s.readObject();
                        putForCreate(key, value);
                }
        }

Modified: 
wicket/trunk/wicket/src/main/java/org/apache/wicket/util/collections/MicroMap.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/util/collections/MicroMap.java?rev=647484&r1=647483&r2=647484&view=diff
==============================================================================
--- 
wicket/trunk/wicket/src/main/java/org/apache/wicket/util/collections/MicroMap.java
 (original)
+++ 
wicket/trunk/wicket/src/main/java/org/apache/wicket/util/collections/MicroMap.java
 Sat Apr 12 11:36:22 2008
@@ -31,8 +31,12 @@
  * component.
  * 
  * @author Jonathan Locke
+ * @param <K>
+ *            Key type
+ * @param <V>
+ *            Value type
  */
-public final class MicroMap implements Map, Serializable
+public final class MicroMap<K, V> implements Map<K, V>, Serializable
 {
        private static final long serialVersionUID = 1L;
 
@@ -40,10 +44,10 @@
        public static final int MAX_ENTRIES = 1;
 
        /** The one and only key in this tiny map */
-       private Object key;
+       private K key;
 
        /** The value for the only key in this tiny map */
-       private Object value;
+       private V value;
 
        /**
         * Constructor
@@ -60,7 +64,7 @@
         * @param value
         *            The value
         */
-       public MicroMap(final Object key, final Object value)
+       public MicroMap(final K key, final V value)
        {
                put(key, value);
        }
@@ -108,7 +112,7 @@
        /**
         * @see java.util.Map#get(java.lang.Object)
         */
-       public Object get(final Object key)
+       public V get(final Object key)
        {
                if (key.equals(this.key))
                {
@@ -121,12 +125,12 @@
        /**
         * @see java.util.Map#put(java.lang.Object, java.lang.Object)
         */
-       public Object put(final Object key, final Object value)
+       public V put(final K key, final V value)
        {
                // Replace?
                if (key.equals(this.key))
                {
-                       final Object oldValue = this.value;
+                       final V oldValue = this.value;
 
                        this.value = value;
 
@@ -153,14 +157,14 @@
        /**
         * @see java.util.Map#remove(java.lang.Object)
         */
-       public Object remove(final Object key)
+       public V remove(final Object key)
        {
                if (key.equals(this.key))
                {
-                       final Object oldValue = this.value;
+                       final V oldValue = value;
 
                        this.key = null;
-                       this.value = null;
+                       value = null;
 
                        return oldValue;
                }
@@ -171,11 +175,11 @@
        /**
         * @see java.util.Map#putAll(java.util.Map)
         */
-       public void putAll(final Map map)
+       public void putAll(final Map< ? extends K, ? extends V> map)
        {
                if (map.size() <= MAX_ENTRIES)
                {
-                       final Map.Entry e = 
(Map.Entry)map.entrySet().iterator().next();
+                       final Entry< ? extends K, ? extends V> e = 
map.entrySet().iterator().next();
 
                        put(e.getKey(), e.getValue());
                }
@@ -197,20 +201,21 @@
        /**
         * @see java.util.Map#keySet()
         */
-       public Set keySet()
+       public Set<K> keySet()
        {
-               return new AbstractSet()
+               return new AbstractSet<K>()
                {
-                       public Iterator iterator()
+                       @Override
+                       public Iterator<K> iterator()
                        {
-                               return new Iterator()
+                               return new Iterator<K>()
                                {
                                        public boolean hasNext()
                                        {
                                                return index < 
MicroMap.this.size();
                                        }
 
-                                       public Object next()
+                                       public K next()
                                        {
                                                if (!hasNext())
                                                {
@@ -230,6 +235,7 @@
                                };
                        }
 
+                       @Override
                        public int size()
                        {
                                return MicroMap.this.size();
@@ -240,11 +246,12 @@
        /**
         * @see java.util.Map#values()
         */
-       public Collection values()
+       public Collection<V> values()
        {
-               return new AbstractList()
+               return new AbstractList<V>()
                {
-                       public Object get(final int index)
+                       @Override
+                       public V get(final int index)
                        {
                                if (index > size() - 1)
                                {
@@ -253,6 +260,7 @@
                                return value;
                        }
 
+                       @Override
                        public int size()
                        {
                                return MicroMap.this.size();
@@ -263,20 +271,21 @@
        /**
         * @see java.util.Map#entrySet()
         */
-       public Set entrySet()
+       public Set<Entry<K, V>> entrySet()
        {
-               return new AbstractSet()
+               return new AbstractSet<Entry<K, V>>()
                {
-                       public Iterator iterator()
+                       @Override
+                       public Iterator<Entry<K, V>> iterator()
                        {
-                               return new Iterator()
+                               return new Iterator<Entry<K, V>>()
                                {
                                        public boolean hasNext()
                                        {
                                                return index < 
MicroMap.this.size();
                                        }
 
-                                       public Object next()
+                                       public Entry<K, V> next()
                                        {
                                                if (!hasNext())
                                                {
@@ -284,21 +293,21 @@
                                                }
                                                index++;
 
-                                               return new Map.Entry()
+                                               return new Map.Entry<K, V>()
                                                {
-                                                       public Object getKey()
+                                                       public K getKey()
                                                        {
                                                                return key;
                                                        }
 
-                                                       public Object getValue()
+                                                       public V getValue()
                                                        {
                                                                return value;
                                                        }
 
-                                                       public Object 
setValue(final Object value)
+                                                       public V setValue(final 
V value)
                                                        {
-                                                               final Object 
oldValue = MicroMap.this.value;
+                                                               final V 
oldValue = MicroMap.this.value;
 
                                                                
MicroMap.this.value = value;
 
@@ -316,6 +325,7 @@
                                };
                        }
 
+                       @Override
                        public int size()
                        {
                                return MicroMap.this.size();

Modified: 
wicket/trunk/wicket/src/main/java/org/apache/wicket/util/collections/MiniMap.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/util/collections/MiniMap.java?rev=647484&r1=647483&r2=647484&view=diff
==============================================================================
--- 
wicket/trunk/wicket/src/main/java/org/apache/wicket/util/collections/MiniMap.java
 (original)
+++ 
wicket/trunk/wicket/src/main/java/org/apache/wicket/util/collections/MiniMap.java
 Sat Apr 12 11:36:22 2008
@@ -30,16 +30,20 @@
  * index. Null key entries are available for use. This means that null is not 
a valid key.
  * 
  * @author Jonathan Locke
+ * @param <K>
+ *            Key type
+ * @param <V>
+ *            Value type
  */
-public class MiniMap implements Map, Serializable
+public class MiniMap<K, V> implements Map<K, V>, Serializable
 {
        private static final long serialVersionUID = 1L;
 
        /** The array of keys. Keys that are null are not used. */
-       private final Object[] keys;
+       private final K[] keys;
 
        /** The array of values which correspond by index with the keys array. 
*/
-       private final Object[] values;
+       private final V[] values;
 
        /** The number of valid entries */
        private int size;
@@ -55,8 +59,8 @@
         */
        public MiniMap(final int maxEntries)
        {
-               keys = new Object[maxEntries];
-               values = new Object[maxEntries];
+               keys = (K[])new Object[maxEntries];
+               values = (V[])new Object[maxEntries];
        }
 
        /**
@@ -67,7 +71,7 @@
         * @param maxEntries
         *            The maximum number of entries this map can hold
         */
-       public MiniMap(final Map map, final int maxEntries)
+       public MiniMap(final Map< ? extends K, ? extends V> map, final int 
maxEntries)
        {
                this(maxEntries);
                putAll(map);
@@ -116,7 +120,7 @@
        /**
         * @see java.util.Map#get(java.lang.Object)
         */
-       public Object get(final Object key)
+       public V get(final Object key)
        {
                // Search for key
                final int index = findKey(key);
@@ -134,7 +138,7 @@
        /**
         * @see java.util.Map#put(java.lang.Object, java.lang.Object)
         */
-       public Object put(final Object key, final Object value)
+       public V put(final K key, final V value)
        {
                // Search for key
                final int index = findKey(key);
@@ -142,7 +146,7 @@
                if (index != -1)
                {
                        // Replace existing value
-                       final Object oldValue = values[index];
+                       final V oldValue = values[index];
                        values[index] = value;
                        return oldValue;
                }
@@ -169,7 +173,7 @@
        /**
         * @see java.util.Map#remove(java.lang.Object)
         */
-       public Object remove(final Object key)
+       public V remove(final Object key)
        {
                // Search for key
                final int index = findKey(key);
@@ -177,7 +181,7 @@
                if (index != -1)
                {
                        // Store value
-                       final Object oldValue = values[index];
+                       final V oldValue = values[index];
 
                        keys[index] = null;
                        values[index] = null;
@@ -192,11 +196,12 @@
        /**
         * @see java.util.Map#putAll(java.util.Map)
         */
-       public void putAll(final Map map)
+       public void putAll(Map< ? extends K, ? extends V> map)
        {
-               for (final Iterator iterator = map.entrySet().iterator(); 
iterator.hasNext();)
+               for (final Iterator< ? extends Entry< ? extends K, ? extends 
V>> iterator = map.entrySet()
+                       .iterator(); iterator.hasNext();)
                {
-                       final Map.Entry e = (Map.Entry)iterator.next();
+                       final Map.Entry< ? extends K, ? extends V> e = 
iterator.next();
                        put(e.getKey(), e.getValue());
                }
        }
@@ -218,20 +223,21 @@
        /**
         * @see java.util.Map#keySet()
         */
-       public Set keySet()
+       public Set<K> keySet()
        {
-               return new AbstractSet()
+               return new AbstractSet<K>()
                {
-                       public Iterator iterator()
+                       @Override
+                       public Iterator<K> iterator()
                        {
-                               return new Iterator()
+                               return new Iterator<K>()
                                {
                                        public boolean hasNext()
                                        {
                                                return i < size - 1;
                                        }
 
-                                       public Object next()
+                                       public K next()
                                        {
                                                // Just in case... (WICKET-428)
                                                if (!hasNext())
@@ -257,6 +263,7 @@
                                };
                        }
 
+                       @Override
                        public int size()
                        {
                                return size;
@@ -267,11 +274,12 @@
        /**
         * @see java.util.Map#values()
         */
-       public Collection values()
+       public Collection<V> values()
        {
-               return new AbstractList()
+               return new AbstractList<V>()
                {
-                       public Object get(final int index)
+                       @Override
+                       public V get(final int index)
                        {
                                if (index > size - 1)
                                {
@@ -287,6 +295,7 @@
                                return values[keyIndex];
                        }
 
+                       @Override
                        public int size()
                        {
                                return size;
@@ -297,20 +306,21 @@
        /**
         * @see java.util.Map#entrySet()
         */
-       public Set entrySet()
+       public Set<Entry<K, V>> entrySet()
        {
-               return new AbstractSet()
+               return new AbstractSet<Entry<K, V>>()
                {
-                       public Iterator iterator()
+                       @Override
+                       public Iterator<Entry<K, V>> iterator()
                        {
-                               return new Iterator()
+                               return new Iterator<Entry<K, V>>()
                                {
                                        public boolean hasNext()
                                        {
                                                return index < size;
                                        }
 
-                                       public Object next()
+                                       public Entry<K, V> next()
                                        {
                                                if (!hasNext())
                                                {
@@ -321,21 +331,21 @@
 
                                                index++;
 
-                                               return new Map.Entry()
+                                               return new Map.Entry<K, V>()
                                                {
-                                                       public Object getKey()
+                                                       public K getKey()
                                                        {
                                                                return 
keys[keyIndex];
                                                        }
 
-                                                       public Object getValue()
+                                                       public V getValue()
                                                        {
                                                                return 
values[keyIndex];
                                                        }
 
-                                                       public Object 
setValue(final Object value)
+                                                       public V setValue(final 
V value)
                                                        {
-                                                               final Object 
oldValue = values[keyIndex];
+                                                               final V 
oldValue = values[keyIndex];
 
                                                                
values[keyIndex] = value;
 
@@ -356,6 +366,7 @@
                                };
                        }
 
+                       @Override
                        public int size()
                        {
                                return size;

Modified: 
wicket/trunk/wicket/src/main/java/org/apache/wicket/util/tester/BaseWicketTester.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/util/tester/BaseWicketTester.java?rev=647484&r1=647483&r2=647484&view=diff
==============================================================================
--- 
wicket/trunk/wicket/src/main/java/org/apache/wicket/util/tester/BaseWicketTester.java
 (original)
+++ 
wicket/trunk/wicket/src/main/java/org/apache/wicket/util/tester/BaseWicketTester.java
 Sat Apr 12 11:36:22 2008
@@ -16,6 +16,7 @@
  */
 package org.apache.wicket.util.tester;
 
+import java.io.Serializable;
 import java.lang.reflect.Constructor;
 import java.lang.reflect.Field;
 import java.lang.reflect.InvocationTargetException;
@@ -116,16 +117,19 @@
         */
        public static class DummyWebApplication extends WebApplication
        {
-               public Class<? extends Page> getHomePage()
+               @Override
+               public Class< ? extends Page> getHomePage()
                {
                        return DummyHomePage.class;
                }
 
+               @Override
                protected void outputDevelopmentModeWarning()
                {
                        // Do nothing.
                }
 
+               @Override
                protected ISessionStore newSessionStore()
                {
                        // Don't use a filestore, or we spawn lots of threads, 
which makes
@@ -156,16 +160,19 @@
                        /**
                         * @see org.apache.wicket.Application#getHomePage()
                         */
-                       public Class<? extends Page> getHomePage()
+                       @Override
+                       public Class< ? extends Page> getHomePage()
                        {
                                return homePage;
                        }
 
+                       @Override
                        protected void outputDevelopmentModeWarning()
                        {
                                // Do nothing.
                        }
 
+                       @Override
                        protected ISessionStore newSessionStore()
                        {
                                // Don't use a filestore, or we spawn lots of 
threads, which
@@ -737,7 +744,7 @@
                 */
                else if (linkComponent instanceof SubmitLink)
                {
-                       SubmitLink submitLink = (SubmitLink)linkComponent;
+                       SubmitLink< ? > submitLink = (SubmitLink)linkComponent;
 
                        String pageRelativePath = submitLink.getInputName();
                        getParametersForNextRequest().put(pageRelativePath, 
"x");
@@ -746,7 +753,7 @@
                // if the link is a normal link (or ResourceLink)
                else if (linkComponent instanceof AbstractLink)
                {
-                       AbstractLink link = (AbstractLink)linkComponent;
+                       AbstractLink< ? > link = (AbstractLink)linkComponent;
 
                        /*
                         * If the link is a bookmarkable link, then we need to 
transfer the parameters to the
@@ -759,11 +766,11 @@
                                {
                                        Field parametersField = 
BookmarkablePageLink.class.getDeclaredField("parameters");
                                        Method getParametersMethod = 
BookmarkablePageLink.class.getDeclaredMethod(
-                                               "getPageParameters", null);
+                                               "getPageParameters", 
(Class[])null);
                                        getParametersMethod.setAccessible(true);
 
                                        PageParameters parameters = 
(PageParameters)getParametersMethod.invoke(
-                                               bookmarkablePageLink, null);
+                                               bookmarkablePageLink, 
(Class[])null);
                                        setParametersForNextRequest(parameters);
                                }
                                catch (Exception e)
@@ -897,7 +904,7 @@
         */
        public Result hasNoErrorMessage()
        {
-               List messages = getMessages(FeedbackMessage.ERROR);
+               List<Serializable> messages = 
getMessages(FeedbackMessage.ERROR);
                return isTrue("expect no error message, but contains\n" +
                        WicketTesterHelper.asLined(messages), 
messages.isEmpty());
        }
@@ -909,7 +916,7 @@
         */
        public Result hasNoInfoMessage()
        {
-               List messages = getMessages(FeedbackMessage.INFO);
+               List<Serializable> messages = getMessages(FeedbackMessage.INFO);
                return isTrue("expect no info message, but contains\n" +
                        WicketTesterHelper.asLined(messages), 
messages.isEmpty());
        }
@@ -923,7 +930,7 @@
         * @return <code>List</code> of messages (as <code>String</code>s)
         * @see FeedbackMessage
         */
-       public List getMessages(final int level)
+       public List<Serializable> getMessages(final int level)
        {
                FeedbackMessages feedbackMessages = 
Session.get().getFeedbackMessages();
                List allMessages = feedbackMessages.messages(new 
IFeedbackMessageFilter()
@@ -935,7 +942,7 @@
                                return message.getLevel() == level;
                        }
                });
-               List actualMessages = new ArrayList();
+               List<Serializable> actualMessages = new 
ArrayList<Serializable>();
                for (Iterator iter = allMessages.iterator(); iter.hasNext();)
                {
                        
actualMessages.add(((FeedbackMessage)iter.next()).getMessage());
@@ -1224,6 +1231,7 @@
 
                form.visitFormComponents(new FormComponent.AbstractVisitor()
                {
+                       @Override
                        public void onFormComponent(FormComponent formComponent)
                        {
                                // !(formComponent instanceof Button) &&


Reply via email to