You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by iv...@apache.org on 2008/06/19 18:53:19 UTC

svn commit: r669560 [3/8] - in /wicket/sandbox/ivaynberg/generics: testing/wicket-threadtest/src/main/java/org/apache/wicket/threadtest/apps/app1/ testing/wicket-threadtest/src/main/java/org/apache/wicket/threadtest/apps/app2/ wicket-auth-roles/src/mai...

Modified: wicket/sandbox/ivaynberg/generics/wicket-velocity/src/main/java/org/apache/wicket/velocity/VelocityContributor.java
URL: http://svn.apache.org/viewvc/wicket/sandbox/ivaynberg/generics/wicket-velocity/src/main/java/org/apache/wicket/velocity/VelocityContributor.java?rev=669560&r1=669559&r2=669560&view=diff
==============================================================================
--- wicket/sandbox/ivaynberg/generics/wicket-velocity/src/main/java/org/apache/wicket/velocity/VelocityContributor.java (original)
+++ wicket/sandbox/ivaynberg/generics/wicket-velocity/src/main/java/org/apache/wicket/velocity/VelocityContributor.java Thu Jun 19 09:52:58 2008
@@ -67,7 +67,7 @@
 	 * @see org.apache.wicket.behavior.AbstractBehavior#detach(org.apache.wicket.Component)
 	 */
 	@Override
