Author: jdonnerstag
Date: Fri Apr 11 02:50:49 2008
New Revision: 647095

URL: http://svn.apache.org/viewvc?rev=647095&view=rev
Log:
generics

Modified:
    
wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/MetaDataEntry.java
    wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/MetaDataKey.java
    wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/Page.java
    wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/PageMap.java
    
wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/RequestContext.java
    
wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/RequestCycle.java
    wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/Resource.java
    
wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/ResourceReference.java
    wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/Response.java
    
wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/RestartResponseAtInterceptPageException.java
    
wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/RestartResponseException.java
    wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/Session.java
    
wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/SharedResources.java
    
wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/session/ISessionStore.java
    
wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/util/collections/ArrayListStack.java
    
wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/stateless/pages/UsernamePasswordSignInPanel.java

Modified: 
wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/MetaDataEntry.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/MetaDataEntry.java?rev=647095&r1=647094&r2=647095&view=diff
==============================================================================
--- 
wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/MetaDataEntry.java 
(original)
+++ 
wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/MetaDataEntry.java 
Fri Apr 11 02:50:49 2008
@@ -19,25 +19,27 @@
 
 /**
  * Class used for holding meta data entries.
- *
+ * 
  * @author Jonathan Locke
+ * @param <T>
+ *            The meta data key type
  */
-final class MetaDataEntry implements IClusterable
+final class MetaDataEntry<T> implements IClusterable
 {
        private static final long serialVersionUID = 1L;
 
-       final MetaDataKey key;
+       final MetaDataKey<T> key;
 
        Object object;
 
        /**
         * Construct.
-        *
+        * 
         * @param key
         *            meta data key
         * @param object
         */
-       public MetaDataEntry(MetaDataKey key, Object object)
+       public MetaDataEntry(MetaDataKey<T> key, Object object)
        {
                this.key = key;
                this.object = object;
@@ -46,6 +48,7 @@
        /**
         * @see java.lang.Object#toString()
         */
+       @Override
        public String toString()
        {
                return key + "=" + object.getClass().getName() + "@" +

Modified: 
wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/MetaDataKey.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/MetaDataKey.java?rev=647095&r1=647094&r2=647095&view=diff
==============================================================================
--- 
wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/MetaDataKey.java 
(original)
+++ 
wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/MetaDataKey.java 
Fri Apr 11 02:50:49 2008
@@ -87,7 +87,7 @@
         *            The object to set, null to remove
         * @return Any new metadata array (if it was reallocated)
         */
-       MetaDataEntry[] set(MetaDataEntry[] metaData, final Object object)
+       MetaDataEntry< ? >[] set(MetaDataEntry< ? >[] metaData, final Object 
object)
        {
                checkType(object);
                boolean set = false;
@@ -95,7 +95,7 @@
                {
                        for (int i = 0; i < metaData.length; i++)
                        {
-                               MetaDataEntry m = metaData[i];
+                               MetaDataEntry< ? > m = metaData[i];
                                if (equals(m.key))
                                {
                                        if (object != null)
@@ -109,7 +109,7 @@
                                                if (metaData.length > 1)
                                                {
                                                        int l = metaData.length 
- 1;
-                                                       MetaDataEntry[] 
newMetaData = new MetaDataEntry[l];
+                                                       MetaDataEntry< ? >[] 
newMetaData = new MetaDataEntry[l];
                                                        
System.arraycopy(metaData, 0, newMetaData, 0, i);
                                                        
System.arraycopy(metaData, i + 1, newMetaData, i, l - i);
                                                        metaData = newMetaData;
@@ -126,7 +126,7 @@
                }
                if (!set && object != null)
                {
-                       MetaDataEntry m = new MetaDataEntry(this, object);
+                       MetaDataEntry<T> m = new MetaDataEntry<T>(this, object);
                        if (metaData == null)
                        {
                                metaData = new MetaDataEntry[1];
@@ -134,7 +134,7 @@
                        }
                        else
                        {
-                               final MetaDataEntry[] newMetaData = new 
MetaDataEntry[metaData.length + 1];
+                               final MetaDataEntry< ? >[] newMetaData = new 
MetaDataEntry[metaData.length + 1];
                                System.arraycopy(metaData, 0, newMetaData, 0, 
metaData.length);
                                newMetaData[metaData.length] = m;
                                metaData = newMetaData;

Modified: wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/Page.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/Page.java?rev=647095&r1=647094&r2=647095&view=diff
==============================================================================
--- wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/Page.java 
(original)
+++ wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/Page.java Fri 
Apr 11 02:50:49 2008
@@ -120,7 +120,10 @@
  * @author Eelco Hillenius
  * @author Johan Compagner
  */
-public abstract class Page extends MarkupContainer implements 
IRedirectListener, IPageMapEntry
+public abstract class Page extends MarkupContainer<Object>
+       implements
+               IRedirectListener,
+               IPageMapEntry
 {
        /**
         * You can set implementation of the interface in the [EMAIL PROTECTED] 
Page#serializer} then that
@@ -178,7 +181,7 @@
         * [EMAIL PROTECTED] IPageSerializer} which can be set by the outside 
world to do the serialization of this
         * page.
         */
-       public static final ThreadLocal serializer = new ThreadLocal();
+       public static final ThreadLocal<IPageSerializer> serializer = new 
ThreadLocal<IPageSerializer>();
 
        /** True if a new version was created for this request. */
        private static final short FLAG_NEW_VERSION = FLAG_RESERVED3;
@@ -195,7 +198,7 @@
        /**
         * [EMAIL PROTECTED] #isBookmarkable()} is expensive, we cache the 
result here
         */
-       private static final ConcurrentHashMap pageClassToBookmarkableCache = 
new ConcurrentHashMap();
+       private static final ConcurrentHashMap<String, Boolean> 
pageClassToBookmarkableCache = new ConcurrentHashMap<String, Boolean>();
 
        private static final long serialVersionUID = 1L;
 
@@ -212,7 +215,7 @@
        private String pageMapName;
 
        /** Set of components that rendered if component use checking is 
enabled */
-       private transient Set renderedComponents;
+       private transient Set<Component< ? >> renderedComponents;
 
        /**
         * Boolean if the page is stateless, so it doesn't have to be in the 
page map, will be set in
@@ -244,7 +247,7 @@
         *            See Component
         * @see Component#Component(String, IModel)
         */
-       protected Page(final IModel model)
+       protected Page(final IModel<Object> model)
        {
                // A Page's id is not determined until setId is called when the 
Page is
                // added to a PageMap in the Session.
@@ -275,7 +278,7 @@
         *            See Component
         * @see Component#Component(String, IModel)
         */
-       protected Page(final IPageMap pageMap, final IModel model)
+       protected Page(final IPageMap pageMap, final IModel<Object> model)
        {
                // A Page's id is not determined until setId is called when the 
Page is
                // added to a PageMap in the Session.
@@ -341,7 +344,7 @@
        // IComponentInstantiationListener
        // that forwards to IAuthorizationStrategy for RequestListenerInterface
        // invocations.
-       public void afterCallComponent(final Component component,
+       public void afterCallComponent(final Component< ? > component,
                final RequestListenerInterface listener)
        {
        }
@@ -362,7 +365,7 @@
        // IComponentInstantiationListener
        // that forwards to IAuthorizationStrategy for RequestListenerInterface
        // invocations.
-       public void beforeCallComponent(final Component component,
+       public void beforeCallComponent(final Component< ? > component,
                final RequestListenerInterface listener)
        {
        }
@@ -373,14 +376,14 @@
         * @param component
         *            The component that was rendered
         */
-       public final void componentRendered(final Component component)
+       public final void componentRendered(final Component< ? > component)
        {
                // Inform the page that this component rendered
                if (Application.get().getDebugSettings().getComponentUseCheck())
                {
                        if (renderedComponents == null)
                        {
-                               renderedComponents = new HashSet();
+                               renderedComponents = new HashSet<Component< ? 
>>();
                        }
                        if (renderedComponents.add(component) == false)
                        {
@@ -400,25 +403,6 @@
        @Override
        public void detachModels()
        {
-               // // visit all this page's children to detach the models
-               // visitChildren(new IVisitor()
-               // {
-               // public Object component(Component component)
-               // {
-               // try
-               // {
-               // // detach any models of the component
-               // component.detachModels();
-               // }
-               // catch (Exception e) // catch anything; we MUST detach all 
models
-               // {
-               // log.error("detaching models of component " + component + " 
failed:",
-               // e);
-               // }
-               // return IVisitor.CONTINUE_TRAVERSAL;
-               // }
-               // });
-
                super.detachModels();
        }
 
@@ -440,11 +424,11 @@
         * @param component
         * 
         */
-       public final void endComponentRender(Component component)
+       public final void endComponentRender(Component< ? > component)
        {
                if (component instanceof MarkupContainer)
                {
-                       checkRendering((MarkupContainer)component);
+                       checkRendering((MarkupContainer< ? >)component);
                }
                else
                {
@@ -513,7 +497,7 @@
        /**
         * @see org.apache.wicket.session.pagemap.IPageMapEntry#getPageClass()
         */
-       public final Class<? extends Page> getPageClass()
+       public final Class< ? extends Page> getPageClass()
        {
                return getClass();
        }
@@ -654,12 +638,12 @@
        {
                final StringBuffer buffer = new StringBuffer();
                buffer.append("Page " + getId() + " (version " + 
getCurrentVersionNumber() + ")");
-               visitChildren(new IVisitor()
+               visitChildren(new IVisitor<Component< ? >>()
                {
-                       public Object component(Component component)
+                       public Object component(Component< ? > component)
                        {
                                int levels = 0;
-                               for (Component current = component; current != 
null; current = current.getParent())
+                               for (Component< ? > current = component; 
current != null; current = current.getParent())
                                {
                                        levels++;
                                }
@@ -699,7 +683,7 @@
         */
        public boolean isBookmarkable()
        {
-               Boolean bookmarkable = 
(Boolean)pageClassToBookmarkableCache.get(getClass().getName());
+               Boolean bookmarkable = 
pageClassToBookmarkableCache.get(getClass().getName());
                if (bookmarkable == null)
                {
                        try
@@ -773,9 +757,9 @@
                if (stateless == null)
                {
                        final Object[] returnArray = new Object[1];
-                       Object returnValue = visitChildren(Component.class, new 
IVisitor()
+                       Object returnValue = visitChildren(Component.class, new 
IVisitor<Component< ? >>()
                        {
-                               public Object component(Component component)
+                               public Object component(Component< ? > 
component)
                                {
                                        if (!component.isStateless())
                                        {
@@ -829,7 +813,7 @@
         *            if true, disable persistence for all FormComponents on 
that page. If false, it
         *            will remain unchanged.
         */
-       public final void removePersistedFormData(final Class formClass,
+       public final void removePersistedFormData(final Class< ? extends Form< 
? >> formClass,
                final boolean disablePersistence)
        {
                // Check that formClass is an instanceof Form
@@ -840,16 +824,16 @@
                }
 
                // Visit all children which are an instance of formClass
-               visitChildren(formClass, new IVisitor()
+               visitChildren(formClass, new IVisitor<Component< ? >>()
                {
-                       public Object component(final Component component)
+                       public Object component(final Component< ? > component)
                        {
                                // They must be of type Form as well
                                if (component instanceof Form)
                                {
                                        // Delete persistent FormComponent data 
and disable
                                        // persistence
-                                       
((Form)component).removePersistentFormComponentValues(disablePersistence);
+                                       ((Form< ? 
>)component).removePersistentFormComponentValues(disablePersistence);
                                }
                                return CONTINUE_TRAVERSAL;
                        }
@@ -919,9 +903,9 @@
                // clean up debug meta data if component check is on
                if (Application.get().getDebugSettings().getComponentUseCheck())
                {
-                       visitChildren(new IVisitor()
+                       visitChildren(new IVisitor<Component< ? >>()
                        {
-                               public Object component(Component component)
+                               public Object component(Component< ? > 
component)
                                {
                                        
component.setMetaData(Component.CONSTRUCTED_AT_KEY, null);
                                        
component.setMetaData(Component.ADDED_AT_KEY, null);
@@ -997,7 +981,7 @@
         * @param component
         * 
         */
-       public final void startComponentRender(Component component)
+       public final void startComponentRender(Component< ? > component)
        {
                renderedComponents = null;
        }
@@ -1030,18 +1014,18 @@
         *            The page itself if it was a full page render or the 
container that was rendered
         *            standalone
         */
-       private final void checkRendering(final MarkupContainer 
renderedContainer)
+       private final void checkRendering(final MarkupContainer< ? > 
renderedContainer)
        {
                // If the application wants component uses checked and
                // the response is not a redirect
                final IDebugSettings debugSettings = 
Application.get().getDebugSettings();
                if (debugSettings.getComponentUseCheck() && 
!getResponse().isRedirect())
                {
-                       final List unrenderedComponents = new ArrayList();
+                       final List<Component< ? >> unrenderedComponents = new 
ArrayList<Component< ? >>();
                        final StringBuffer buffer = new StringBuffer();
-                       renderedContainer.visitChildren(new IVisitor()
+                       renderedContainer.visitChildren(new IVisitor<Component< 
? >>()
                        {
-                               public Object component(final Component 
component)
+                               public Object component(final Component< ? > 
component)
                                {
                                        // If component never rendered
                                        if (renderedComponents == null || 
!renderedComponents.contains(component))
@@ -1055,12 +1039,12 @@
                                                        // Add to explanatory 
string to buffer
                                                        
buffer.append(Integer.toString(unrenderedComponents.size()) + ". " +
                                                                component + 
"\n");
-                                                       String metadata = 
(String)component.getMetaData(Component.CONSTRUCTED_AT_KEY);
+                                                       String metadata = 
component.getMetaData(Component.CONSTRUCTED_AT_KEY);
                                                        if (metadata != null)
                                                        {
                                                                
buffer.append(metadata);
                                                        }
-                                                       metadata = 
(String)component.getMetaData(Component.ADDED_AT_KEY);
+                                                       metadata = 
component.getMetaData(Component.ADDED_AT_KEY);
                                                        if (metadata != null)
                                                        {
                                                                
buffer.append(metadata);
@@ -1084,21 +1068,21 @@
                                // Get rid of set
                                renderedComponents = null;
 
-                               Iterator iterator = 
unrenderedComponents.iterator();
+                               Iterator<Component< ? >> iterator = 
unrenderedComponents.iterator();
 
                                while (iterator.hasNext())
                                {
-                                       Component component = 
(Component)iterator.next();
+                                       Component< ? > component = 
iterator.next();
                                        // Now first test if the component has 
a sibling that is a transparent resolver.
 
-                                       Iterator iterator2 = 
component.getParent().iterator();
+                                       Iterator<Component< ? >> iterator2 = 
component.getParent().iterator();
                                        while (iterator2.hasNext())
                                        {
-                                               Component sibling = 
(Component)iterator2.next();
+                                               Component< ? > sibling = 
iterator2.next();
                                                if (!sibling.isVisible())
                                                {
                                                        boolean 
isTransparentMarkupContainer = sibling instanceof MarkupContainer &&
-                                                               
((MarkupContainer)sibling).isTransparentResolver();
+                                                               
((MarkupContainer< ? >)sibling).isTransparentResolver();
                                                        boolean 
isComponentResolver = sibling instanceof IComponentResolver;
                                                        if 
(isTransparentMarkupContainer || isComponentResolver)
                                                        {
@@ -1204,6 +1188,9 @@
                dirty();
        }
 
+       /**
+        * 
+        */
        private void setNextAvailableId()
        {
                if 
(getApplication().getSessionSettings().isPageIdUniquePerSession())
@@ -1225,7 +1212,8 @@
         * @param parent
         * @return True if the change is okay to report
         */
-       private final boolean mayTrackChangesFor(final Component component, 
MarkupContainer parent)
+       private final boolean mayTrackChangesFor(final Component< ? > component,
+               MarkupContainer< ? > parent)
        {
                // first call the method so that people can track dirty 
components
                componentChanged(component, parent);
@@ -1275,16 +1263,22 @@
         * @param component
         * @param parent
         */
-       protected void componentChanged(Component component, MarkupContainer 
parent)
+       protected void componentChanged(Component< ? > component, 
MarkupContainer< ? > parent)
        {
        }
 
+       /**
+        * 
+        * @param s
+        * @throws IOException
+        * @throws ClassNotFoundException
+        */
        void readPageObject(java.io.ObjectInputStream s) throws IOException, 
ClassNotFoundException
        {
                int id = s.readShort();
                String name = (String)s.readObject();
 
-               IPageSerializer ps = (IPageSerializer)serializer.get();
+               IPageSerializer ps = serializer.get();
                if (ps != null)
                {
                        ps.deserializePage(id, name, this, s);
@@ -1295,10 +1289,15 @@
                }
        }
 
+       /**
+        * 
+        * @return
+        * @throws ObjectStreamException
+        */
        protected Object writeReplace() throws ObjectStreamException
        {
 
-               IPageSerializer ps = (IPageSerializer)serializer.get();
+               IPageSerializer ps = serializer.get();
 
                if (ps != null)
                {
@@ -1310,12 +1309,17 @@
                }
        }
 
+       /**
+        * 
+        * @param s
+        * @throws IOException
+        */
        void writePageObject(java.io.ObjectOutputStream s) throws IOException
        {
                s.writeShort(numericId);
                s.writeObject(pageMapName);
 
-               IPageSerializer ps = (IPageSerializer)serializer.get();
+               IPageSerializer ps = serializer.get();
 
                if (ps != null)
                {
@@ -1327,7 +1331,6 @@
                }
        }
 
-
        /**
         * Set-up response with appropriate content type, locale and encoding. 
The locale is set equal
         * to the session's locale. The content type header contains 
information about the markup type
@@ -1377,9 +1380,9 @@
        @Override
        protected final void internalOnModelChanged()
        {
-               visitChildren(new Component.IVisitor()
+               visitChildren(new Component.IVisitor<Component< ? >>()
                {
-                       public Object component(final Component component)
+                       public Object component(final Component< ? > component)
                        {
                                // If form component is using form model
                                if (component.sameInnermostModel(Page.this))
@@ -1417,6 +1420,10 @@
                return null;
        }
 
+       /**
+        * 
+        * @see org.apache.wicket.Component#onBeforeRender()
+        */
        @Override
        protected void onBeforeRender()
        {
@@ -1446,10 +1453,8 @@
                dirty();
 
                super.onDetach();
-
        }
 
-
        /**
         * Renders this container to the given response object.
         * 
@@ -1475,7 +1480,7 @@
         * @param component
         *            The component that was added
         */
-       final void componentAdded(final Component component)
+       final void componentAdded(final Component< ? > component)
        {
                dirty();
                if (mayTrackChangesFor(component, component.getParent()))
@@ -1490,7 +1495,7 @@
         * @param component
         *            The component whose model is about to change
         */
-       final void componentModelChanging(final Component component)
+       final void componentModelChanging(final Component< ? > component)
        {
                dirty();
                if (mayTrackChangesFor(component, null))
@@ -1510,7 +1515,7 @@
         * @param component
         *            The component that was removed
         */
-       final void componentRemoved(final Component component)
+       final void componentRemoved(final Component< ? > component)
        {
                dirty();
                if (mayTrackChangesFor(component, component.getParent()))
@@ -1519,7 +1524,12 @@
                }
        }
 
-       final void componentStateChanging(final Component component, Change 
change)
+       /**
+        * 
+        * @param component
+        * @param change
+        */
+       final void componentStateChanging(final Component< ? > component, 
Change change)
        {
                dirty();
                if (mayTrackChangesFor(component, null))
@@ -1535,12 +1545,12 @@
        final void setFormComponentValuesFromCookies()
        {
                // Visit all Forms contained in the page
-               visitChildren(Form.class, new Component.IVisitor()
+               visitChildren(Form.class, new Component.IVisitor<Component< ? 
>>()
                {
                        // For each FormComponent found on the Page (not Form)
-                       public Object component(final Component component)
+                       public Object component(final Component< ? > component)
                        {
-                               
((Form)component).loadPersistentFormComponentValues();
+                               ((Form< ? 
>)component).loadPersistentFormComponentValues();
                                return CONTINUE_TRAVERSAL;
                        }
                });
@@ -1575,6 +1585,5 @@
         */
        public void onPageAttached()
        {
-
        }
 }

Modified: 
wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/PageMap.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/PageMap.java?rev=647095&r1=647094&r2=647095&view=diff
==============================================================================
--- wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/PageMap.java 
(original)
+++ wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/PageMap.java 
Fri Apr 11 02:50:49 2008
@@ -46,13 +46,18 @@
                public void entry(final IPageMapEntry entry);
        }
 
-
        /** Name of default pagemap */
        public static final String DEFAULT_NAME = null;
 
+       /** */
        private static final long serialVersionUID = 1L;
 
        /**
+        * MetaDataEntry array.
+        */
+       private MetaDataEntry< ? >[] metaData;
+
+       /**
         * Gets a page map for a page map name, automatically creating the page 
map if it does not
         * exist. If you do not want the pagemap to be automatically created, 
you can call
         * Session.pageMapForName(pageMapName, false).
@@ -175,10 +180,10 @@
        public final long getSizeInBytes()
        {
                long size = Objects.sizeof(this);
-               Iterator it = getEntries().iterator();
+               Iterator<IPageMapEntry> it = getEntries().iterator();
                while (it.hasNext())
                {
-                       IPageMapEntry entry = (IPageMapEntry)it.next();
+                       IPageMapEntry entry = it.next();
                        if (entry instanceof Page)
                        {
                                size += ((Page)entry).getSizeInBytes();
@@ -222,7 +227,7 @@
         * @param pageClazz
         *            The page clazz to temporarily redirect to
         */
-       public final void redirectToInterceptPage(final Class pageClazz)
+       public final void redirectToInterceptPage(final Class< ? extends Page> 
pageClazz)
        {
                final RequestCycle cycle = RequestCycle.get();
                setUpRedirect(cycle);
@@ -304,6 +309,7 @@
        /**
         * @see java.lang.Object#toString()
         */
+       @Override
        public String toString()
        {
                return "[PageMap name=" + name + "]";
@@ -312,22 +318,25 @@
        /**
         * @return List of entries in this page map
         */
-       private final List getEntries()
+       private final List<IPageMapEntry> getEntries()
        {
                final Session session = Session.get();
-               final List attributes = session.getAttributeNames();
-               final List list = new ArrayList();
-               for (final Iterator iterator = attributes.iterator(); 
iterator.hasNext();)
+               final List<String> attributes = session.getAttributeNames();
+               final List<IPageMapEntry> list = new ArrayList<IPageMapEntry>();
+               for (final Iterator<String> iterator = attributes.iterator(); 
iterator.hasNext();)
                {
-                       final String attribute = (String)iterator.next();
+                       final String attribute = iterator.next();
                        if (attribute.startsWith(attributePrefix()))
                        {
-                               list.add(session.getAttribute(attribute));
+                               
list.add((IPageMapEntry)session.getAttribute(attribute));
                        }
                }
                return list;
        }
 
+       /**
+        * 
+        */
        protected final void dirty()
        {
                Session.get().dirtyPageMap(this);
@@ -340,10 +349,10 @@
        protected final void visitEntries(final IVisitor visitor)
        {
                final Session session = Session.get();
-               final List attributes = session.getAttributeNames();
-               for (final Iterator iterator = attributes.iterator(); 
iterator.hasNext();)
+               final List<String> attributes = session.getAttributeNames();
+               for (final Iterator<String> iterator = attributes.iterator(); 
iterator.hasNext();)
                {
-                       final String attribute = (String)iterator.next();
+                       final String attribute = iterator.next();
                        if (attribute.startsWith(attributePrefix()))
                        {
                                
visitor.entry((IPageMapEntry)session.getAttribute(attribute));
@@ -352,11 +361,6 @@
        }
 
        /**
-        * MetaDataEntry array.
-        */
-       private MetaDataEntry[] metaData;
-
-       /**
         * Sets the metadata for this PageMap using the given key. If the 
metadata object is not of the
         * correct type for the metadata key, an IllegalArgumentException will 
be thrown. For
         * information on creating MetaDataKeys, see [EMAIL PROTECTED] 
MetaDataKey}.
@@ -368,7 +372,7 @@
         * @throws IllegalArgumentException
         * @see MetaDataKey
         */
-       public final void setMetaData(final MetaDataKey key, final Serializable 
object)
+       public final void setMetaData(final MetaDataKey< ? > key, final 
Serializable object)
        {
                metaData = key.set(metaData, object);
        }
@@ -381,7 +385,7 @@
         * @return The metadata or null of no metadata was found for the given 
key
         * @see MetaDataKey
         */
-       public final Serializable getMetaData(final MetaDataKey key)
+       public final Serializable getMetaData(final MetaDataKey< ? > key)
        {
                return (Serializable)key.get(metaData);
        }

Modified: 
wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/RequestContext.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/RequestContext.java?rev=647095&r1=647094&r2=647095&view=diff
==============================================================================
--- 
wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/RequestContext.java 
(original)
+++ 
wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/RequestContext.java 
Fri Apr 11 02:50:49 2008
@@ -24,7 +24,7 @@
 public class RequestContext
 {
        /** Thread-local that holds the current request context. */
-       private static final ThreadLocal current = new ThreadLocal();
+       private static final ThreadLocal<RequestContext> current = new 
ThreadLocal<RequestContext>();
 
        /**
         * Construct.
@@ -39,7 +39,7 @@
         */
        public static final RequestContext get()
        {
-               RequestContext context = (RequestContext)current.get();
+               RequestContext context = current.get();
                if (context == null)
                {
                        context = new RequestContext();
@@ -55,6 +55,10 @@
                current.set(null);
        }
 
+       /**
+        * 
+        * @param context
+        */
        protected static final void set(RequestContext context)
        {
                current.set(context);

Modified: 
wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/RequestCycle.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/RequestCycle.java?rev=647095&r1=647094&r2=647095&view=diff
==============================================================================
--- 
wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/RequestCycle.java 
(original)
+++ 
wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/RequestCycle.java 
Fri Apr 11 02:50:49 2008
@@ -18,7 +18,6 @@
 
 import java.util.Iterator;
 import java.util.Map;
-import java.util.Map.Entry;
 
 import org.apache.wicket.behavior.IBehavior;
 import org.apache.wicket.protocol.http.BufferedWebResponse;
@@ -161,7 +160,7 @@
 public abstract class RequestCycle
 {
        /** Thread-local that holds the current request cycle. */
-       private static final ThreadLocal current = new ThreadLocal();
+       private static final ThreadLocal<RequestCycle> current = new 
ThreadLocal<RequestCycle>();
 
        /** Cleaning up after responding to a request. */
        private static final int DETACH_REQUEST = 5;
@@ -187,6 +186,9 @@
        /** Responding using the currently set [EMAIL PROTECTED] 
IRequestTarget}. */
        private static final int RESPOND = 4;
 
+       /** MetaDataEntry array. */
+       private MetaDataEntry< ? >[] metaData;
+
        /**
         * Gets request cycle for calling thread.
         * 
@@ -194,7 +196,7 @@
         */
        public static RequestCycle get()
        {
-               return (RequestCycle)current.get();
+               return current.get();
        }
 
        /**
@@ -234,7 +236,8 @@
        private boolean redirect;
 
        /** holds the stack of set [EMAIL PROTECTED] IRequestTarget}, the last 
set op top. */
-       private transient final ArrayListStack requestTargets = new 
ArrayListStack(3);
+       private transient final ArrayListStack<IRequestTarget> requestTargets = 
new ArrayListStack<IRequestTarget>(
+               3);
 
        /**
         * Any page parameters. Only set when the request is resolving and the 
parameters are passed
@@ -286,7 +289,7 @@
                originalResponse = response;
                processor = safeGetRequestProcessor();
 
-               previousOne = (RequestCycle)current.get();
+               previousOne = current.get();
                // Set this RequestCycle into ThreadLocal variable
                current.set(this);
        }
@@ -411,7 +414,7 @@
         * 
         * @return the page class or null
         */
-       public final Class<? extends Page> getResponsePageClass()
+       public final Class< ? extends Page> getResponsePageClass()
        {
                IRequestTarget target = getRequestTarget();
                if (target != null && (target instanceof 
IBookmarkablePageRequestTarget))
@@ -508,7 +511,7 @@
         * @param component
         *            to be re-rendered
         */
-       public final void request(final Component component)
+       public final void request(final Component< ? > component)
        {
                checkReuse();
 
@@ -588,7 +591,7 @@
                {
                        if (!requestTargets.isEmpty())
                        {
-                               IRequestTarget former = 
(IRequestTarget)requestTargets.peek();
+                               IRequestTarget former = requestTargets.peek();
                                log.debug("replacing request target " + former 
+ " with " + requestTarget);
                        }
                        else
@@ -661,7 +664,7 @@
         * @param pageClass
         *            The page class to render as a response
         */
-       public final void setResponsePage(final Class pageClass)
+       public final void setResponsePage(final Class< ? extends Page> 
pageClass)
        {
                setResponsePage(pageClass, null);
        }
@@ -674,7 +677,8 @@
         * @param pageParameters
         *            The page parameters that gets appended to the 
bookmarkable url,
         */
-       public final void setResponsePage(final Class pageClass, final 
PageParameters pageParameters)
+       public final void setResponsePage(final Class< ? extends Page> 
pageClass,
+               final PageParameters pageParameters)
        {
                setResponsePage(pageClass, pageParameters, getCurrentPageMap());
        }
@@ -690,8 +694,8 @@
         * @param pageMapName
         *            The pagemap in which the response page should be created
         */
-       public final void setResponsePage(final Class pageClass, final 
PageParameters pageParameters,
-               final String pageMapName)
+       public final void setResponsePage(final Class< ? extends Page> 
pageClass,
+               final PageParameters pageParameters, final String pageMapName)
        {
                IRequestTarget target = new 
BookmarkablePageRequestTarget(pageMapName, pageClass,
                        pageParameters);
@@ -765,7 +769,8 @@
         *            Parameters to page
         * @return Bookmarkable URL to page
         */
-       public final CharSequence urlFor(final Class pageClass, final 
PageParameters parameters)
+       public final CharSequence urlFor(final Class< ? extends Page> pageClass,
+               final PageParameters parameters)
        {
                return urlFor(null, pageClass, parameters);
        }
@@ -784,7 +789,7 @@
         *            The listener interface on the component
         * @return A URL that encodes a page, component, behavior and interface 
to call
         */
-       public final CharSequence urlFor(final Component component, final 
IBehavior behaviour,
+       public final CharSequence urlFor(final Component< ? > component, final 
IBehavior behaviour,
                final RequestListenerInterface listener)
        {
                int index = component.getBehaviors().indexOf(behaviour);
@@ -825,7 +830,7 @@
         *            Additional parameters to pass to the page
         * @return A URL that encodes a page, component and interface to call
         */
-       public final CharSequence urlFor(final Component component,
+       public final CharSequence urlFor(final Component< ? > component,
                final RequestListenerInterface listener, ValueMap params)
        {
                // Get Page holding component and mark it as stateful.
@@ -842,10 +847,10 @@
 
                        if (params != null)
                        {
-                               Iterator it = params.entrySet().iterator();
+                               Iterator<Map.Entry> it = 
params.entrySet().iterator();
                                while (it.hasNext())
                                {
-                                       final Map.Entry entry = 
(Entry)it.next();
+                                       final Map.Entry entry = it.next();
                                        final String key = 
entry.getKey().toString();
                                        final String value = 
entry.getValue().toString();
                                        pageParameters.add(encode(key), 
encode(value));
@@ -875,10 +880,10 @@
                        if (params != null)
                        {
                                AppendingStringBuffer buff = new 
AppendingStringBuffer(url);
-                               Iterator it = params.entrySet().iterator();
+                               Iterator<Map.Entry> it = 
params.entrySet().iterator();
                                while (it.hasNext())
                                {
-                                       final Map.Entry entry = 
(Entry)it.next();
+                                       final Map.Entry entry = it.next();
                                        final String key = 
entry.getKey().toString();
                                        final String value = 
entry.getValue().toString();
                                        buff.append("&");
@@ -892,7 +897,6 @@
                        }
                        return url;
                }
-
        }
 
        /**
@@ -918,7 +922,7 @@
         *            The listener interface on the component
         * @return A URL that encodes a page, component and interface to call
         */
-       public final CharSequence urlFor(final Component component,
+       public final CharSequence urlFor(final Component< ? > component,
                final RequestListenerInterface listener)
        {
                return urlFor(component, listener, null);
@@ -937,8 +941,8 @@
         *            Parameters to page
         * @return Bookmarkable URL to page
         */
-       public final CharSequence urlFor(final IPageMap pageMap, final Class 
pageClass,
-               final PageParameters parameters)
+       public final CharSequence urlFor(final IPageMap pageMap,
+               final Class< ? extends Page> pageClass, final PageParameters 
parameters)
        {
                final IRequestTarget target = new 
BookmarkablePageRequestTarget(pageMap == null
                        ? PageMap.DEFAULT_NAME : pageMap.getName(), pageClass, 
parameters);
@@ -1042,7 +1046,7 @@
                // furthermore, the targets will be gc-ed with this cycle too
                for (int i = 0; i < requestTargets.size(); i++)
                {
-                       IRequestTarget target = 
(IRequestTarget)requestTargets.get(i);
+                       IRequestTarget target = requestTargets.get(i);
                        if (target != null)
                        {
                                try
@@ -1443,11 +1447,6 @@
        }
 
        /**
-        * MetaDataEntry array.
-        */
-       private MetaDataEntry[] metaData;
-
-       /**
         * Sets the metadata for this request cycle using the given key. If the 
metadata object is not
         * of the correct type for the metadata key, an 
IllegalArgumentException will be thrown. For
         * information on creating MetaDataKeys, see [EMAIL PROTECTED] 
MetaDataKey}.
@@ -1456,6 +1455,7 @@
         *            The singleton key for the metadata
         * @param object
         *            The metadata object
+        * @param <T>
         * @throws IllegalArgumentException
         * @see MetaDataKey
         */

Modified: 
wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/Resource.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/Resource.java?rev=647095&r1=647094&r2=647095&view=diff
==============================================================================
--- wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/Resource.java 
(original)
+++ wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/Resource.java 
Fri Apr 11 02:50:49 2008
@@ -21,6 +21,7 @@
 import org.apache.wicket.request.target.resource.ResourceStreamRequestTarget;
 import org.apache.wicket.util.resource.IResourceStream;
 import org.apache.wicket.util.time.Time;
+import org.apache.wicket.util.value.IValueMap;
 import org.apache.wicket.util.value.ValueMap;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -65,7 +66,7 @@
        /**
         * ThreadLocal to keep any parameters associated with the request for 
this resource
         */
-       private static final ThreadLocal parameters = new ThreadLocal();
+       private static final ThreadLocal<IValueMap> parameters = new 
ThreadLocal<IValueMap>();
 
        /**
         * Constructor
@@ -147,7 +148,7 @@
         * @param parameters
         *            Map of query parameters that parameterize this resource
         */
-       public final void setParameters(final Map parameters)
+       public final void setParameters(final Map< ? , ? > parameters)
        {
                if (parameters == null)
                {
@@ -176,8 +177,10 @@
        {
                if (parameters.get() == null)
                {
-                       return new 
ValueMap(RequestCycle.get().getRequest().getRequestParameters()
-                                       .getParameters());
+                       return new ValueMap(RequestCycle.get()
+                               .getRequest()
+                               .getRequestParameters()
+                               .getParameters());
                }
                return (ValueMap)parameters.get();
        }

Modified: 
wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/ResourceReference.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/ResourceReference.java?rev=647095&r1=647094&r2=647095&view=diff
==============================================================================
--- 
wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/ResourceReference.java
 (original)
+++ 
wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/ResourceReference.java
 Fri Apr 11 02:50:49 2008
@@ -80,7 +80,7 @@
         * @param name
         *            The name of the resource
         */
-       public ResourceReference(final Class scope, final String name)
+       public ResourceReference(final Class< ? > scope, final String name)
        {
                this(scope, name, null, null);
        }
@@ -100,7 +100,7 @@
         * @param style
         *            The Style of the PackageResource
         */
-       public ResourceReference(final Class scope, final String name, Locale 
locale, String style)
+       public ResourceReference(final Class< ? > scope, final String name, 
Locale locale, String style)
        {
                scopeName = scope.getName();
                this.name = name;
@@ -167,14 +167,15 @@
        /**
         * @see java.lang.Object#equals(java.lang.Object)
         */
+       @Override
        public boolean equals(Object obj)
        {
                if (obj instanceof ResourceReference)
                {
                        ResourceReference that = (ResourceReference)obj;
                        return Objects.equal(getScope().getName(), 
that.getScope().getName()) &&
-                                       Objects.equal(name, that.name) && 
Objects.equal(locale, that.locale) &&
-                                       Objects.equal(style, that.style);
+                               Objects.equal(name, that.name) && 
Objects.equal(locale, that.locale) &&
+                               Objects.equal(style, that.style);
                }
                return false;
        }
@@ -210,7 +211,7 @@
        /**
         * @return Scope
         */
-       public final Class getScope()
+       public final Class< ? > getScope()
        {
                return Classes.resolveClass(scopeName);
        }
@@ -236,6 +237,7 @@
        /**
         * @see java.lang.Object#hashCode()
         */
+       @Override
        public int hashCode()
        {
                int result = 17;
@@ -277,10 +279,11 @@
        /**
         * @see java.lang.Object#toString()
         */
+       @Override
        public String toString()
        {
                return "[ResourceReference name = " + name + ", scope = " + 
scopeName + ", locale = " +
-                               locale + ", style = " + style + "]";
+                       locale + ", style = " + style + "]";
        }
 
        /**
@@ -291,7 +294,7 @@
        protected Resource newResource()
        {
                PackageResource packageResource = 
PackageResource.get(getScope(), getName(), getLocale(),
-                               getStyle());
+                       getStyle());
                if (packageResource != null)
                {
                        locale = packageResource.getLocale();
@@ -299,7 +302,7 @@
                else
                {
                        throw new IllegalArgumentException("package resource 
[scope=" + getScope() + ",name=" +
-                                       getName() + ",locale=" + getLocale() + 
"style=" + getStyle() + "] not found");
+                               getName() + ",locale=" + getLocale() + "style=" 
+ getStyle() + "] not found");
                }
                return packageResource;
        }

Modified: 
wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/Response.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/Response.java?rev=647095&r1=647094&r2=647095&view=diff
==============================================================================
--- wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/Response.java 
(original)
+++ wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/Response.java 
Fri Apr 11 02:50:49 2008
@@ -93,14 +93,18 @@
         */
        public final AppendingStringBuffer filter(AppendingStringBuffer 
responseBuffer)
        {
-               List responseFilters = 
Application.get().getRequestCycleSettings().getResponseFilters();
+               List<IResponseFilter> responseFilters = Application.get()
+                       .getRequestCycleSettings()
+                       .getResponseFilters();
+
                if (responseFilters == null)
                {
                        return responseBuffer;
                }
+
                for (int i = 0; i < responseFilters.size(); i++)
                {
-                       IResponseFilter filter = 
(IResponseFilter)responseFilters.get(i);
+                       IResponseFilter filter = responseFilters.get(i);
                        responseBuffer = filter.filter(responseBuffer);
                }
                return responseBuffer;

Modified: 
wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/RestartResponseAtInterceptPageException.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/RestartResponseAtInterceptPageException.java?rev=647095&r1=647094&r2=647095&view=diff
==============================================================================
--- 
wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/RestartResponseAtInterceptPageException.java
 (original)
+++ 
wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/RestartResponseAtInterceptPageException.java
 Fri Apr 11 02:50:49 2008
@@ -58,7 +58,7 @@
         * @param interceptPageClass
         *            Class of intercept page to instantiate
         */
-       public RestartResponseAtInterceptPageException(final Class 
interceptPageClass)
+       public RestartResponseAtInterceptPageException(final Class< ? extends 
Page> interceptPageClass)
        {
                if (interceptPageClass == null)
                {
@@ -101,7 +101,7 @@
         * @param interceptPageClass
         *            The intercept page class to redirect to
         */
-       private void redirectToInterceptPage(final Class interceptPageClass)
+       private void redirectToInterceptPage(final Class< ? extends Page> 
interceptPageClass)
        {
                final RequestCycle cycle = RequestCycle.get();
                final Page requestPage = cycle.getRequest().getPage();

Modified: 
wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/RestartResponseException.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/RestartResponseException.java?rev=647095&r1=647094&r2=647095&view=diff
==============================================================================
--- 
wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/RestartResponseException.java
 (original)
+++ 
wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/RestartResponseException.java
 Fri Apr 11 02:50:49 2008
@@ -32,7 +32,7 @@
         * @param pageClass
         *            class of bookmarkable page
         */
-       public RestartResponseException(Class pageClass)
+       public RestartResponseException(Class< ? extends Page> pageClass)
        {
                RequestCycle.get().setResponsePage(pageClass);
        }
@@ -45,7 +45,7 @@
         * @param params
         *            bookmarkable page parameters
         */
-       public RestartResponseException(Class pageClass, PageParameters params)
+       public RestartResponseException(Class< ? extends Page> pageClass, 
PageParameters params)
        {
                RequestCycle.get().setResponsePage(pageClass, params);
        }

Modified: 
wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/Session.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/Session.java?rev=647095&r1=647094&r2=647095&view=diff
==============================================================================
--- wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/Session.java 
(original)
+++ wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/Session.java 
Fri Apr 11 02:50:49 2008
@@ -164,7 +164,7 @@
        private static final ThreadLocal<Session> current = new 
ThreadLocal<Session>();
 
        /** A store for dirty objects for one request */
-       private static final ThreadLocal<List> dirtyObjects = new 
ThreadLocal<List>();
+       private static final ThreadLocal<List<IClusterable>> dirtyObjects = new 
ThreadLocal<List<IClusterable>>();
 
        /** Logging object */
        private static final Logger log = 
LoggerFactory.getLogger(Session.class);
@@ -175,11 +175,14 @@
        private static final long serialVersionUID = 1L;
 
        /** A store for touched pages for one request */
-       private static final ThreadLocal<List> touchedPages = new 
ThreadLocal<List>();
+       private static final ThreadLocal<List<Page>> touchedPages = new 
ThreadLocal<List<Page>>();
 
        /** Prefix for attributes holding page map entries */
        static final String pageMapEntryAttributePrefix = "p:";
 
+       /** */
+       private int pageIdCounter = 0;
+
        /**
         * Checks if the <code>Session</code> threadlocal is set in this thread
         * 
@@ -306,7 +309,7 @@
        private Locale locale;
 
        /** Application level meta data. */
-       private MetaDataEntry[] metaData;
+       private MetaDataEntry< ? >[] metaData;
 
        /**
         * We need to know both thread that keeps the pagemap lock and the 
RequestCycle
@@ -343,7 +346,7 @@
        private transient Map<String, Object> temporarySessionAttributes;
 
        /** A linked list for last used pagemap queue */
-       private final LinkedList/* <IPageMap> */<IPageMap>usedPageMaps = new 
LinkedList<IPageMap>();
+       private final LinkedList/* <IPageMap> */<IPageMap> usedPageMaps = new 
LinkedList<IPageMap>();
 
        /**
         * Constructor. Note that [EMAIL PROTECTED] RequestCycle} is not 
available until this constructor returns.
@@ -1011,7 +1014,7 @@
         * @throws IllegalArgumentException
         * @see MetaDataKey
         */
-       public final void setMetaData(final MetaDataKey key, final Serializable 
object)
+       public final void setMetaData(final MetaDataKey< ? > key, final 
Serializable object)
        {
                metaData = key.set(metaData, object);
        }
@@ -1067,7 +1070,7 @@
         */
        public final void untouch(Page page)
        {
-               List lst = touchedPages.get();
+               List<Page> lst = touchedPages.get();
                if (lst != null)
                {
                        lst.remove(page);
@@ -1362,13 +1365,13 @@
         */
        final void requestDetached()
        {
-               List touchedPages = Session.touchedPages.get();
+               List<Page> touchedPages = Session.touchedPages.get();
                Session.touchedPages.set(null);
                if (touchedPages != null)
                {
                        for (int i = 0; i < touchedPages.size(); i++)
                        {
-                               Page page = (Page)touchedPages.get(i);
+                               Page page = touchedPages.get(i);
                                page.getPageMap().put(page);
                        }
                }
@@ -1390,7 +1393,7 @@
                        }
                }
 
-               List dirtyObjects = Session.dirtyObjects.get();
+               List<IClusterable> dirtyObjects = Session.dirtyObjects.get();
                Session.dirtyObjects.set(null);
 
                Map<String, Object> tempMap = new HashMap<String, Object>();
@@ -1398,7 +1401,7 @@
                // Go through all dirty entries, replicating any dirty objects
                if (dirtyObjects != null)
                {
-                       for (final Iterator iterator = dirtyObjects.iterator(); 
iterator.hasNext();)
+                       for (final Iterator<IClusterable> iterator = 
dirtyObjects.iterator(); iterator.hasNext();)
                        {
                                String attribute = null;
                                Object object = iterator.next();
@@ -1460,8 +1463,10 @@
                }
        }
 
-       private int pageIdCounter = 0;
-
+       /**
+        * 
+        * @return
+        */
        synchronized protected int nextPageId()
        {
                return pageIdCounter++;

Modified: 
wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/SharedResources.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/SharedResources.java?rev=647095&r1=647094&r2=647095&view=diff
==============================================================================
--- 
wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/SharedResources.java
 (original)
+++ 
wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/SharedResources.java
 Fri Apr 11 02:50:49 2008
@@ -92,13 +92,13 @@
        }
 
        /** Map of Class to alias String */
-       private final Map/* <Class, String> */classAliasMap = new WeakHashMap();
+       private final Map<Class< ? >, String> classAliasMap = new 
WeakHashMap<Class< ? >, String>();
 
        /** Map of alias String to WeakReference(Class) */
-       private final Map/* <String, WeakReference<Class>> */aliasClassMap = 
new HashMap();
+       private final Map<String, WeakReference<Class< ? >>> aliasClassMap = 
new HashMap<String, WeakReference<Class< ? >>>();
 
        /** Map of shared resources states */
-       private final Map/* <String, Resource> */resourceMap = new HashMap();
+       private final Map<String, Resource> resourceMap = new HashMap<String, 
Resource>();
 
        /**
         * Construct.
@@ -124,14 +124,14 @@
         * @param resource
         *            Resource to store
         */
-       public final void add(final Class scope, final String name, final 
Locale locale,
-                       final String style, final Resource resource)
+       public final void add(final Class< ? > scope, final String name, final 
Locale locale,
+               final String style, final Resource resource)
        {
                // Store resource
                final String key = resourceKey(scope, name, locale, style);
                synchronized (resourceMap)
                {
-                       Resource value = (Resource)resourceMap.get(key);
+                       Resource value = resourceMap.get(key);
                        if (value == null)
                        {
                                resourceMap.put(key, resource);
@@ -186,8 +186,8 @@
         * 
         * @return The logical resource
         */
-       public final Resource get(final Class scope, final String name, final 
Locale locale,
-                       final String style, boolean exact)
+       public final Resource get(final Class< ? > scope, final String name, 
final Locale locale,
+               final String style, boolean exact)
        {
                // 1. Look for fully qualified entry with locale and style
                if (locale != null && style != null)
@@ -250,7 +250,7 @@
        {
                synchronized (resourceMap)
                {
-                       return (Resource)resourceMap.get(key);
+                       return resourceMap.get(key);
                }
        }
 
@@ -263,10 +263,10 @@
         * @param alias
         *            The alias string.
         */
-       public final void putClassAlias(Class clz, String alias)
+       public final void putClassAlias(Class< ? > clz, String alias)
        {
                classAliasMap.put(clz, alias);
-               aliasClassMap.put(alias, new WeakReference(clz));
+               aliasClassMap.put(alias, new WeakReference<Class< ? >>(clz));
        }
 
        /**
@@ -276,14 +276,14 @@
         * @return The class this is an alias for.
         * @see #putClassAlias(Class, String)
         */
-       public final Class getAliasClass(String alias)
+       public final Class< ? > getAliasClass(String alias)
        {
-               Object classRef = aliasClassMap.get(alias);
+               WeakReference<Class< ? >> classRef = aliasClassMap.get(alias);
                if (classRef == null)
                {
                        return null;
                }
-               return (Class)((WeakReference)classRef).get();
+               return classRef.get();
        }
 
        /**
@@ -313,10 +313,10 @@
         *            The style (see [EMAIL PROTECTED] 
org.apache.wicket.Session})
         * @return The localized path
         */
-       public String resourceKey(final Class scope, final String path, final 
Locale locale,
-                       final String style)
+       public String resourceKey(final Class< ? > scope, final String path, 
final Locale locale,
+               final String style)
        {
-               String alias = (String)classAliasMap.get(scope);
+               String alias = classAliasMap.get(scope);
                if (alias == null)
                {
                        alias = scope.getName();

Modified: 
wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/session/ISessionStore.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/session/ISessionStore.java?rev=647095&r1=647094&r2=647095&view=diff
==============================================================================
--- 
wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/session/ISessionStore.java
 (original)
+++ 
wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/session/ISessionStore.java
 Fri Apr 11 02:50:49 2008
@@ -52,7 +52,7 @@
         * 
         * @return List of attributes for this session
         */
-       List getAttributeNames(Request request);
+       List<String> getAttributeNames(Request request);
 
 
        /**

Modified: 
wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/util/collections/ArrayListStack.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/util/collections/ArrayListStack.java?rev=647095&r1=647094&r2=647095&view=diff
==============================================================================
--- 
wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/util/collections/ArrayListStack.java
 (original)
+++ 
wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/util/collections/ArrayListStack.java
 Fri Apr 11 02:50:49 2008
@@ -26,8 +26,9 @@
  * ArrayListStack(int) constructor.
  * 
  * @author Jonathan Locke
+ * @param <T>
  */
-public final class ArrayListStack extends ArrayList
+public final class ArrayListStack<T> extends ArrayList<T>
 {
        private static final long serialVersionUID = 1L;
 
@@ -56,7 +57,7 @@
         * @param collection
         *            The collection to add
         */
-       public ArrayListStack(final Collection collection)
+       public ArrayListStack(final Collection<T> collection)
        {
                super(collection);
        }
@@ -67,7 +68,7 @@
         * @param item
         *            the item to be pushed onto this stack.
         */
-       public final void push(final Object item)
+       public final void push(final T item)
        {
                add(item);
        }
@@ -79,9 +80,9 @@
         * @exception EmptyStackException
         *                If this stack is empty.
         */
-       public final Object pop()
+       public final T pop()
        {
-               final Object top = peek();
+               final T top = peek();
                remove(size() - 1);
                return top;
        }
@@ -93,7 +94,7 @@
         * @exception EmptyStackException
         *                If this stack is empty.
         */
-       public final Object peek()
+       public final T peek()
        {
                int size = size();
                if (size == 0)
@@ -126,7 +127,7 @@
         * @return the 1-based position from the top of the stack where the 
object is located; the
         *         return value <code>-1</code> indicates that the object is 
not on the stack.
         */
-       public final int search(final Object o)
+       public final int search(final T o)
        {
                int i = lastIndexOf(o);
                if (i >= 0)

Modified: 
wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/stateless/pages/UsernamePasswordSignInPanel.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/stateless/pages/UsernamePasswordSignInPanel.java?rev=647095&r1=647094&r2=647095&view=diff
==============================================================================
--- 
wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/stateless/pages/UsernamePasswordSignInPanel.java
 (original)
+++ 
wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/stateless/pages/UsernamePasswordSignInPanel.java
 Fri Apr 11 02:50:49 2008
@@ -28,6 +28,7 @@
 import org.apache.wicket.markup.html.panel.Panel;
 import org.apache.wicket.model.CompoundPropertyModel;
 import org.apache.wicket.model.PropertyModel;
+import org.apache.wicket.util.value.IValueMap;
 import org.apache.wicket.util.value.ValueMap;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -36,25 +37,28 @@
 /**
  * 
  * @author marrink
- * 
+ * @param <T>
+ *            The model object type
  */
-public class UsernamePasswordSignInPanel extends Panel
+public class UsernamePasswordSignInPanel<T> extends Panel<T>
 {
-       /**
-        * 
-        */
+       /** */
        private static final long serialVersionUID = 1L;
+
+       /** */
        private static final Logger log = 
LoggerFactory.getLogger(UsernamePasswordSignInPanel.class);
 
        /**
         * Constructor.
+        * 
+        * @param id
         */
        public UsernamePasswordSignInPanel(final String id)
        {
                super(id);
 
                add(new FeedbackPanel("feedback"));
-               add(new Label("naam"));
+               add(new Label<Object>("naam"));
                add(new SignInForm("signInForm"));
        }
 
@@ -72,7 +76,7 @@
        /**
         * Sign in form.
         */
-       public final class SignInForm extends StatelessForm
+       public final class SignInForm extends StatelessForm<IValueMap>
        {
                /** Voor serializatie. */
                private static final long serialVersionUID = 1L;
@@ -88,22 +92,25 @@
                 */
                public SignInForm(final String id)
                {
-                       super(id, new CompoundPropertyModel(new ValueMap()));
+                       super(id, new CompoundPropertyModel<IValueMap>(new 
ValueMap()));
 
                        // only save username, not passwords
-                       add(new 
TextField("username").setPersistent(rememberMe));
+                       add(new 
TextField<String>("username").setPersistent(rememberMe));
                        add(new PasswordTextField("password"));
                        // MarkupContainer row for remember me checkbox
-                       WebMarkupContainer rememberMeRow = new 
WebMarkupContainer("rememberMeRow");
+                       WebMarkupContainer<Boolean> rememberMeRow = new 
WebMarkupContainer<Boolean>(
+                               "rememberMeRow");
                        add(rememberMeRow);
 
                        // Add rememberMe checkbox
-                       rememberMeRow.add(new CheckBox("rememberMe", new 
PropertyModel(this, "rememberMe")));
+                       rememberMeRow.add(new CheckBox("rememberMe", new 
PropertyModel<Boolean>(this,
+                               "rememberMe")));
                }
 
                /**
                 * @see wicket.markup.html.form.Form#onSubmit()
                 */
+               @Override
                public final void onSubmit()
                {
                        if (!rememberMe)
@@ -128,12 +135,14 @@
                                // Try the component based localizer first. If 
not found try the
                                // application localizer. Else use the default
                                
error(getLocalizer().getString("exception.login", this,
-                                               "Illegal username password 
combo"));
+                                       "Illegal username password combo"));
                        }
                }
 
                /**
                 * Geeft terug of de waarden van het formulier bewaard moeten 
worden of niet.
+                * 
+                * @return
                 */
                public boolean getRememberMe()
                {
@@ -142,11 +151,13 @@
 
                /**
                 * Zet of de waarden van het formulier bewaard moeten worden of 
niet.
+                * 
+                * @param rememberMe
                 */
                public void setRememberMe(boolean rememberMe)
                {
                        this.rememberMe = rememberMe;
-                       
((FormComponent)get("username")).setPersistent(rememberMe);
+                       ((FormComponent< ? 
>)get("username")).setPersistent(rememberMe);
                }
        }
 }


Reply via email to