-	public void detach(Component< ? > c)
+	public void detach(Component c)
 	{
 		if (model instanceof IDetachable)
 		{

Modified: wicket/sandbox/ivaynberg/generics/wicket-velocity/src/main/java/org/apache/wicket/velocity/VelocityHeaderContributor.java
URL: http://svn.apache.org/viewvc/wicket/sandbox/ivaynberg/generics/wicket-velocity/src/main/java/org/apache/wicket/velocity/VelocityHeaderContributor.java?rev=669560&r1=669559&r2=669560&view=diff
==============================================================================
--- wicket/sandbox/ivaynberg/generics/wicket-velocity/src/main/java/org/apache/wicket/velocity/VelocityHeaderContributor.java (original)
+++ wicket/sandbox/ivaynberg/generics/wicket-velocity/src/main/java/org/apache/wicket/velocity/VelocityHeaderContributor.java Thu Jun 19 09:52:58 2008
@@ -50,7 +50,7 @@
 	 * @see org.apache.wicket.behavior.AbstractBehavior#detach(org.apache.wicket.Component)
 	 */
 	@Override
-	public void detach(Component< ? > component)
+	public void detach(Component component)
 	{
 		for (Iterator<VelocityContributor> i = contributors.iterator(); i.hasNext();)
 		{

Modified: wicket/sandbox/ivaynberg/generics/wicket-velocity/src/main/java/org/apache/wicket/velocity/markup/html/VelocityPanel.java
URL: http://svn.apache.org/viewvc/wicket/sandbox/ivaynberg/generics/wicket-velocity/src/main/java/org/apache/wicket/velocity/markup/html/VelocityPanel.java?rev=669560&r1=669559&r2=669560&view=diff
==============================================================================
--- wicket/sandbox/ivaynberg/generics/wicket-velocity/src/main/java/org/apache/wicket/velocity/markup/html/VelocityPanel.java (original)
+++ wicket/sandbox/ivaynberg/generics/wicket-velocity/src/main/java/org/apache/wicket/velocity/markup/html/VelocityPanel.java Thu Jun 19 09:52:58 2008
@@ -304,7 +304,7 @@
 	 * @see org.apache.wicket.markup.IMarkupResourceStreamProvider#getMarkupResourceStream(org.apache
 	 *      .wicket.MarkupContainer, java.lang.Class)
 	 */
-	public final IResourceStream getMarkupResourceStream(MarkupContainer< ? > container,
+	public final IResourceStream getMarkupResourceStream(MarkupContainer container,
 			Class< ? > containerClass)
 	{
 		Reader reader = getTemplateReader();
@@ -325,7 +325,7 @@
 	 * @see org.apache.wicket.markup.IMarkupCacheKeyProvider#getCacheKey(org.apache.wicket.
 	 *      MarkupContainer, java.lang.Class)
 	 */
-	public final String getCacheKey(MarkupContainer< ? > container, Class< ? > containerClass)
+	public final String getCacheKey(MarkupContainer container, Class< ? > containerClass)
 	{
 		// don't cache the evaluated template
 		return null;

Modified: wicket/sandbox/ivaynberg/generics/wicket/src/main/java/org/apache/wicket/AccessStackPageMap.java
URL: http://svn.apache.org/viewvc/wicket/sandbox/ivaynberg/generics/wicket/src/main/java/org/apache/wicket/AccessStackPageMap.java?rev=669560&r1=669559&r2=669560&view=diff
==============================================================================
--- wicket/sandbox/ivaynberg/generics/wicket/src/main/java/org/apache/wicket/AccessStackPageMap.java (original)
+++ wicket/sandbox/ivaynberg/generics/wicket/src/main/java/org/apache/wicket/AccessStackPageMap.java Thu Jun 19 09:52:58 2008
@@ -223,13 +223,13 @@
 	 * @return Any page having the given id
 	 */
 	@Override
-	public final Page<?> get(final int id, int versionNumber)
+	public final Page get(final int id, int versionNumber)
 	{
 		final IPageMapEntry entry = (IPageMapEntry)getSession().getAttribute(attributeForId(id));
 		if (entry != null)
 		{
 			// Get page as dirty
-			Page<?> page = entry.getPage();
+			Page page = entry.getPage();
 
 			// TODO Performance: Is this really the case is a page always dirty
 			// even if we just render it again? POSSIBLE ANSWER: The page could
@@ -245,7 +245,7 @@
 			access(entry, versionNumber);
 
 			// Get the version of the page requested from the page
-			final Page<?> version = page.getVersion(versionNumber);
+			final Page version = page.getVersion(versionNumber);
 
 
 			// Is the requested version available?
@@ -279,7 +279,7 @@
 	 *            The page to put into this map
 	 */
 	@Override
-	public final void put(final Page<?> page)
+	public final void put(final Page page)
 	{
 		// Page only goes into session if it is stateless
 		if (!page.isPageStateless())
@@ -346,7 +346,7 @@
 					if (top instanceof Page)
 					{
 						// If there's more than one version
-						Page<?> topPage = (Page<?>)top;
+						Page topPage = (Page)top;
 						if (topPage.getVersions() > 1)
 						{
 							// Remove version the top access version (-1)
@@ -442,7 +442,7 @@
 	{
 		if (entry instanceof Page)
 		{
-			return ((Page<?>)entry).getCurrentVersionNumber();
+			return ((Page)entry).getCurrentVersionNumber();
 		}
 
 		// If entry is not a page, it cannot have versions because the Page

Modified: wicket/sandbox/ivaynberg/generics/wicket/src/main/java/org/apache/wicket/Application.java
URL: http://svn.apache.org/viewvc/wicket/sandbox/ivaynberg/generics/wicket/src/main/java/org/apache/wicket/Application.java?rev=669560&r1=669559&r2=669560&view=diff
==============================================================================
--- wicket/sandbox/ivaynberg/generics/wicket/src/main/java/org/apache/wicket/Application.java (original)
+++ wicket/sandbox/ivaynberg/generics/wicket/src/main/java/org/apache/wicket/Application.java Thu Jun 19 09:52:58 2008
@@ -281,9 +281,9 @@
 			/**
 			 * @see org.apache.wicket.application.IComponentInstantiationListener#onInstantiation(org.apache.wicket.Component)
 			 */
-			public void onInstantiation(final Component<?> component)
+			public void onInstantiation(final Component component)
 			{
-				final Class<? extends Component<?>> cl = (Class<? extends Component<?>>)component.getClass();
+				final Class<? extends Component> cl = (Class<? extends Component>)component.getClass();
 				// If component instantiation is not authorized
 				if (!Session.get().getAuthorizationStrategy().isInstantiationAuthorized(cl))
 				{
@@ -446,7 +446,7 @@
 	 * 
 	 * @return Home page class for this application
 	 */
-	public abstract Class<? extends Page<?>> getHomePage();
+	public abstract Class<? extends Page> getHomePage();
 
 	/**
 	 * THIS METHOD IS NOT PART OF THE WICKET PUBLIC API. DO NOT USE IT.
@@ -984,7 +984,7 @@
 	 * @param component
 	 *            the component that is being instantiated
 	 */
-	final void notifyComponentInstantiationListeners(final Component<?> component)
+	final void notifyComponentInstantiationListeners(final Component component)
 	{
 		final int len = componentInstantiationListeners.length;
 		for (int i = 0; i < len; i++)
@@ -1036,7 +1036,7 @@
 	 * 
 	 * @param component
 	 */
-	final void notifyPreComponentOnBeforeRenderListeners(final Component<?> component)
+	final void notifyPreComponentOnBeforeRenderListeners(final Component component)
 	{
 		if (componentPreOnBeforeRenderListeners != null)
 		{
@@ -1091,7 +1091,7 @@
 	 * 
 	 * @param component
 	 */
-	final void notifyPostComponentOnBeforeRenderListeners(final Component<?> component)
+	final void notifyPostComponentOnBeforeRenderListeners(final Component component)
 	{
 		if (componentPostOnBeforeRenderListeners != null)
 		{
@@ -1146,7 +1146,7 @@
 	 * 
 	 * @param component
 	 */
-	final void notifyComponentOnAfterRenderListeners(final Component<?> component)
+	final void notifyComponentOnAfterRenderListeners(final Component component)
 	{
 		if (componentOnAfterRenderListeners != null)
 		{

Modified: wicket/sandbox/ivaynberg/generics/wicket/src/main/java/org/apache/wicket/AttributeModifier.java
URL: http://svn.apache.org/viewvc/wicket/sandbox/ivaynberg/generics/wicket/src/main/java/org/apache/wicket/AttributeModifier.java?rev=669560&r1=669559&r2=669560&view=diff
==============================================================================
--- wicket/sandbox/ivaynberg/generics/wicket/src/main/java/org/apache/wicket/AttributeModifier.java (original)
+++ wicket/sandbox/ivaynberg/generics/wicket/src/main/java/org/apache/wicket/AttributeModifier.java Thu Jun 19 09:52:58 2008
@@ -176,7 +176,7 @@
 	 *            the model that initiates the detachment
 	 */
 	@Override
-	public final void detach(Component< ? > component)
+	public final void detach(Component component)
 	{
 		if (replaceModel != null)
 		{
@@ -226,7 +226,7 @@
 	 * @see org.apache.wicket.behavior.AbstractBehavior#isEnabled(org.apache.wicket.Component)
 	 */
 	@Override
-	public boolean isEnabled(Component< ? > component)
+	public boolean isEnabled(Component component)
 	{
 		return enabled;
 	}
@@ -236,7 +236,7 @@
 	 *      org.apache.wicket.markup.ComponentTag)
 	 */
 	@Override
-	public final void onComponentTag(Component< ? > component, ComponentTag tag)
+	public final void onComponentTag(Component component, ComponentTag tag)
 	{
 		if (tag.getType() != XmlTag.CLOSE)
 		{
@@ -254,7 +254,7 @@
 	 * @param tag
 	 *            The tag to replace the attribute value for
 	 */
-	public final void replaceAttibuteValue(final Component< ? > component, final ComponentTag tag)
+	public final void replaceAttibuteValue(final Component component, final ComponentTag tag)
 	{
 		if (isEnabled(component))
 		{
@@ -350,7 +350,7 @@
 	 * @param component
 	 * @return
 	 */
-	private Object getReplacementOrNull(final Component< ? > component)
+	private Object getReplacementOrNull(final Component component)
 	{
 		IModel< ? > model = replaceModel;
 		if (model instanceof IComponentAssignedModel)

Modified: wicket/sandbox/ivaynberg/generics/wicket/src/main/java/org/apache/wicket/Component.java
URL: http://svn.apache.org/viewvc/wicket/sandbox/ivaynberg/generics/wicket/src/main/java/org/apache/wicket/Component.java?rev=669560&r1=669559&r2=669560&view=diff
==============================================================================
--- wicket/sandbox/ivaynberg/generics/wicket/src/main/java/org/apache/wicket/Component.java (original)
+++ wicket/sandbox/ivaynberg/generics/wicket/src/main/java/org/apache/wicket/Component.java Thu Jun 19 09:52:58 2008
@@ -200,10 +200,8 @@
  * @author Juergen Donnerstag
  * @author Igor Vaynberg (ivaynberg)
  * 
- * @param <T>
- *            Model object type
  */
-public abstract class Component<T> implements IClusterable, IConverterLocator
+public abstract class Component implements IClusterable, IConverterLocator
 {
 	/**
 	 * Change record of a model.
@@ -213,14 +211,14 @@
 		private static final long serialVersionUID = 1L;
 
 		/** Former model. */
-		private final IModel<T> model;
+		private final IModel<?> model;
 
 		/**
 		 * Construct.
 		 * 
 		 * @param model
 		 */
-		public ComponentModelChange(IModel<T> model)
+		public ComponentModelChange(IModel<?> model)
 		{
 			super();
 			this.model = model;
@@ -251,7 +249,7 @@
 	 * @param <T>
 	 *            The component
 	 */
-	public static interface IVisitor<T extends Component<?>>
+	public static interface IVisitor<T extends Component>
 	{
 		/**
 		 * Value to return to continue a traversal.
@@ -381,7 +379,7 @@
 		private static final long serialVersionUID = 1L;
 
 		/** Subject. */
-		private final Component<?> component;
+		private final Component component;
 
 		/** Former value. */
 		private final boolean enabled;
@@ -391,7 +389,7 @@
 		 * 
 		 * @param component
 		 */
-		EnabledChange(final Component<?> component)
+		EnabledChange(final Component component)
 		{
 			this.component = component;
 			enabled = component.getFlag(FLAG_ENABLED);
@@ -424,7 +422,7 @@
 		private static final long serialVersionUID = 1L;
 
 		/** Subject. */
-		private final Component<?> component;
+		private final Component component;
 
 		/** Former value. */
 		private final boolean visible;
@@ -434,7 +432,7 @@
 		 * 
 		 * @param component
 		 */
-		VisibilityChange(final Component<?> component)
+		VisibilityChange(final Component component)
 		{
 			this.component = component;
 			visible = component.getFlag(FLAG_VISIBLE);
@@ -520,11 +518,11 @@
 	};
 
 	/** Basic model IModelComparator implementation for normal object models */
-	private static final IModelComparator<Object> defaultModelComparator = new IModelComparator<Object>()
+	private static final IModelComparator defaultModelComparator = new IModelComparator()
 	{
 		private static final long serialVersionUID = 1L;
 
-		public boolean compare(Component<Object> component, Object b)
+		public boolean compare(Component component, Object b)
 		{
 			final Object a = component.getDefaultModelObject();
 			if (a == null && b == null)
@@ -673,7 +671,7 @@
 	private String id;
 
 	/** Any parent container. */
-	private MarkupContainer<?> parent;
+	private MarkupContainer parent;
 
 	/**
 	 * I really dislike it, but for now we need it. Reason: due to transparent containers and
@@ -911,7 +909,7 @@
 	 * @throws WicketRuntimeException
 	 *             Thrown if the component has been given a null id.
 	 */
-	public Component(final String id, final IModel<T> model)
+	public Component(final String id, final IModel<?> model)
 	{
 		this(id);
 		setModelImpl(wrap(model));
@@ -930,7 +928,7 @@
 	 *            The behavior modifier(s) to be added
 	 * @return this (to allow method call chaining)
 	 */
-	public Component<T> add(final IBehavior... behaviors)
+	public Component add(final IBehavior... behaviors)
 	{
 		if (behaviors == null)
 		{
@@ -1054,7 +1052,7 @@
 	 * request cycle metadata. The List is then iterated over in {@link #prepareForRender()} after
 	 * calling {@link #beforeRender()}, to initialize postponed components.
 	 */
-	private static final MetaDataKey<List<Component<?>>> FEEDBACK_LIST = new MetaDataKey<List<Component<?>>>()
+	private static final MetaDataKey<List<Component>> FEEDBACK_LIST = new MetaDataKey<List<Component>>()
 	{
 		private static final long serialVersionUID = 1L;
 	};
@@ -1073,10 +1071,10 @@
 		{
 			// this component is a feedback. Feedback must be initialized last, so that
 			// they can collect messages from other components
-			List<Component<?>> feedbacks = getRequestCycle().getMetaData(FEEDBACK_LIST);
+			List<Component> feedbacks = getRequestCycle().getMetaData(FEEDBACK_LIST);
 			if (feedbacks == null)
 			{
-				feedbacks = new ArrayList<Component<?>>();
+				feedbacks = new ArrayList<Component>();
 				getRequestCycle().setMetaData(FEEDBACK_LIST, feedbacks);
 			}
 			feedbacks.add(this);
@@ -1216,7 +1214,8 @@
 	 * Finds the first container parent of this component of the given class.
 	 * 
 	 * @param <Z>
-	 *            <code>class</code> of parent component
+	 *            type of parent
+	 * 
 	 * 
 	 * @param c
 	 *            MarkupContainer class to search for
@@ -1226,7 +1225,7 @@
 	public final <Z> Z findParent(final Class<Z> c)
 	{
 		// Start with immediate parent
-		MarkupContainer<?> current = parent;
+		MarkupContainer current = parent;
 
 		// Walk up containment hierarchy
 		while (current != null)
@@ -1248,9 +1247,9 @@
 	/**
 	 * @return The nearest markup container with associated markup
 	 */
-	public final MarkupContainer<?> findParentWithAssociatedMarkup()
+	public final MarkupContainer findParentWithAssociatedMarkup()
 	{
-		MarkupContainer<?> container = parent;
+		MarkupContainer container = parent;
 		while (container != null)
 		{
 			if (container.hasAssociatedMarkup())
@@ -1421,7 +1420,7 @@
 
 	private final int nextAutoIndex()
 	{
-		Page<?> page = findPage();
+		Page page = findPage();
 		if (page == null)
 		{
 			throw new WicketRuntimeException(
@@ -1573,9 +1572,9 @@
 	 * 
 	 * @return The model
 	 */
-	public final IModel<T> getDefaultModel()
+	public final IModel<?> getDefaultModel()
 	{
-		IModel<T> model = getModelImpl();
+		IModel<?> model = getModelImpl();
 		// If model is null
 		if (model == null)
 		{
@@ -1592,9 +1591,9 @@
 	 * 
 	 * @return The backing model object
 	 */
-	public final T getDefaultModelObject()
+	public final Object getDefaultModelObject()
 	{
-		final IModel<T> model = getDefaultModel();
+		final IModel<?> model = getDefaultModel();
 		if (model != null)
 		{
 			// Get model value for this component.
@@ -1637,14 +1636,14 @@
 	 *            Model object to convert to string
 	 * @return The string
 	 */
-	public final String getDefaultModelObjectAsString(final T modelObject)
+	public final String getDefaultModelObjectAsString(final Object modelObject)
 	{
 		if (modelObject != null)
 		{
 			// Get converter
-			final Class<T> objectClass = (Class<T>)modelObject.getClass();
+			final Class<?> objectClass = modelObject.getClass();
 
-			final IConverter<T> converter = getConverter(objectClass);
+			final IConverter<Object> converter = (IConverter<Object>)getConverter(objectClass);
 
 			// Model string from property
 			final String modelString = converter.convertToString(modelObject, getLocale());
@@ -1691,10 +1690,10 @@
 	 * @throws IllegalStateException
 	 *             Thrown if component is not yet attached to a Page.
 	 */
-	public final Page<?> getPage()
+	public final Page getPage()
 	{
 		// Search for nearest Page
-		final Page<?> page = findPage();
+		final Page page = findPage();
 
 		// If no Page was found
 		if (page == null)
@@ -1729,7 +1728,7 @@
 	 * 
 	 * @return Any parent container, or null if there is none
 	 */
-	public final MarkupContainer<?> getParent()
+	public final MarkupContainer getParent()
 	{
 		return parent;
 	}
@@ -1742,7 +1741,7 @@
 	public final String getPath()
 	{
 		final PrependingStringBuffer buffer = new PrependingStringBuffer(32);
-		for (Component<?> c = this; c != null; c = c.getParent())
+		for (Component c = this; c != null; c = c.getParent())
 		{
 			if (buffer.length() > 0)
 			{
@@ -1812,7 +1811,7 @@
 	 */
 	public long getSizeInBytes()
 	{
-		final MarkupContainer<?> originalParent = parent;
+		final MarkupContainer originalParent = parent;
 		parent = null;
 		long size = -1;
 		try
@@ -1995,7 +1994,7 @@
 	 * @deprecated use getParent().contains(component, false)
 	 */
 	@Deprecated
-	public final boolean isAncestorOf(final Component<?> component)
+	public final boolean isAncestorOf(final Component component)
 	{
 		return getParent().contains(component, false);
 		// // Walk up containment hierarchy
@@ -2120,7 +2119,7 @@
 	 */
 	public final boolean isVisibleInHierarchy()
 	{
-		Component<?> component = this;
+		Component component = this;
 		while (component != null)
 		{
 			if (component.determineVisibility())
@@ -2164,7 +2163,7 @@
 		onModelChanging();
 
 		// Tell the page that our model changed
-		final Page<?> page = findPage();
+		final Page page = findPage();
 		if (page != null)
 		{
 			page.componentModelChanging(this);
@@ -2180,7 +2179,7 @@
 	 *            The class of page to create
 	 * @return The new page
 	 */
-	public final <C extends Page<?>> Page<?> newPage(final Class<C> c)
+	public final <C extends Page> Page newPage(final Class<C> c)
 	{
 		return getPageFactory().newPage(c);
 	}
@@ -2196,8 +2195,7 @@
 	 *            Any parameters to pass to the constructor
 	 * @return The new page
 	 */
-	public final <C extends Page<?>> Page<?> newPage(final Class<C> c,
-		final PageParameters parameters)
+	public final <C extends Page> Page newPage(final Class<C> c, final PageParameters parameters)
 	{
 		return getPageFactory().newPage(c, parameters);
 	}
@@ -2211,12 +2209,12 @@
 	public final void prepareForRender()
 	{
 		beforeRender();
-		List<Component<?>> feedbacks = getRequestCycle().getMetaData(FEEDBACK_LIST);
+		List<Component> feedbacks = getRequestCycle().getMetaData(FEEDBACK_LIST);
 		if (feedbacks != null)
 		{
-			for (Iterator<Component<?>> i = feedbacks.iterator(); i.hasNext();)
+			for (Iterator<Component> i = feedbacks.iterator(); i.hasNext();)
 			{
-				Component<?> feedback = i.next();
+				Component feedback = i.next();
 				feedback.internalBeforeRender();
 			}
 		}
@@ -2240,7 +2238,7 @@
 	 * 
 	 * @see Component#continueToOriginalDestination()
 	 */
-	public final void redirectToInterceptPage(final Page<?> page)
+	public final void redirectToInterceptPage(final Page page)
 	{
 		getPage().getPageMap().redirectToInterceptPage(page);
 	}
@@ -2267,7 +2265,7 @@
 	 * 
 	 * @return this (to allow method call chaining)
 	 */
-	public Component<T> remove(final IBehavior behavior)
+	public Component remove(final IBehavior behavior)
 	{
 		if (behavior == null)
 		{
@@ -2453,12 +2451,12 @@
 		if (this instanceof Page)
 		{
 			// Render as Page, with all the special logic that entails
-			((Page<?>)this).renderPage();
+			((Page)this).renderPage();
 		}
 		else
 		{
 			// Save the parent's markup stream to re-assign it at the end
-			MarkupContainer<?> parent = getParent();
+			MarkupContainer parent = getParent();
 			MarkupStream originalMarkupStream = parent.getMarkupStream();
 			MarkupStream markupStream = locateMarkupStream();
 
@@ -2635,7 +2633,7 @@
 	 * @param replacement
 	 *            component to replace this one
 	 */
-	public void replaceWith(Component<?> replacement)
+	public void replaceWith(Component replacement)
 	{
 		if (replacement == null)
 		{
@@ -2660,7 +2658,7 @@
 	 *            The component to compare with
 	 * @return True if the given component's model is the same as this component's model.
 	 */
-	public final boolean sameInnermostModel(final Component<?> component)
+	public final boolean sameInnermostModel(final Component component)
 	{
 		return sameInnermostModel(component.getDefaultModel());
 	}
@@ -2693,7 +2691,7 @@
 	 *            component border to assign, or <code>null</code> to clear any previous
 	 * @return component for chaining
 	 */
-	public final Component<T> setComponentBorder(final IComponentBorder border)
+	public final Component setComponentBorder(final IComponentBorder border)
 	{
 		if (!Objects.equal(getComponentBorder(), border))
 		{
@@ -2714,7 +2712,7 @@
 	 *            whether this component is enabled
 	 * @return This
 	 */
-	public final Component<T> setEnabled(final boolean enabled)
+	public final Component setEnabled(final boolean enabled)
 	{
 		// Is new enabled state a change?
 		if (enabled != getFlag(FLAG_ENABLED))
@@ -2722,7 +2720,7 @@
 			// Tell the page that this component's enabled was changed
 			if (isVersioned())
 			{
-				final Page<?> page = findPage();
+				final Page page = findPage();
 				if (page != null)
 				{
 					addStateChange(new EnabledChange(this));
@@ -2742,7 +2740,7 @@
 	 *            True is model strings should be escaped
 	 * @return This
 	 */
-	public final Component<T> setEscapeModelStrings(final boolean escapeMarkup)
+	public final Component setEscapeModelStrings(final boolean escapeMarkup)
 	{
 		setFlag(FLAG_ESCAPE_MODEL_STRINGS, escapeMarkup);
 		return this;
@@ -2847,9 +2845,9 @@
 	 *            The model
 	 * @return This
 	 */
-	public Component<T> setDefaultModel(final IModel<T> model)
+	public Component setDefaultModel(final IModel<?> model)
 	{
-		IModel<T> prevModel = getModelImpl();
+		IModel<?> prevModel = getModelImpl();
 		// Detach current model
 		if (prevModel != null)
 		{
@@ -2859,7 +2857,7 @@
 		IModel wrappedModel = prevModel;
 		if (prevModel instanceof IWrapModel)
 		{
-			wrappedModel = ((IWrapModel<T>)prevModel).getWrappedModel();
+			wrappedModel = ((IWrapModel<?>)prevModel).getWrappedModel();
 		}
 
 		// Change model
@@ -2882,12 +2880,11 @@
 	 * 
 	 * @return
 	 */
-	@SuppressWarnings("unchecked")
-	IModel<T> getModelImpl()
+	IModel<?> getModelImpl()
 	{
 		if (getFlag(FLAG_MODEL_SET))
 		{
-			return (IModel<T>)data_get(0);
+			return (IModel<?>)data_get(0);
 		}
 		else
 		{
@@ -2899,7 +2896,7 @@
 	 * 
 	 * @param model
 	 */
-	void setModelImpl(IModel<T> model)
+	void setModelImpl(IModel<?> model)
 	{
 		if (getFlag(FLAG_MODEL_SET))
 		{
@@ -2930,9 +2927,9 @@
 	 *            The object to set
 	 * @return This
 	 */
-	public final Component<T> setDefaultModelObject(final T object)
+	public final Component setDefaultModelObject(final Object object)
 	{
-		final IModel<T> model = getDefaultModel();
+		final IModel<Object> model = (IModel<Object>)getDefaultModel();
 
 		// Check whether anything can be set at all
 		if (model == null)
@@ -2970,7 +2967,7 @@
 	 * 
 	 * @return this for chaining
 	 */
-	public final Component<T> setOutputMarkupId(final boolean output)
+	public final Component setOutputMarkupId(final boolean output)
 	{
 		setFlag(FLAG_OUTPUT_MARKUP_ID, output);
 		return this;
@@ -2992,7 +2989,7 @@
 	 * @param outputTag
 	 * @return this for chaining
 	 */
-	public final Component<T> setOutputMarkupPlaceholderTag(final boolean outputTag)
+	public final Component setOutputMarkupPlaceholderTag(final boolean outputTag)
 	{
 		if (outputTag != getFlag(FLAG_PLACEHOLDER))
 		{
@@ -3029,7 +3026,7 @@
 	 *            If true, the component tag will not be printed
 	 * @return This
 	 */
-	public final Component<T> setRenderBodyOnly(final boolean renderTag)
+	public final Component setRenderBodyOnly(final boolean renderTag)
 	{
 		this.setFlag(FLAG_RENDER_BODY_ONLY, renderTag);
 		return this;
@@ -3044,7 +3041,7 @@
 	 *            The response page class
 	 * @see RequestCycle#setResponsePage(Class)
 	 */
-	public final <C extends Page<?>> void setResponsePage(final Class<C> cls)
+	public final <C extends Page> void setResponsePage(final Class<C> cls)
 	{
 		getRequestCycle().setResponsePage(cls);
 	}
@@ -3061,8 +3058,7 @@
 	 *            The parameters for this bookmarkable page.
 	 * @see RequestCycle#setResponsePage(Class, PageParameters)
 	 */
-	public final <C extends Page<?>> void setResponsePage(final Class<C> cls,
-		PageParameters parameters)
+	public final <C extends Page> void setResponsePage(final Class<C> cls, PageParameters parameters)
 	{
 		getRequestCycle().setResponsePage(cls, parameters);
 	}
@@ -3074,7 +3070,7 @@
 	 *            The response page
 	 * @see RequestCycle#setResponsePage(Page)
 	 */
-	public final void setResponsePage(final Page<?> page)
+	public final void setResponsePage(final Page page)
 	{
 		getRequestCycle().setResponsePage(page);
 	}
@@ -3085,7 +3081,7 @@
 	 *            component and any children.
 	 * @return This
 	 */
-	public Component<T> setVersioned(boolean versioned)
+	public Component setVersioned(boolean versioned)
 	{
 		setFlag(FLAG_VERSIONED, versioned);
 		return this;
@@ -3098,7 +3094,7 @@
 	 *            True if this component and any children should be visible
 	 * @return This
 	 */
-	public final Component<T> setVisible(final boolean visible)
+	public final Component setVisible(final boolean visible)
 	{
 		// Is new visibility state a change?
 		if (visible != getFlag(FLAG_VISIBLE))
@@ -3132,7 +3128,7 @@
 	{
 		if (detailed)
 		{
-			final Page<?> page = findPage();
+			final Page page = findPage();
 			if (page == null)
 			{
 				return new StringBuffer("[Component id = ").append(getId()).append(
@@ -3177,7 +3173,7 @@
 	 *            Parameters to page
 	 * @return Bookmarkable URL to page
 	 */
-	public final <C extends Page<?>> CharSequence urlFor(final Class<C> pageClass,
+	public final <C extends Page> CharSequence urlFor(final Class<C> pageClass,
 		final PageParameters parameters)
 	{
 		return getRequestCycle().urlFor(getPage().getPageMap(), pageClass, parameters);
@@ -3219,7 +3215,7 @@
 	 * 
 	 * @return Bookmarkable URL to page
 	 */
-	public final <C extends Page<?>> CharSequence urlFor(final IPageMap pageMap,
+	public final <C extends Page> CharSequence urlFor(final IPageMap pageMap,
 		final Class<C> pageClass, final PageParameters parameters)
 	{
 		return getRequestCycle().urlFor(pageMap, pageClass, parameters);
@@ -3278,11 +3274,11 @@
 	 *            The visitor to call at each parent of the given type
 	 * @return First non-null value returned by visitor callback
 	 */
-	public final <C extends MarkupContainer<?>> Object visitParents(final Class<C> c,
-		final IVisitor<Component<?>> visitor)
+	public final <C extends MarkupContainer> Object visitParents(final Class<C> c,
+		final IVisitor<Component> visitor)
 	{
 		// Start here
-		Component<?> current = this;
+		Component current = this;
 
 		// Walk up containment hierarchy
 		while (current != null)
@@ -3365,7 +3361,7 @@
 	protected final void addStateChange(final Change change)
 	{
 		checkHierarchyChange(this);
-		final Page<?> page = findPage();
+		final Page page = findPage();
 		if (page != null)
 		{
 			page.componentStateChanging(this, change);
@@ -3426,7 +3422,7 @@
 	 * @param component
 	 *            the component which is about to be added or removed
 	 */
-	protected void checkHierarchyChange(final Component<?> component)
+	protected void checkHierarchyChange(final Component component)
 	{
 		// Throw exception if modification is attempted during rendering
 		if (!component.isAuto() && getFlag(FLAG_RENDERING))
@@ -3441,7 +3437,7 @@
 	 */
 	protected void detachModel()
 	{
-		IModel<T> model = getModelImpl();
+		IModel<?> model = getModelImpl();
 		if (model != null)
 		{
 			model.detach();
@@ -3450,7 +3446,7 @@
 		// inherited)
 		if (model instanceof IWrapModel && !getFlag(FLAG_INHERITABLE_MODEL))
 		{
-			((IWrapModel<T>)model).getWrappedModel().detach();
+			((IWrapModel<?>)model).getWrappedModel().detach();
 		}
 	}
 
@@ -3489,10 +3485,10 @@
 	 * 
 	 * @return The Page or null if none can be found
 	 */
-	protected final Page<?> findPage()
+	protected final Page findPage()
 	{
 		// Search for page
-		return (Page<?>)(this instanceof Page ? this : findParent(Page.class));
+		return (Page)(this instanceof Page ? this : findParent(Page.class));
 	}
 
 	/**
@@ -3579,9 +3575,9 @@
 	 * 
 	 * @return the value defaultModelComparator
 	 */
-	protected IModelComparator<T> getModelComparator()
+	protected IModelComparator getModelComparator()
 	{
-		return (IModelComparator<T>)defaultModelComparator;
+		return defaultModelComparator;
 	}
 
 	/**
@@ -3605,11 +3601,11 @@
 	 * @return The model
 	 */
 	@SuppressWarnings("unchecked")
-	protected IModel<T> initModel()
+	protected IModel<?> initModel()
 	{
-		IModel<T> foundModel = null;
+		IModel<?> foundModel = null;
 		// Search parents for CompoundPropertyModel
-		for (Component<?> current = getParent(); current != null; current = current.getParent())
+		for (Component current = getParent(); current != null; current = current.getParent())
 		{
 			// Get model
 			// Don't call the getModel() that could initialize many inbetween
@@ -4024,7 +4020,7 @@
 	 *            If true, all attribute modifiers will be ignored
 	 * @return This
 	 */
-	protected final Component<T> setIgnoreAttributeModifier(final boolean ignore)
+	protected final Component setIgnoreAttributeModifier(final boolean ignore)
 	{
 		this.setFlag(FLAG_IGNORE_ATTRIBUTE_MODIFIER, ignore);
 		return this;
@@ -4075,7 +4071,7 @@
 	 *            Path to component
 	 * @return The component at the path
 	 */
-	Component<?> get(final String path)
+	Component get(final String path)
 	{
 		// Path to this component is an empty path
 		if (path.equals(""))
@@ -4113,7 +4109,7 @@
 	final boolean isAuto()
 	{
 		// Search up hierarchy for FLAG_AUTO
-		for (Component<?> current = this; current != null; current = current.getParent())
+		for (Component current = this; current != null; current = current.getParent())
 		{
 			if (current.getFlag(FLAG_AUTO))
 			{
@@ -4220,7 +4216,7 @@
 	 * @param parent
 	 *            The parent container
 	 */
-	final void setParent(final MarkupContainer<?> parent)
+	final void setParent(final MarkupContainer parent)
 	{
 		if (this.parent != null && log.isDebugEnabled())
 		{
@@ -4262,7 +4258,7 @@
 	 * @param allowed
 	 * @return <code>this</code> for chaining
 	 */
-	public final Component<T> setVisibilityAllowed(boolean allowed)
+	public final Component setVisibilityAllowed(boolean allowed)
 	{
 		setFlag(FLAG_VISIBILITY_ALLOWED, allowed);
 		return this;
@@ -4299,7 +4295,7 @@
 	{
 		if (this instanceof Page)
 		{
-			((Page<?>)this).writePageObject(s);
+			((Page)this).writePageObject(s);
 		}
 		else
 		{
@@ -4317,7 +4313,7 @@
 	{
 		if (this instanceof Page)
 		{
-			((Page<?>)this).readPageObject(s);
+			((Page)this).readPageObject(s);
 		}
 		else
 		{

Modified: wicket/sandbox/ivaynberg/generics/wicket/src/main/java/org/apache/wicket/ComponentSourceEntry.java
URL: http://svn.apache.org/viewvc/wicket/sandbox/ivaynberg/generics/wicket/src/main/java/org/apache/wicket/ComponentSourceEntry.java?rev=669560&r1=669559&r2=669560&view=diff
==============================================================================
--- wicket/sandbox/ivaynberg/generics/wicket/src/main/java/org/apache/wicket/ComponentSourceEntry.java (original)
+++ wicket/sandbox/ivaynberg/generics/wicket/src/main/java/org/apache/wicket/ComponentSourceEntry.java Thu Jun 19 09:52:58 2008
@@ -63,7 +63,7 @@
 	 * @param buffer
 	 * @param component
 	 */
-	private final void appendComponent(AppendingStringBuffer buffer, Component<?> component)
+	private final void appendComponent(AppendingStringBuffer buffer, Component component)
 	{
 		checkId("Component id", component.getId());
 		buffer.append(component.getId());
@@ -88,14 +88,14 @@
 		buffer.append(component.markupIndex);
 
 		if (component instanceof MarkupContainer &&
-			((MarkupContainer<?>)component).iterator().hasNext())
+			((MarkupContainer)component).iterator().hasNext())
 		{
 			buffer.append('(');
 
-			Iterator<Component<?>> i = ((MarkupContainer<?>)component).iterator();
+			Iterator<Component> i = ((MarkupContainer)component).iterator();
 			while (i.hasNext())
 			{
-				Component<?> child = i.next();
+				Component child = i.next();
 				appendComponent(buffer, child);
 				if (i.hasNext())
 				{
@@ -114,7 +114,7 @@
 	 * @param component
 	 * @param componentSource
 	 */
-	ComponentSourceEntry(MarkupContainer<?> container, Component<?> component,
+	ComponentSourceEntry(MarkupContainer container, Component component,
 		IComponentSource componentSource)
 	{
 		id = component.getId();
@@ -135,7 +135,7 @@
 	 * @param index
 	 * @param child
 	 */
-	protected abstract void setChild(MarkupContainer<?> parent, int index, Component<?> child);
+	protected abstract void setChild(MarkupContainer parent, int index, Component child);
 
 	/**
 	 * Reconstructs the component
@@ -146,9 +146,9 @@
 	 *            position in parent's children
 	 * @return reconstructed component
 	 */
-	Component<?> reconstruct(MarkupContainer<?> parent, int index)
+	Component reconstruct(MarkupContainer parent, int index)
 	{
-		Component<?> component = componentSource.restoreComponent(id);
+		Component component = componentSource.restoreComponent(id);
 
 		if (parent != null)
 		{
@@ -203,8 +203,8 @@
 	 * @param component
 	 * @return <code>component</code> if it is a markup container, null otherwise
 	 */
-	private static MarkupContainer<?> applyComponentInfo(MarkupContainer<?> parent, String info,
-		Component<?> component)
+	private static MarkupContainer applyComponentInfo(MarkupContainer parent, String info,
+		Component component)
 	{
 		if (parent == null)
 		{
@@ -258,7 +258,7 @@
 			}
 			component.markupIndex = (short)markupIndex;
 		}
-		return component instanceof MarkupContainer ? (MarkupContainer<?>)component : null;
+		return component instanceof MarkupContainer ? (MarkupContainer)component : null;
 	}
 
 	/**
@@ -273,8 +273,8 @@
 	 * @param info
 	 * @return length of component info
 	 */
-	private static int parseComponentInfo(MarkupContainer<?> parent, String info,
-		Component<?> component)
+	private static int parseComponentInfo(MarkupContainer parent, String info,
+		Component component)
 	{
 		// find the first part for the component
 		final String substring = getComponentSubString(info);
@@ -288,7 +288,7 @@
 			++len; // skip the '('
 		}
 
-		final MarkupContainer<?> child = applyComponentInfo(parent, substring, component);
+		final MarkupContainer child = applyComponentInfo(parent, substring, component);
 
 		if (hasChildren)
 		{

Modified: wicket/sandbox/ivaynberg/generics/wicket/src/main/java/org/apache/wicket/IComponentBorder.java
URL: http://svn.apache.org/viewvc/wicket/sandbox/ivaynberg/generics/wicket/src/main/java/org/apache/wicket/IComponentBorder.java?rev=669560&r1=669559&r2=669560&view=diff
==============================================================================
--- wicket/sandbox/ivaynberg/generics/wicket/src/main/java/org/apache/wicket/IComponentBorder.java (original)
+++ wicket/sandbox/ivaynberg/generics/wicket/src/main/java/org/apache/wicket/IComponentBorder.java Thu Jun 19 09:52:58 2008
@@ -32,13 +32,13 @@
 	 * 
 	 * @param component
 	 */
-	public void renderBefore(Component< ? > component);
+	public void renderBefore(Component component);
 
 	/**
 	 * Called after the component is renderd.
 	 * 
 	 * @param component
 	 */
-	public void renderAfter(Component< ? > component);
+	public void renderAfter(Component component);
 
 }

Modified: wicket/sandbox/ivaynberg/generics/wicket/src/main/java/org/apache/wicket/IComponentSource.java
URL: http://svn.apache.org/viewvc/wicket/sandbox/ivaynberg/generics/wicket/src/main/java/org/apache/wicket/IComponentSource.java?rev=669560&r1=669559&r2=669560&view=diff
==============================================================================
--- wicket/sandbox/ivaynberg/generics/wicket/src/main/java/org/apache/wicket/IComponentSource.java (original)
+++ wicket/sandbox/ivaynberg/generics/wicket/src/main/java/org/apache/wicket/IComponentSource.java Thu Jun 19 09:52:58 2008
@@ -38,5 +38,5 @@
 	 * @param id
 	 * @return reconstructed component
 	 */
-	public Component< ? > restoreComponent(String id);
+	public Component restoreComponent(String id);
 }

Modified: wicket/sandbox/ivaynberg/generics/wicket/src/main/java/org/apache/wicket/IPageFactory.java
URL: http://svn.apache.org/viewvc/wicket/sandbox/ivaynberg/generics/wicket/src/main/java/org/apache/wicket/IPageFactory.java?rev=669560&r1=669559&r2=669560&view=diff
==============================================================================
--- wicket/sandbox/ivaynberg/generics/wicket/src/main/java/org/apache/wicket/IPageFactory.java (original)
+++ wicket/sandbox/ivaynberg/generics/wicket/src/main/java/org/apache/wicket/IPageFactory.java Thu Jun 19 09:52:58 2008
@@ -45,7 +45,7 @@
 	 * @throws WicketRuntimeException
 	 *             Thrown if the page cannot be constructed
 	 */
-	<C extends Page<?>> Page<?> newPage(final Class<C> pageClass);
+	<C extends Page> Page newPage(final Class<C> pageClass);
 
 	/**
 	 * Creates a new Page, passing PageParameters to the Page constructor if such a constructor
@@ -62,5 +62,5 @@
 	 * @throws WicketRuntimeException
 	 *             Thrown if the page cannot be constructed
 	 */
-	<C extends Page<?>> Page<?> newPage(final Class<C> pageClass, final PageParameters parameters);
+	<C extends Page> Page newPage(final Class<C> pageClass, final PageParameters parameters);
 }

Modified: wicket/sandbox/ivaynberg/generics/wicket/src/main/java/org/apache/wicket/IPageMap.java
URL: http://svn.apache.org/viewvc/wicket/sandbox/ivaynberg/generics/wicket/src/main/java/org/apache/wicket/IPageMap.java?rev=669560&r1=669559&r2=669560&view=diff
==============================================================================
--- wicket/sandbox/ivaynberg/generics/wicket/src/main/java/org/apache/wicket/IPageMap.java (original)
+++ wicket/sandbox/ivaynberg/generics/wicket/src/main/java/org/apache/wicket/IPageMap.java Thu Jun 19 09:52:58 2008
@@ -53,7 +53,7 @@
 	 *            The version to get
 	 * @return Any page having the given id
 	 */
-	Page<?> get(final int id, int versionNumber);
+	Page get(final int id, int versionNumber);
 
 	/**
 	 * Retrieves entry with given id.
@@ -89,7 +89,7 @@
 	 * @param page
 	 *            The page to put into this map
 	 */
-	void put(final Page<?> page);
+	void put(final Page page);
 
 	/**
 	 * Redirects browser to an intermediate page such as a sign-in page. The current request's URL
@@ -102,7 +102,7 @@
 	 * @param pageClazz
 	 *            The page clazz to temporarily redirect to
 	 */
-	<T extends Page<?>> void redirectToInterceptPage(final Class<T> pageClazz);
+	<T extends Page> void redirectToInterceptPage(final Class<T> pageClazz);
 
 	/**
 	 * Redirects browser to an intermediate page such as a sign-in page. The current request's url
@@ -115,7 +115,7 @@
 	 * 
 	 * @see Component#continueToOriginalDestination()
 	 */
-	void redirectToInterceptPage(final Page<?> page);
+	void redirectToInterceptPage(final Page page);
 
 	/**
 	 * Removes this PageMap from the Session.
@@ -128,7 +128,7 @@
 	 * @param page
 	 *            page to be removed from the pagemap
 	 */
-	void remove(final Page<?> page);
+	void remove(final Page page);
 
 	/**
 	 * @param entry

Modified: wicket/sandbox/ivaynberg/generics/wicket/src/main/java/org/apache/wicket/IResourceListener.java
URL: http://svn.apache.org/viewvc/wicket/sandbox/ivaynberg/generics/wicket/src/main/java/org/apache/wicket/IResourceListener.java?rev=669560&r1=669559&r2=669560&view=diff
==============================================================================
--- wicket/sandbox/ivaynberg/generics/wicket/src/main/java/org/apache/wicket/IResourceListener.java (original)
+++ wicket/sandbox/ivaynberg/generics/wicket/src/main/java/org/apache/wicket/IResourceListener.java Thu Jun 19 09:52:58 2008
@@ -40,7 +40,7 @@
 		IResourceListener.class)
 	{
 		@Override
-		public IRequestTarget newRequestTarget(Page< ? > page, Component< ? > component,
+		public IRequestTarget newRequestTarget(Page page, Component component,
 			RequestListenerInterface listener, RequestParameters requestParameters)
 		{
 			return new ComponentResourceRequestTarget(page, component, listener);

Modified: wicket/sandbox/ivaynberg/generics/wicket/src/main/java/org/apache/wicket/Localizer.java
URL: http://svn.apache.org/viewvc/wicket/sandbox/ivaynberg/generics/wicket/src/main/java/org/apache/wicket/Localizer.java?rev=669560&r1=669559&r2=669560&view=diff
==============================================================================
--- wicket/sandbox/ivaynberg/generics/wicket/src/main/java/org/apache/wicket/Localizer.java (original)
+++ wicket/sandbox/ivaynberg/generics/wicket/src/main/java/org/apache/wicket/Localizer.java Thu Jun 19 09:52:58 2008
@@ -92,7 +92,7 @@
 	 * @throws MissingResourceException
 	 *             If resource not found and configuration dictates that exception should be thrown
 	 */
-	public String getString(final String key, final Component<?> component)
+	public String getString(final String key, final Component component)
 		throws MissingResourceException
 	{
 		return getString(key, component, null, null);
@@ -111,7 +111,7 @@
 	 * @throws MissingResourceException
 	 *             If resource not found and configuration dictates that exception should be thrown
 	 */
-	public String getString(final String key, final Component<?> component, final IModel<?> model)
+	public String getString(final String key, final Component component, final IModel<?> model)
 		throws MissingResourceException
 	{
 		return getString(key, component, model, null);
@@ -130,7 +130,7 @@
 	 * @throws MissingResourceException
 	 *             If resource not found and configuration dictates that exception should be thrown
 	 */
-	public String getString(final String key, final Component<?> component,
+	public String getString(final String key, final Component component,
 		final String defaultValue) throws MissingResourceException
 	{
 		return getString(key, component, null, defaultValue);
@@ -150,7 +150,7 @@
 	 * 
 	 * @Deprecated please use {@link #getString(String, Component, IModel, String)}
 	 */
-	public String getString(final String key, final Component<?> component, final IModel<?> model,
+	public String getString(final String key, final Component component, final IModel<?> model,
 		final Locale locale, final String style, final String defaultValue)
 		throws MissingResourceException
 	{
@@ -175,7 +175,7 @@
 	 * @throws MissingResourceException
 	 *             If resource not found and configuration dictates that exception should be thrown
 	 */
-	public String getString(final String key, final Component<?> component, final IModel<?> model,
+	public String getString(final String key, final Component component, final IModel<?> model,
 		final String defaultValue) throws MissingResourceException
 	{
 		final IResourceSettings resourceSettings = Application.get().getResourceSettings();
@@ -325,7 +325,7 @@
 	 * @param component
 	 * @return The value of the key
 	 */
-	protected String getCacheKey(final String key, final Component<?> component)
+	protected String getCacheKey(final String key, final Component component)
 	{
 		String cacheKey = key;
 		if (component != null)
@@ -333,7 +333,7 @@
 			AppendingStringBuffer buffer = new AppendingStringBuffer(200);
 			buffer.append(key);
 
-			Component<?> cursor = component;
+			Component cursor = component;
 			while (cursor != null)
 			{
 				buffer.append("-").append(metaDatabase.id(cursor.getClass()));
@@ -379,7 +379,7 @@
 	 *            The model
 	 * @return The resulting string
 	 */
-	public String substitutePropertyExpressions(final Component<?> component, final String string,
+	public String substitutePropertyExpressions(final Component component, final String string,
 		final IModel<?> model)
 	{
 		if ((string != null) && (model != null))

Modified: wicket/sandbox/ivaynberg/generics/wicket/src/main/java/org/apache/wicket/MarkupContainer.java
URL: http://svn.apache.org/viewvc/wicket/sandbox/ivaynberg/generics/wicket/src/main/java/org/apache/wicket/MarkupContainer.java?rev=669560&r1=669559&r2=669560&view=diff
==============================================================================
--- wicket/sandbox/ivaynberg/generics/wicket/src/main/java/org/apache/wicket/MarkupContainer.java (original)
+++ wicket/sandbox/ivaynberg/generics/wicket/src/main/java/org/apache/wicket/MarkupContainer.java Thu Jun 19 09:52:58 2008
@@ -84,7 +84,7 @@
  * @param <T>
  *            The model object type
  */
-public abstract class MarkupContainer<T> extends Component<T>
+public abstract class MarkupContainer extends Component
 {
 	private static final long serialVersionUID = 1L;
 
@@ -111,7 +111,7 @@
 	/**
 	 * @see org.apache.wicket.Component#Component(String, IModel)
 	 */
-	public MarkupContainer(final String id, IModel<T> model)
+	public MarkupContainer(final String id, IModel<?> model)
 	{
 		super(id, model);
 	}
@@ -125,9 +125,9 @@
 	 *             Thrown if a child with the same id is replaced by the add operation.
 	 * @return This
 	 */
-	public final MarkupContainer<T> add(final Component<?>... childs)
+	public final MarkupContainer add(final Component... childs)
 	{
-		for (Component<?> child : childs)
+		for (Component child : childs)
 		{
 
 			checkHierarchyChange(child);
@@ -162,9 +162,9 @@
 	 *            The child(s) to be added or replaced
 	 * @return This
 	 */
-	public final MarkupContainer<T> addOrReplace(final Component<?>... childs)
+	public final MarkupContainer addOrReplace(final Component... childs)
 	{
-		for (Component<?> child : childs)
+		for (Component child : childs)
 		{
 
 			checkHierarchyChange(child);
@@ -206,7 +206,7 @@
 	 *            stream to be used to render the component.
 	 * @return True, if component has been added
 	 */
-	public final boolean autoAdd(final Component<?> component, final MarkupStream markupStream)
+	public final boolean autoAdd(final Component component, final MarkupStream markupStream)
 	{
 		if (component == null)
 		{
@@ -250,7 +250,7 @@
 	 * @deprecated since 1.3 Please use {@link #autoAdd(Component, MarkupStream)} instead
 	 */
 	@Deprecated
-	public final boolean autoAdd(final Component<?> component)
+	public final boolean autoAdd(final Component component)
 	{
 		return autoAdd(component, null);
 	}
@@ -262,7 +262,7 @@
 	 *            True if all descendents should be considered
 	 * @return True if the component is contained in this container
 	 */
-	public final boolean contains(final Component<?> component, final boolean recurse)
+	public final boolean contains(final Component component, final boolean recurse)
 	{
 		if (component == null)
 		{
@@ -272,10 +272,10 @@
 		if (recurse)
 		{
 			// Start at component and continue while we're not out of parents
-			for (Component<?> current = component; current != null;)
+			for (Component current = component; current != null;)
 			{
 				// Get parent
-				final MarkupContainer<?> parent = current.getParent();
+				final MarkupContainer parent = current.getParent();
 
 				// If this container is the parent, then the component is
 				// recursively contained by this container
@@ -307,7 +307,7 @@
 	 * @return The component at the path
 	 */
 	@Override
-	public final Component<?> get(final String path)
+	public final Component get(final String path)
 	{
 		// Reference to this container
 		if (path == null || path.trim().equals(""))
@@ -319,7 +319,7 @@
 		final String id = Strings.firstPathComponent(path, Component.PATH_SEPARATOR);
 
 		// Get child by id
-		Component<?> child = children_get(id);
+		Component child = children_get(id);
 
 		// If the container is transparent, than ask its parent.
 		// ParentResolver does something quite similar, but because of <head>,
@@ -409,7 +409,7 @@
 	 * @throws IllegalArgumentException
 	 *             Thrown if a child with the same id is replaced by the add operation.
 	 */
-	public void internalAdd(final Component<?> child)
+	public void internalAdd(final Component child)
 	{
 		if (log.isDebugEnabled())
 		{
@@ -438,9 +438,9 @@
 	/**
 	 * @return Iterator that iterates through children in the order they were added
 	 */
-	public final Iterator<Component<?>> iterator()
+	public final Iterator<Component> iterator()
 	{
-		return new Iterator<Component<?>>()
+		return new Iterator<Component>()
 		{
 			int index = 0;
 
@@ -449,14 +449,14 @@
 				return index < children_size();
 			}
 
-			public Component<?> next()
+			public Component next()
 			{
 				return children_get(index++);
 			}
 
 			public void remove()
 			{
-				final Component<?> removed = children_remove(--index);
+				final Component removed = children_remove(--index);
 				checkHierarchyChange(removed);
 				removedComponent(removed);
 			}
@@ -469,9 +469,9 @@
 	 * @return Iterator that iterates over children in the order specified by comparator
 	 */
 	@SuppressWarnings("unchecked")
-	public final Iterator<Component<?>> iterator(Comparator<Component<?>> comparator)
+	public final Iterator<Component> iterator(Comparator<Component> comparator)
 	{
-		final List<Component<?>> sorted;
+		final List<Component> sorted;
 		if (children == null)
 		{
 			sorted = Collections.emptyList();
@@ -480,8 +480,8 @@
 		{
 			if (children instanceof Component)
 			{
-				sorted = new ArrayList<Component<?>>(1);
-				sorted.add((Component<?>)children);
+				sorted = new ArrayList<Component>(1);
+				sorted.add((Component)children);
 			}
 			else if (children instanceof ChildList)
 			{
@@ -489,7 +489,7 @@
 			}
 			else
 			{
-				sorted = Arrays.asList((Component<?>[])children);
+				sorted = Arrays.asList((Component[])children);
 			}
 		}
 		Collections.sort(sorted, comparator);
@@ -507,7 +507,7 @@
 	 *             throws an {@link IllegalStateException}
 	 */
 	// TODO remove after release 1.3.0
-	public final <C extends Component<?>> IResourceStream newMarkupResourceStream(
+	public final <C extends Component> IResourceStream newMarkupResourceStream(
 		Class<C> containerClass)
 	{
 		throw new IllegalStateException(
@@ -518,7 +518,7 @@
 	 * @param component
 	 *            Component to remove from this container
 	 */
-	public void remove(final Component<?> component)
+	public void remove(final Component component)
 	{
 		checkHierarchyChange(component);
 
@@ -544,7 +544,7 @@
 			throw new IllegalArgumentException("argument id may not be null");
 		}
 
-		final Component<?> component = get(id);
+		final Component component = get(id);
 		if (component != null)
 		{
 			remove(component);
@@ -587,7 +587,7 @@
 					for (int i = 0; i < size; i++)
 					{
 						// Get next child
-						final Component<?> child = children_get(i);
+						final Component child = children_get(i);
 						child.setParent(MarkupContainer.this);
 					}
 				}
@@ -601,7 +601,7 @@
 				if (childObject instanceof Component)
 				{
 					// Get next child
-					final Component<?> child = (Component<?>)childObject;
+					final Component child = (Component)childObject;
 
 					// Do not call remove() because the state change would than be
 					// recorded twice.
@@ -682,7 +682,7 @@
 	 *             Thrown if there was no child with the same id.
 	 * @return This
 	 */
-	public final MarkupContainer<T> replace(final Component<?> child)
+	public final MarkupContainer replace(final Component child)
 	{
 		checkHierarchyChange(child);
 
@@ -699,7 +699,7 @@
 		if (child.getParent() != this)
 		{
 			// Add to map
-			final Component<?> replaced = put(child);
+			final Component replaced = put(child);
 
 			// Look up to make sure it was already in the map
 			if (replaced == null)
@@ -729,15 +729,15 @@
 	 * @see org.apache.wicket.Component#setDefaultModel(org.apache.wicket.model.IModel)
 	 */
 	@Override
-	public MarkupContainer<T> setDefaultModel(final IModel<T> model)
+	public MarkupContainer setDefaultModel(final IModel<?> model)
 	{
 		final IModel<?> previous = getModelImpl();
 		super.setDefaultModel(model);
 		if (previous instanceof IComponentInheritedModel)
 		{
-			visitChildren(new IVisitor<Component<?>>()
+			visitChildren(new IVisitor<Component>()
 			{
-				public Object component(Component<?> component)
+				public Object component(Component component)
 				{
 					IModel<?> compModel = component.getDefaultModel();
 					if (compModel instanceof IWrapModel)
@@ -806,7 +806,7 @@
 				for (int i = 0; i < size; i++)
 				{
 					// Get next child
-					final Component<?> child = children_get(i);
+					final Component child = children_get(i);
 					if (i != 0)
 					{
 						buffer.append(' ');
@@ -836,7 +836,7 @@
 	 * @return The return value from a visitor which halted the traversal, or null if the entire
 	 *         traversal occurred
 	 */
-	public final <S extends Component<?>> Object visitChildren(final Class<?> clazz,
+	public final <S extends Component> Object visitChildren(final Class<?> clazz,
 		final IVisitor<S> visitor)
 
 	{
@@ -849,7 +849,7 @@
 		for (int i = 0; i < children_size(); i++)
 		{
 			// Get next child component
-			final Component<?> child = children_get(i);
+			final Component child = children_get(i);
 			Object value = null;
 
 			// Is the child of the correct class (or was no class specified)?
@@ -873,7 +873,7 @@
 				(value != IVisitor.CONTINUE_TRAVERSAL_BUT_DONT_GO_DEEPER))
 			{
 				// visit the children in the container
-				value = ((MarkupContainer<?>)child).visitChildren(clazz, visitor);
+				value = ((MarkupContainer)child).visitChildren(clazz, visitor);
 
 				// If visitor returns a non-null value, it halts the traversal
 				if ((value != IVisitor.CONTINUE_TRAVERSAL) &&
@@ -896,7 +896,7 @@
 	 * @return The return value from a visitor which halted the traversal, or null if the entire
 	 *         traversal occurred
 	 */
-	public final Object visitChildren(final IVisitor<Component<?>> visitor)
+	public final Object visitChildren(final IVisitor<Component> visitor)
 	{
 		return visitChildren(null, visitor);
 	}
@@ -905,7 +905,7 @@
 	 * @param component
 	 *            Component being added
 	 */
-	private final void addedComponent(final Component<?> component)
+	private final void addedComponent(final Component component)
 	{
 		// Check for degenerate case
 		if (component == this)
@@ -913,7 +913,7 @@
 			throw new IllegalArgumentException("Component can't be added to itself");
 		}
 
-		MarkupContainer<?> parent = component.getParent();
+		MarkupContainer parent = component.getParent();
 		if (parent != null)
 		{
 			parent.remove(component);
@@ -922,7 +922,7 @@
 		// Set child's parent
 		component.setParent(this);
 
-		final Page<?> page = findPage();
+		final Page page = findPage();
 
 		final IDebugSettings debugSettings = Application.get().getDebugSettings();
 		if (debugSettings.isLinePreciseReportingOnAddComponentEnabled())
@@ -949,7 +949,7 @@
 	 * @param child
 	 *            Child to add
 	 */
-	private final void children_add(final Component<?> child)
+	private final void children_add(final Component child)
 	{
 		if (children == null)
 		{
@@ -971,9 +971,9 @@
 	 * @param index
 	 * @return The child component
 	 */
-	private final Component<?> children_get(int index)
+	private final Component children_get(int index)
 	{
-		return (Component<?>)children_get(index, true);
+		return (Component)children_get(index, true);
 	}
 
 	/**
@@ -987,7 +987,7 @@
 	 * @param index
 	 * @return The object directly or the reconstructed component
 	 */
-	private final Object postprocess(Object object, boolean reconstruct, MarkupContainer<?> parent,
+	private final Object postprocess(Object object, boolean reconstruct, MarkupContainer parent,
 		int index)
 	{
 		if (reconstruct && object instanceof ComponentSourceEntry)
@@ -1053,7 +1053,7 @@
 	{
 		if (object instanceof Component)
 		{
-			return ((Component<?>)object).getId();
+			return ((Component)object).getId();
 		}
 		else if (object instanceof ComponentSourceEntry)
 		{
@@ -1070,18 +1070,18 @@
 	 * @param id
 	 * @return The child component
 	 */
-	private final Component<?> children_get(final String id)
+	private final Component children_get(final String id)
 	{
 		if (children == null)
 		{
 			return null;
 		}
-		Component<?> component = null;
+		Component component = null;
 		if ((children instanceof Object[] == false) && (children instanceof List == false))
 		{
 			if (getId(children).equals(id))
 			{
-				component = (Component<?>)postprocess(children, true, this, 0);
+				component = (Component)postprocess(children, true, this, 0);
 				if (children != component)
 				{
 					children = component;
@@ -1106,7 +1106,7 @@
 			{
 				if (getId(children[i]).equals(id))
 				{
-					component = (Component<?>)postprocess(children[i], true, this, i);
+					component = (Component)postprocess(children[i], true, this, i);
 					if (children[i] != component)
 					{
 						children[i] = component;
@@ -1123,7 +1123,7 @@
 	 * @param child
 	 * @return The index of the given child component
 	 */
-	private final int children_indexOf(Component<?> child)
+	private final int children_indexOf(Component child)
 	{
 		if (children == null)
 		{
@@ -1167,7 +1167,7 @@
 	 * @param component
 	 * @return The component that is removed.
 	 */
-	private final Component<?> children_remove(Component<?> component)
+	private final Component children_remove(Component component)
 	{
 		int index = children_indexOf(component);
 		if (index != -1)
@@ -1182,7 +1182,7 @@
 	 * @param index
 	 * @return The component that is removed
 	 */
-	private final Component<?> children_remove(int index)
+	private final Component children_remove(int index)
 	{
 		if (children == null)
 			return null;
@@ -1191,7 +1191,7 @@
 		{
 			if (index == 0)
 			{
-				final Component<?> removed = (Component<?>)postprocess(children, true, null, -1);
+				final Component removed = (Component)postprocess(children, true, null, -1);
 				children = null;
 				return removed;
 			}
@@ -1220,7 +1220,7 @@
 					{
 						throw new IndexOutOfBoundsException();
 					}
-					return (Component<?>)postprocess(removed, true, null, -1);
+					return (Component)postprocess(removed, true, null, -1);
 				}
 				children = new ChildList(children);
 			}
@@ -1231,7 +1231,7 @@
 			{
 				children = lst.get(0);
 			}
-			return (Component<?>)postprocess(removed, true, null, -1);
+			return (Component)postprocess(removed, true, null, -1);
 		}
 	}
 
@@ -1279,9 +1279,9 @@
 	 * @param child
 	 * @return The component that is replaced
 	 */
-	private final Component<?> children_set(int index, Component<?> child)
+	private final Component children_set(int index, Component child)
 	{
-		return (Component<?>)children_set(index, child, true);
+		return (Component)children_set(index, child, true);
 	}
 
 	/**
@@ -1315,7 +1315,7 @@
 	 *            The child to put into the map
 	 * @return Any component that was replaced
 	 */
-	private final Component<?> put(final Component<?> child)
+	private final Component put(final Component child)
 	{
 		int index = children_indexOf(child);
 		if (index == -1)
@@ -1333,10 +1333,10 @@
 	 * @param component
 	 *            Component being removed
 	 */
-	private final void removedComponent(final Component<?> component)
+	private final void removedComponent(final Component component)
 	{
 		// Notify Page that component is being removed
-		final Page<?> page = component.findPage();
+		final Page page = component.findPage();
 		if (page != null)
 		{
 			page.componentRemoved(component);
@@ -1369,7 +1369,7 @@
 			final String id = tag.getId();
 
 			// Get the component for the id from the given container
-			final Component<?> component = get(id);
+			final Component component = get(id);
 
 			// Failed to find it?
 			if (component != null)
@@ -1380,7 +1380,7 @@
 			{
 				// 2rd try: Components like Border and Panel might implement
 				// the ComponentResolver interface as well.
-				MarkupContainer<?> container = this;
+				MarkupContainer container = this;
 				while (container != null)
 				{
 					if (container instanceof IComponentResolver)
@@ -1449,7 +1449,7 @@
 	protected final MarkupStream findMarkupStream()
 	{
 		// Start here
-		MarkupContainer<?> c = this;
+		MarkupContainer c = this;
 
 		// Walk up hierarchy until markup found
 		while (c.getMarkupStream() == null)
@@ -1583,7 +1583,7 @@
 	 */
 	private static class ComponentSourceEntry extends org.apache.wicket.ComponentSourceEntry
 	{
-		private ComponentSourceEntry(MarkupContainer<?> container, Component<?> component,
+		private ComponentSourceEntry(MarkupContainer container, Component component,
 			IComponentSource componentSource)
 		{
 			super(container, component, componentSource);
@@ -1592,7 +1592,7 @@
 		private static final long serialVersionUID = 1L;
 
 		@Override
-		protected void setChild(MarkupContainer<?> parent, int index, Component<?> child)
+		protected void setChild(MarkupContainer parent, int index, Component child)
 		{
 			parent.children_set(index, child, false);
 		}
@@ -1612,7 +1612,7 @@
 			Object child = children_get(i, false);
 			if (child instanceof Component)
 			{
-				Component<?> component = (Component<?>)child;
+				Component component = (Component)child;
 				component.detach();
 
 				if (child instanceof IComponentSourceProvider)
@@ -1647,7 +1647,7 @@
 		final int size = children_size();
 		for (int i = 0; i < size; i++)
 		{
-			final Component<?> child = children_get(i);
+			final Component child = children_get(i);
 			child.internalMarkRendering();
 		}
 	}
@@ -1655,10 +1655,10 @@
 	/**
 	 * @return a copy of the children array.
 	 */
-	private Component<?>[] copyChildren()
+	private Component[] copyChildren()
 	{
 		int size = children_size();
-		Component<?> result[] = new Component[size];
+		Component result[] = new Component[size];
 		for (int i = 0; i < size; ++i)
 		{
 			result[i] = children_get(i);
@@ -1677,14 +1677,14 @@
 
 		// We need to copy the children list because the children components can
 		// modify the hierarchy in their onBeforeRender.
-		Component<?>[] children = copyChildren();
+		Component[] children = copyChildren();
 		try
 		{
 			// Loop through child components
 			for (int i = 0; i < children.length; i++)
 			{
 				// Get next child
-				final Component<?> child = children[i];
+				final Component child = children[i];
 
 				// Call begin request on the child
 				// We need to check whether the child's wasn't removed from the
@@ -1718,11 +1718,11 @@
 	void onAfterRenderChildren()
 	{
 		// Loop through child components
-		final Iterator<Component<?>> iter = iterator();
+		final Iterator<Component> iter = iterator();
 		while (iter.hasNext())
 		{
 			// Get next child
-			final Component<?> child = iter.next();
+			final Component child = iter.next();
 
 			// Call end request on the child
 			child.afterRender();
@@ -1746,9 +1746,9 @@
 	{
 		super.setRenderAllowed();
 
-		visitChildren(new IVisitor<Component<?>>()
+		visitChildren(new IVisitor<Component>()
 		{
-			public Object component(final Component<?> component)
+			public Object component(final Component component)
 			{
 				// Find out if this component can be rendered
 				final boolean renderAllowed = component.isActionAuthorized(RENDER);

Modified: wicket/sandbox/ivaynberg/generics/wicket/src/main/java/org/apache/wicket/MarkupFragmentFinder.java
URL: http://svn.apache.org/viewvc/wicket/sandbox/ivaynberg/generics/wicket/src/main/java/org/apache/wicket/MarkupFragmentFinder.java?rev=669560&r1=669559&r2=669560&view=diff
==============================================================================
--- wicket/sandbox/ivaynberg/generics/wicket/src/main/java/org/apache/wicket/MarkupFragmentFinder.java (original)
+++ wicket/sandbox/ivaynberg/generics/wicket/src/main/java/org/apache/wicket/MarkupFragmentFinder.java Thu Jun 19 09:52:58 2008
@@ -45,10 +45,10 @@
 	 * @param component
 	 * @return A MarkupStream which is positioned at the component
 	 */
-	final MarkupStream find(final Component<?> component)
+	final MarkupStream find(final Component component)
 	{
 		// Get the parent's associated markup stream.
-		MarkupContainer<?> parentWithAssociatedMarkup = component.findParentWithAssociatedMarkup();
+		MarkupContainer parentWithAssociatedMarkup = component.findParentWithAssociatedMarkup();
 		MarkupStream markupStream = null;
 
 		// Might be that we have to walk up the component hierarchy
@@ -82,7 +82,7 @@
 						else
 						{
 							// WICKET-1560
-							Component<?> parent = component.getParent();
+							Component parent = component.getParent();
 							if (parent instanceof AbstractRepeater && id != null &&
 								id.equals(parent.getId()))
 							{
@@ -111,7 +111,7 @@
 
 			if (parentWithAssociatedMarkup instanceof Fragment)
 			{
-				markupStream = ((Fragment<?>)parentWithAssociatedMarkup).findComponentIndex(component.getId());
+				markupStream = ((Fragment)parentWithAssociatedMarkup).findComponentIndex(component.getId());
 				return markupStream;
 			}
 
@@ -141,8 +141,8 @@
 	 * @param parentWithAssociatedMarkup
 	 * @return the relative path
 	 */
-	private String getComponentRelativePath(final Component<?> component,
-		final MarkupContainer<?> parentWithAssociatedMarkup)
+	private String getComponentRelativePath(final Component component,
+		final MarkupContainer parentWithAssociatedMarkup)
 	{
 		final String componentPath = component.getParent().getPageRelativePath();
 		final String parentWithAssociatedMarkupPath = parentWithAssociatedMarkup.getPageRelativePath();

Modified: wicket/sandbox/ivaynberg/generics/wicket/src/main/java/org/apache/wicket/Page.java
URL: http://svn.apache.org/viewvc/wicket/sandbox/ivaynberg/generics/wicket/src/main/java/org/apache/wicket/Page.java?rev=669560&r1=669559&r2=669560&view=diff
==============================================================================
--- wicket/sandbox/ivaynberg/generics/wicket/src/main/java/org/apache/wicket/Page.java (original)
+++ wicket/sandbox/ivaynberg/generics/wicket/src/main/java/org/apache/wicket/Page.java Thu Jun 19 09:52:58 2008
@@ -79,13 +79,13 @@
  * contain any arbitrary tree of Components. For more details on MarkupContainers, see
  * {@link org.apache.wicket.MarkupContainer}.
  * 
- * <li><b>Bookmarkable Pages </b>- Pages can be constructed with any constructor when they are
- * being used in a Wicket session, but if you wish to link to a Page using a URL that is
- * "bookmarkable" (which implies that the URL will not have any session information encoded in it,
- * and that you can call this page directly without having a session first directly from your
- * browser), you need to implement your Page with a no-arg constructor or with a constructor that
- * accepts a PageParameters argument (which wraps any query string parameters for a request). In
- * case the page has both constructors, the constructor with PageParameters will be used.
+ * <li><b>Bookmarkable Pages </b>- Pages can be constructed with any constructor when they are being
+ * used in a Wicket session, but if you wish to link to a Page using a URL that is "bookmarkable"
+ * (which implies that the URL will not have any session information encoded in it, and that you can
+ * call this page directly without having a session first directly from your browser), you need to
+ * implement your Page with a no-arg constructor or with a constructor that accepts a PageParameters
+ * argument (which wraps any query string parameters for a request). In case the page has both
+ * constructors, the constructor with PageParameters will be used.
  * 
  * <li><b>Models </b>- Pages, like other Components, can have models (see {@link IModel}). A Page
  * can be assigned a model by passing one to the Page's constructor, by overriding initModel() or
@@ -104,8 +104,7 @@
  * version manager will be installed using the {@link ISessionStore}'s factory method
  * newVersionManager().
  * 
- * <li><b>Security </b>- See {@link IAuthorizationStrategy},
- * {@link SimplePageAuthorizationStrategy}
+ * <li><b>Security </b>- See {@link IAuthorizationStrategy}, {@link SimplePageAuthorizationStrategy}
  * 
  * @see org.apache.wicket.markup.html.WebPage
  * @see org.apache.wicket.MarkupContainer
@@ -123,10 +122,7 @@
  * @param <T>
  *            The model object type
  */
-public abstract class Page<T> extends MarkupContainer<T>
-	implements
-		IRedirectListener,
-		IPageMapEntry
+public abstract class Page extends MarkupContainer implements IRedirectListener, IPageMapEntry
 {
 	/**
 	 * You can set implementation of the interface in the {@link Page#serializer} then that
@@ -150,7 +146,7 @@
 		 * @throws ClassNotFoundException
 		 * 
 		 */
-		public void deserializePage(int id, String name, Page<?> page, ObjectInputStream stream)
+		public void deserializePage(int id, String name, Page page, ObjectInputStream stream)
 			throws IOException, ClassNotFoundException;
 
 		/**
@@ -163,7 +159,7 @@
 		 * @throws IOException
 		 */
 
-		public void serializePage(Page<?> page, ObjectOutputStream stream) throws IOException;
+		public void serializePage(Page page, ObjectOutputStream stream) throws IOException;
 
 		/**
 		 * Returns object to be serialized instead of given page (called from writeReplace).
@@ -171,7 +167,7 @@
 		 * @param serializedPage
 		 * @return object to be serialized instead of page (or the page instance itself)
 		 */
-		public Object getPageReplacementObject(Page<?> serializedPage);
+		public Object getPageReplacementObject(Page serializedPage);
 	}
 
 	/**
@@ -218,7 +214,7 @@
 	private String pageMapName;
 
 	/** Set of components that rendered if component use checking is enabled */
-	private transient Set<Component<?>> 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
@@ -227,7 +223,7 @@
 	private transient Boolean stateless = null;
 
 	/** Version manager for this page */
-	private IPageVersionManager<T> versionManager;
+	private IPageVersionManager versionManager;
 
 	/** The page parameters object hat constructed this page */
 	private PageParameters parameters;
@@ -250,7 +246,7 @@
 	 *            See Component
 	 * @see Component#Component(String, IModel)
 	 */
-	protected Page(final IModel<T> model)
+	protected Page(final IModel<?> model)
 	{
 		// A Page's id is not determined until setId is called when the Page is
 		// added to a PageMap in the Session.
@@ -281,7 +277,7 @@
 	 *            See Component
 	 * @see Component#Component(String, IModel)
 	 */
-	protected Page(final IPageMap pageMap, final IModel<T> model)
+	protected Page(final IPageMap pageMap, final IModel<?> model)
 	{
 		// A Page's id is not determined until setId is called when the Page is
 		// added to a PageMap in the Session.
@@ -347,7 +343,7 @@
 	// IComponentInstantiationListener
 	// that forwards to IAuthorizationStrategy for RequestListenerInterface
 	// invocations.
-	public void afterCallComponent(final Component<?> component,
+	public void afterCallComponent(final Component component,
 		final RequestListenerInterface listener)
 	{
 	}
@@ -368,7 +364,7 @@
 	// IComponentInstantiationListener
 	// that forwards to IAuthorizationStrategy for RequestListenerInterface
 	// invocations.
-	public void beforeCallComponent(final Component<?> component,
+	public void beforeCallComponent(final Component component,
 		final RequestListenerInterface listener)
 	{
 	}
@@ -379,14 +375,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<Component<?>>();
+				renderedComponents = new HashSet<Component>();
 			}
 			if (renderedComponents.add(component) == false)
 			{
@@ -421,17 +417,17 @@
 	/**
 	 * THIS METHOD IS NOT PART OF THE WICKET PUBLIC API. DO NOT CALL.
 	 * 
-	 * This method is called when a component was rendered standalone. If it is a
-	 * <code>MarkupContainer</code> then the rendering for that container is checked.
+	 * This method is called when a component was rendered standalone. If it is a <code>
+	 * MarkupContainer</code> then the rendering for that container is checked.
 	 * 
 	 * @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
 		{
@@ -501,9 +497,9 @@
 	 * @see org.apache.wicket.session.pagemap.IPageMapEntry#getPageClass()
 	 */
 	@SuppressWarnings("unchecked")
-	public final Class<? extends Page<?>> getPageClass()
+	public final Class<? extends Page> getPageClass()
 	{
-		return (Class<? extends Page<?>>)getClass();
+		return getClass();
 	}
 
 	/**
@@ -570,7 +566,7 @@
 	 * @return A Page object with the component/model hierarchy that was attached to this page at
 	 *         the time represented by the requested version.
 	 */
-	public Page<T> getVersion(final int versionNumber)
+	public Page getVersion(final int versionNumber)
 	{
 		// If we're still the original Page and that's what's desired
 		if (versionManager == null)
@@ -599,7 +595,7 @@
 				setFlag(FLAG_TRACK_CHANGES, false);
 
 				// Get page of desired version
-				final Page<T> page;
+				final Page page;
 				if (versionNumber != LATEST_VERSION)
 				{
 					page = versionManager.getVersion(versionNumber);
@@ -642,12 +638,12 @@
 	{
 		final StringBuffer buffer = new StringBuffer();
 		buffer.append("Page " + getId() + " (version " + getCurrentVersionNumber() + ")");
-		visitChildren(new IVisitor<Component<?>>()
+		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++;
 				}
@@ -761,9 +757,9 @@
 		if (stateless == null)
 		{
 			final Object[] returnArray = new Object[1];
-			Object returnValue = visitChildren(Component.class, new IVisitor<Component<?>>()
+			Object returnValue = visitChildren(Component.class, new IVisitor<Component>()
 			{
-				public Object component(Component<?> component)
+				public Object component(Component component)
 				{
 					if (!component.isStateless())
 					{
@@ -830,9 +826,9 @@
 		}
 
 		// Visit all children which are an instance of formClass
-		visitChildren(formClass, new IVisitor<Component<?>>()
+		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)
@@ -909,9 +905,9 @@
 		// clean up debug meta data if component check is on
 		if (Application.get().getDebugSettings().getComponentUseCheck())
 		{
-			visitChildren(new IVisitor<Component<?>>()
+			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);
@@ -939,9 +935,9 @@
 	 *            to rollback
 	 * @return rollbacked page instance
 	 */
-	public final Page<T> rollbackPage(int numberOfVersions)
+	public final Page rollbackPage(int numberOfVersions)
 	{
-		Page<T> page = this;
+		Page page = this;
 		if (versionManager != null)
 		{
 			page = versionManager.rollbackPage(numberOfVersions);
@@ -991,7 +987,7 @@
 	 * @param component
 	 * 
 	 */
-	public final void startComponentRender(Component<?> component)
+	public final void startComponentRender(Component component)
 	{
 		renderedComponents = null;
 	}
@@ -1024,18 +1020,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<Component<?>> unrenderedComponents = new ArrayList<Component<?>>();
+			final List<Component> unrenderedComponents = new ArrayList<Component>();
 			final StringBuffer buffer = new StringBuffer();
-			renderedContainer.visitChildren(new IVisitor<Component<?>>()
+			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))
@@ -1078,21 +1074,21 @@
 				// Get rid of set
 				renderedComponents = null;
 
-				Iterator<Component<?>> iterator = unrenderedComponents.iterator();
+				Iterator<Component> iterator = unrenderedComponents.iterator();
 
 				while (iterator.hasNext())
 				{
-					Component<?> component = iterator.next();
+					Component component = iterator.next();
 					// Now first test if the component has a sibling that is a transparent resolver.
 
-					Iterator<Component<?>> iterator2 = component.getParent().iterator();
+					Iterator<Component> iterator2 = component.getParent().iterator();
 					while (iterator2.hasNext())
 					{
-						Component<?> sibling = 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)
 							{
@@ -1222,7 +1218,7 @@
 	 * @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);
@@ -1272,7 +1268,7 @@
 	 * @param component
 	 * @param parent
 	 */
-	protected void componentChanged(Component<?> component, MarkupContainer<?> parent)
+	protected void componentChanged(Component component, MarkupContainer parent)
 	{
 	}
 
@@ -1389,9 +1385,9 @@
 	@Override
 	protected final void internalOnModelChanged()
 	{
-		visitChildren(new Component.IVisitor<Component<?>>()
+		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))
@@ -1424,7 +1420,7 @@
 	 * @deprecated TODO Remove in 1.4
 	 */
 	@Deprecated
-	protected final IPageVersionManager<T> newVersionManager()
+	protected final IPageVersionManager newVersionManager()
 	{
 		return null;
 	}
@@ -1489,7 +1485,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()))
@@ -1504,7 +1500,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))
@@ -1524,7 +1520,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()))
@@ -1538,7 +1534,7 @@
 	 * @param component
 	 * @param change
 	 */
-	final void componentStateChanging(final Component<?> component, Change change)
+	final void componentStateChanging(final Component component, Change change)
 	{
 		dirty();
 		if (mayTrackChangesFor(component, null))
@@ -1554,10 +1550,10 @@
 	final void setFormComponentValuesFromCookies()
 	{
 		// Visit all Forms contained in the page
-		visitChildren(Form.class, new Component.IVisitor<Component<?>>()
+		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();
 				return CONTINUE_TRAVERSAL;

Modified: wicket/sandbox/ivaynberg/generics/wicket/src/main/java/org/apache/wicket/PageMap.java
URL: http://svn.apache.org/viewvc/wicket/sandbox/ivaynberg/generics/wicket/src/main/java/org/apache/wicket/PageMap.java?rev=669560&r1=669559&r2=669560&view=diff
==============================================================================
--- wicket/sandbox/ivaynberg/generics/wicket/src/main/java/org/apache/wicket/PageMap.java (original)
+++ wicket/sandbox/ivaynberg/generics/wicket/src/main/java/org/apache/wicket/PageMap.java Thu Jun 19 09:52:58 2008
@@ -148,7 +148,7 @@
 	/**
 	 * @see org.apache.wicket.IPageMap#get(int, int)
 	 */
-	public abstract Page<?> get(final int id, int versionNumber);
+	public abstract Page get(final int id, int versionNumber);
 
 	/**
 	 * @see org.apache.wicket.IPageMap#getEntry(int)
@@ -186,7 +186,7 @@
 			IPageMapEntry entry = it.next();
 			if (entry instanceof Page)
 			{
-				size += ((Page<?>)entry).getSizeInBytes();
+				size += ((Page)entry).getSizeInBytes();
 			}
 			else
 			{
@@ -216,7 +216,7 @@
 	/**
 	 * @see org.apache.wicket.IPageMap#put(org.apache.wicket.Page)
 	 */
-	public abstract void put(final Page<?> page);
+	public abstract void put(final Page page);
 
 	/**
 	 * Redirects browser to an intermediate page such as a sign-in page. The current request's URL
@@ -227,7 +227,7 @@
 	 * @param pageClazz
 	 *            The page clazz to temporarily redirect to
 	 */
-	public final <T extends Page<?>> void redirectToInterceptPage(final Class<T> pageClazz)
+	public final <T extends Page> void redirectToInterceptPage(final Class<T> pageClazz)
 	{
 		final RequestCycle cycle = RequestCycle.get();
 		setUpRedirect(cycle);
@@ -243,7 +243,7 @@
 	 * @param page
 	 *            The page to temporarily redirect to
 	 */
-	public final void redirectToInterceptPage(final Page<?> page)
+	public final void redirectToInterceptPage(final Page page)
 	{
 		final RequestCycle cycle = RequestCycle.get();
 		setUpRedirect(cycle);
@@ -292,7 +292,7 @@
 	/**
 	 * @see org.apache.wicket.IPageMap#remove(org.apache.wicket.Page)
 	 */
-	public final void remove(final Page<?> page)
+	public final void remove(final Page page)
 	{
 		// Remove the pagemap entry from session
 		removeEntry(page.getPageMapEntry());

Modified: wicket/sandbox/ivaynberg/generics/wicket/src/main/java/org/apache/wicket/Request.java
URL: http://svn.apache.org/viewvc/wicket/sandbox/ivaynberg/generics/wicket/src/main/java/org/apache/wicket/Request.java?rev=669560&r1=669559&r2=669560&view=diff
==============================================================================
--- wicket/sandbox/ivaynberg/generics/wicket/src/main/java/org/apache/wicket/Request.java (original)
+++ wicket/sandbox/ivaynberg/generics/wicket/src/main/java/org/apache/wicket/Request.java Thu Jun 19 09:52:58 2008
@@ -36,7 +36,7 @@
 public abstract class Request
 {
 	/** Any Page decoded for this request */
-	private Page<?> page;
+	private Page page;
 
 	/** the type safe request parameters object for this request. */
 	private RequestParameters requestParameters;
@@ -69,7 +69,7 @@
 	/**
 	 * @return Any Page for this request
 	 */
-	public Page<?> getPage()
+	public Page getPage()
 	{
 		return page;
 	}
@@ -201,7 +201,7 @@
 	 * @param page
 	 *            The Page for this request
 	 */
-	public void setPage(final Page<?> page)
+	public void setPage(final Page page)
 	{
 		this.page = page;
 	}