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

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

Author: jcompagner
Date: Tue Apr  8 11:10:20 2008
New Revision: 646020

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

Removed:
    wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/util/concurrent/
Modified:
    wicket/trunk/jdk-1.4/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/AjaxEditableLabel.java
    wicket/trunk/jdk-1.4/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/AjaxEditableMultiLineLabel.java
    wicket/trunk/jdk-1.4/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/AutoCompleteTextField.java
    wicket/trunk/jdk-1.4/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/form/upload/UploadProgressBar.java
    wicket/trunk/jdk-1.4/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/grid/AbstractDataGridView.java
    wicket/trunk/jdk-1.4/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/grid/DataGridView.java
    wicket/trunk/jdk-1.4/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/grid/ICellPopulator.java
    wicket/trunk/jdk-1.4/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/sort/OrderByLink.java
    wicket/trunk/jdk-1.4/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/table/DataTable.java
    wicket/trunk/jdk-1.4/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/table/IColumn.java
    wicket/trunk/jdk-1.4/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/table/filter/FilterForm.java
    wicket/trunk/jdk-1.4/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/table/filter/FilterStateModel.java
    wicket/trunk/jdk-1.4/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/tree/table/TreeTable.java
    wicket/trunk/jdk-1.4/wicket-extensions/src/main/java/org/apache/wicket/extensions/model/AbstractCheckBoxModel.java
    wicket/trunk/jdk-1.4/wicket-ioc/src/main/java/org/apache/wicket/injection/Injector.java
    wicket/trunk/jdk-1.4/wicket-velocity/src/test/java/org/apache/wicket/contrib/velocity/VelocityJavascriptPage.java
    wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/Application.java
    wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/Component.java
    wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/IConverterLocator.java
    wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/Localizer.java
    wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/MarkupContainer.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/RequestCycle.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/ajax/markup/html/AjaxLink.java
    wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/ajax/markup/html/form/AjaxButton.java
    wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/ajax/markup/html/form/AjaxFallbackButton.java
    wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/ajax/markup/html/form/AjaxSubmitLink.java
    wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/application/DefaultClassResolver.java
    wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/application/IClassResolver.java
    wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/feedback/FeedbackMessages.java
    wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/ComponentTag.java
    wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/IMarkupCache.java
    wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/MarkupCache.java
    wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/html/WebComponent.java
    wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/html/WebMarkupContainer.java
    wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/html/WebMarkupContainerWithAssociatedMarkup.java
    wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/html/basic/Label.java
    wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/html/basic/MultiLineLabel.java
    wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/html/border/Border.java
    wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/html/form/AbstractChoice.java
    wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/html/form/AbstractSingleSelectChoice.java
    wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/html/form/AbstractSubmitLink.java
    wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/html/form/AbstractTextComponent.java
    wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/html/form/Button.java
    wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/html/form/Check.java
    wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/html/form/CheckBox.java
    wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/html/form/CheckBoxMultipleChoice.java
    wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/html/form/CheckGroup.java
    wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/html/form/CheckGroupSelector.java
    wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/html/form/ChoiceRenderer.java
    wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/html/form/DropDownChoice.java
    wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/html/form/Form.java
    wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/html/form/FormComponent.java
    wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/html/form/FormComponentPanel.java
    wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/html/form/HiddenField.java
    wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/html/form/IChoiceRenderer.java
    wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/html/form/ImageButton.java
    wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/html/form/LabeledWebMarkupContainer.java
    wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/html/form/ListChoice.java
    wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/html/form/ListMultipleChoice.java
    wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/html/form/PasswordTextField.java
    wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/html/form/Radio.java
    wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/html/form/RadioChoice.java
    wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/html/form/RadioGroup.java
    wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/html/form/RequiredTextField.java
    wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/html/form/StatelessForm.java
    wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/html/form/SubmitLink.java
    wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/html/form/TextArea.java
    wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/html/form/TextField.java
    wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/html/form/upload/FileUploadField.java
    wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/html/form/upload/MultiFileUploadField.java
    wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/html/image/Image.java
    wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/html/link/AbstractLink.java
    wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/html/link/BookmarkablePageLink.java
    wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/html/link/ExternalLink.java
    wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/html/link/Link.java
    wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/html/link/StatelessLink.java
    wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/html/list/ListItem.java
    wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/html/list/ListItemModel.java
    wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/html/list/ListView.java
    wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/html/list/Loop.java
    wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/html/panel/FeedbackPanel.java
    wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/html/panel/Panel.java
    wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/html/resources/PackagedResourceReference.java
    wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/repeater/AbstractPageableView.java
    wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/repeater/AbstractRepeater.java
    wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/repeater/IItemFactory.java
    wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/repeater/IItemReuseStrategy.java
    wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/repeater/Item.java
    wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/repeater/RefreshingView.java
    wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/repeater/RepeatingView.java
    wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/repeater/data/DataViewBase.java
    wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/repeater/data/IDataProvider.java
    wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/repeater/util/ArrayIteratorAdapter.java
    wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/model/AbstractPropertyModel.java
    wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/model/AbstractReadOnlyModel.java
    wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/model/AbstractWrapModel.java
    wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/model/ComponentDetachableModel.java
    wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/model/ComponentPropertyModel.java
    wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/model/CompoundPropertyModel.java
    wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/model/IChainingModel.java
    wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/model/IComponentAssignedModel.java
    wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/model/IComponentInheritedModel.java
    wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/model/IModel.java
    wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/model/IModelComparator.java
    wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/model/IObjectClassAwareModel.java
    wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/model/IWrapModel.java
    wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/model/LoadableDetachableModel.java
    wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/model/Model.java
    wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/model/PropertyModel.java
    wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/protocol/http/IRequestLogger.java
    wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/protocol/http/RequestLogger.java
    wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/protocol/http/pagestore/DiskPageStore.java
    wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/resource/PropertiesFactory.java
    wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/session/DefaultPageFactory.java
    wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/settings/IApplicationSettings.java
    wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/util/convert/converters/AbstractDecimalConverter.java
    wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/util/convert/converters/AbstractIntegerConverter.java
    wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/util/lang/EnumeratedType.java
    wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/util/lang/PropertyResolver.java
    wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/util/template/PackagedTextTemplate.java
    wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/util/time/TimeMap.java
    wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/util/watch/ModificationWatcher.java
    wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/markup/html/link/BookmarkableThrowsInterceptPage.java
    wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/util/convert/converters/ConvertersTest.java

Modified: wicket/trunk/jdk-1.4/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/AjaxEditableLabel.java
URL: http://svn.apache.org/viewvc/wicket/trunk/jdk-1.4/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/AjaxEditableLabel.java?rev=646020&r1=646019&r2=646020&view=diff
==============================================================================
--- wicket/trunk/jdk-1.4/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/AjaxEditableLabel.java (original)
+++ wicket/trunk/jdk-1.4/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/AjaxEditableLabel.java Tue Apr  8 11:10:20 2008
@@ -26,6 +26,7 @@
 import org.apache.wicket.ajax.AjaxRequestTarget;
 import org.apache.wicket.markup.ComponentTag;
 import org.apache.wicket.markup.MarkupStream;
+import org.apache.wicket.markup.html.WebComponent;
 import org.apache.wicket.markup.html.basic.Label;
 import org.apache.wicket.markup.html.form.FormComponent;
 import org.apache.wicket.markup.html.form.TextField;
@@ -50,11 +51,11 @@
  * <li>{@link #onError(AjaxRequestTarget)} is called when in edit mode, the user submitted new
  * content, but that content did not validate. Get the current input by calling
  * {@link FormComponent#getInput()} on {@link #getEditor()}, and the error message by calling:
- *
+ * 
  * <pre>
  * String errorMessage = editor.getFeedbackMessage().getMessage();
  * </pre>
- *
+ * 
  * The default implementation of this method displays the error message in
  * <code>window.status</code>, redisplays the editor, selects the editor's content and sets the
  * focus on it.
@@ -63,20 +64,23 @@
  * without any further action.</li>
  * </ul>
  * </p>
- *
+ * 
  * @author Igor Vaynberg (ivaynberg)
  * @author Eelco Hillenius
+ * 
+ * @param <T>
+ *            The model object type
  */
 // TODO wonder if it makes sense to refactor this into a formcomponentpanel
-public class AjaxEditableLabel extends Panel
+public class AjaxEditableLabel<T> extends Panel<T>
 {
 	private static final long serialVersionUID = 1L;
 
 	/** editor component. */
-	private FormComponent editor;
+	private FormComponent<T> editor;
 
 	/** label component. */
-	private Component label;
+	private WebComponent<T> label;
 
 	protected class EditorAjaxBehavior extends AbstractDefaultAjaxBehavior
 	{
@@ -90,6 +94,7 @@
 		{
 		}
 
+		@Override
 		protected void onComponentTag(ComponentTag tag)
 		{
 			super.onComponentTag(tag);
@@ -111,6 +116,7 @@
 
 		}
 
+		@Override
 		protected void respond(AjaxRequestTarget target)
 		{
 			RequestCycle requestCycle = RequestCycle.get();
@@ -143,7 +149,7 @@
 
 		/**
 		 * Construct.
-		 *
+		 * 
 		 * @param event
 		 */
 		public LabelAjaxBehavior(String event)
@@ -151,6 +157,7 @@
 			super(event);
 		}
 
+		@Override
 		protected void onEvent(AjaxRequestTarget target)
 		{
 			onEdit(target);
@@ -159,7 +166,7 @@
 
 	/**
 	 * Constructor
-	 *
+	 * 
 	 * @param id
 	 */
 	public AjaxEditableLabel(String id)
@@ -170,11 +177,11 @@
 
 	/**
 	 * Constructor
-	 *
+	 * 
 	 * @param id
 	 * @param model
 	 */
-	public AjaxEditableLabel(String id, IModel model)
+	public AjaxEditableLabel(String id, IModel<T> model)
 	{
 		super(id, model);
 		setOutputMarkupId(true);
@@ -185,12 +192,12 @@
 	 * Validators can be added. Either add this Component to its parent (already having a Model), or
 	 * provide one before this call via constructor {@link #AjaxEditableLabel(String,IModel)} or
 	 * {@link #setModel(IModel)}.
-	 *
+	 * 
 	 * @param validator
 	 *            The validator
 	 * @return This
 	 */
-	public final AjaxEditableLabel add(IValidator validator)
+	public final AjaxEditableLabel<T> add(IValidator validator)
 	{
 		getEditor().add(validator);
 		return this;
@@ -202,10 +209,11 @@
 	 * they should use a converter like they normally would (when this method returns null), or
 	 * whether they should use a custom converter (when this method is overridden and returns not
 	 * null).
-	 *
+	 * 
 	 * @see org.apache.wicket.Component#getConverter(java.lang.Class)
 	 */
-	public IConverter getConverter(Class type)
+	@Override
+	public IConverter getConverter(Class< ? > type)
 	{
 		return null;
 	}
@@ -213,11 +221,11 @@
 	/**
 	 * The value will be made available to the validator property by means of ${label}. It does not
 	 * have any specific meaning to FormComponent itself.
-	 *
+	 * 
 	 * @param labelModel
 	 * @return this for chaining
 	 */
-	public final AjaxEditableLabel setLabel(final IModel labelModel)
+	public final AjaxEditableLabel<T> setLabel(final IModel<T> labelModel)
 	{
 		getEditor().setLabel(labelModel);
 		return this;
@@ -226,7 +234,8 @@
 	/**
 	 * @see org.apache.wicket.MarkupContainer#setModel(org.apache.wicket.model.IModel)
 	 */
-	public final Component setModel(IModel model)
+	@Override
+	public final AjaxEditableLabel<T> setModel(IModel<T> model)
 	{
 		super.setModel(model);
 		getLabel().setModel(model);
@@ -236,11 +245,11 @@
 
 	/**
 	 * Sets the required flag
-	 *
+	 * 
 	 * @param required
 	 * @return this for chaining
 	 */
-	public final AjaxEditableLabel setRequired(final boolean required)
+	public final AjaxEditableLabel<T> setRequired(final boolean required)
 	{
 		getEditor().setRequired(required);
 		return this;
@@ -249,11 +258,11 @@
 	/**
 	 * Sets the type that will be used when updating the model for this component. If no type is
 	 * specified String type is assumed.
-	 *
+	 * 
 	 * @param type
 	 * @return this for chaining
 	 */
-	public final AjaxEditableLabel setType(Class type)
+	public final AjaxEditableLabel<T> setType(Class<T> type)
 	{
 		getEditor().setType(type);
 		return this;
@@ -261,7 +270,7 @@
 
 	/**
 	 * Create a new form component instance to serve as editor.
-	 *
+	 * 
 	 * @param parent
 	 *            The parent component
 	 * @param componentId
@@ -270,24 +279,27 @@
 	 *            The model
 	 * @return The editor
 	 */
-	protected FormComponent newEditor(MarkupContainer parent, String componentId, IModel model)
+	protected FormComponent<T> newEditor(MarkupContainer parent, String componentId, IModel<T> model)
 	{
-		TextField editor = new TextField(componentId, model)
+		TextField<T> editor = new TextField<T>(componentId, model)
 		{
 			private static final long serialVersionUID = 1L;
 
-			public IConverter getConverter(Class type)
+			@Override
+			public IConverter getConverter(Class< ? > type)
 			{
 				IConverter c = AjaxEditableLabel.this.getConverter(type);
 				return c != null ? c : super.getConverter(type);
 			}
 
+			@Override
 			protected void onModelChanged()
 			{
 				super.onModelChanged();
 				AjaxEditableLabel.this.onModelChanged();
 			}
 
+			@Override
 			protected void onModelChanging()
 			{
 				super.onModelChanging();
@@ -302,7 +314,7 @@
 
 	/**
 	 * Create a new form component instance to serve as label.
-	 *
+	 * 
 	 * @param parent
 	 *            The parent component
 	 * @param componentId
@@ -311,18 +323,20 @@
 	 *            The model
 	 * @return The editor
 	 */
-	protected Component newLabel(MarkupContainer parent, String componentId, IModel model)
+	protected WebComponent<T> newLabel(MarkupContainer parent, String componentId, IModel<T> model)
 	{
-		Label label = new Label(componentId, model)
+		Label<T> label = new Label<T>(componentId, model)
 		{
 			private static final long serialVersionUID = 1L;
 
-			public IConverter getConverter(Class type)
+			@Override
+			public IConverter getConverter(Class< ? > type)
 			{
 				IConverter c = AjaxEditableLabel.this.getConverter(type);
 				return c != null ? c : super.getConverter(type);
 			}
 
+			@Override
 			protected void onComponentTagBody(MarkupStream markupStream, ComponentTag openTag)
 			{
 				Object modelObject = getModelObject();
@@ -344,7 +358,7 @@
 	/**
 	 * By default this returns "onclick" uses can overwrite this on which event the label behavior
 	 * should be triggered
-	 *
+	 * 
 	 * @return The event name
 	 */
 	protected String getLabelAjaxEvent()
@@ -355,10 +369,10 @@
 
 	/**
 	 * Gets the editor component.
-	 *
+	 * 
 	 * @return The editor component
 	 */
-	protected final FormComponent getEditor()
+	protected final FormComponent<T> getEditor()
 	{
 		if (editor == null)
 		{
@@ -369,10 +383,10 @@
 
 	/**
 	 * Gets the label component.
-	 *
+	 * 
 	 * @return The label component
 	 */
-	protected final Component getLabel()
+	protected final WebComponent<T> getLabel()
 	{
 		if (label == null)
 		{
@@ -384,6 +398,7 @@
 	/**
 	 * @see org.apache.wicket.Component#onBeforeRender()
 	 */
+	@Override
 	protected void onBeforeRender()
 	{
 		super.onBeforeRender();
@@ -398,7 +413,7 @@
 	/**
 	 * Invoked when the label is in edit mode, and received a cancel event. Typically, nothing
 	 * should be done here.
-	 *
+	 * 
 	 * @param target
 	 *            the ajax request target
 	 */
@@ -411,7 +426,7 @@
 
 	/**
 	 * Called when the label is clicked and the component is put in edit mode.
-	 *
+	 * 
 	 * @param target
 	 *            Ajax target
 	 */
@@ -431,7 +446,7 @@
 
 	/**
 	 * Invoked when the label is in edit mode, received a new input, but that input didn't validate
-	 *
+	 * 
 	 * @param target
 	 *            the ajax request target
 	 */
@@ -453,7 +468,7 @@
 	 * Invoked when the editor was successfully updated. Use this method e.g. to persist the changed
 	 * value. This implementation displays the label and clears any window status that might have
 	 * been set in onError.
-	 *
+	 * 
 	 * @param target
 	 *            The ajax request target
 	 */
@@ -468,11 +483,11 @@
 
 	/**
 	 * Lazy initialization of the label and editor components and set tempModel to null.
-	 *
+	 * 
 	 * @param model
 	 *            The model for the label and editor
 	 */
-	private void initLabelAndEditor(IModel model)
+	private void initLabelAndEditor(IModel<T> model)
 	{
 		editor = newEditor(this, "editor", model);
 		label = newLabel(this, "label", model);
@@ -483,13 +498,13 @@
 	/**
 	 * @return Gets the parent model in case no explicit model was specified.
 	 */
-	private IModel getParentModel()
+	private IModel<T> getParentModel()
 	{
 		// the #getModel() call below will resolve and assign any inheritable
 		// model this component can use. Set that directly to the label and
 		// editor so that those components work like this enclosing panel
 		// does not exist (must have that e.g. with CompoundPropertyModels)
-		IModel m = getModel();
+		IModel<T> m = getModel();
 
 		// check that a model was found
 		if (m == null)
@@ -512,7 +527,7 @@
 	/**
 	 * Override this to display a different value when the model object is null. Default is
 	 * <code>...</code>
-	 *
+	 * 
 	 * @return The string which should be displayed when the model object is null.
 	 */
 	protected String defaultNullLabel()
@@ -522,9 +537,10 @@
 
 	/**
 	 * Dummy override to fix WICKET-1239
-	 *
+	 * 
 	 * @see org.apache.wicket.Component#onModelChanged()
 	 */
+	@Override
 	protected void onModelChanged()
 	{
 		super.onModelChanged();
@@ -532,9 +548,10 @@
 
 	/**
 	 * Dummy override to fix WICKET-1239
-	 *
+	 * 
 	 * @see org.apache.wicket.Component#onModelChanging()
 	 */
+	@Override
 	protected void onModelChanging()
 	{
 		super.onModelChanging();

Modified: wicket/trunk/jdk-1.4/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/AjaxEditableMultiLineLabel.java
URL: http://svn.apache.org/viewvc/wicket/trunk/jdk-1.4/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/AjaxEditableMultiLineLabel.java?rev=646020&r1=646019&r2=646020&view=diff
==============================================================================
--- wicket/trunk/jdk-1.4/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/AjaxEditableMultiLineLabel.java (original)
+++ wicket/trunk/jdk-1.4/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/AjaxEditableMultiLineLabel.java Tue Apr  8 11:10:20 2008
@@ -17,7 +17,6 @@
 package org.apache.wicket.extensions.ajax.markup.html;
 
 import org.apache.wicket.AttributeModifier;
-import org.apache.wicket.Component;
 import org.apache.wicket.MarkupContainer;
 import org.apache.wicket.markup.ComponentTag;
 import org.apache.wicket.markup.MarkupStream;
@@ -32,8 +31,11 @@
  * content and a {@link TextArea text area} as its editor.
  * 
  * @author eelcohillenius
+ * 
+ * @param <T>
+ *            Model object type
  */
-public class AjaxEditableMultiLineLabel extends AjaxEditableLabel
+public class AjaxEditableMultiLineLabel<T> extends AjaxEditableLabel<T>
 {
 	private static final long serialVersionUID = 1L;
 
@@ -62,7 +64,7 @@
 	 * @param model
 	 *            The model
 	 */
-	public AjaxEditableMultiLineLabel(String id, IModel model)
+	public AjaxEditableMultiLineLabel(String id, IModel<T> model)
 	{
 		super(id, model);
 	}
@@ -71,12 +73,14 @@
 	 * @see org.apache.wicket.extensions.ajax.markup.html.AjaxEditableLabel#newLabel(org.apache.wicket.MarkupContainer,
 	 *      java.lang.String, org.apache.wicket.model.IModel)
 	 */
-	protected Component newLabel(MarkupContainer parent, String componentId, IModel model)
+	@Override
+	protected MultiLineLabel<T> newLabel(MarkupContainer parent, String componentId, IModel<T> model)
 	{
-		MultiLineLabel label = new MultiLineLabel(componentId, model)
+		MultiLineLabel<T> label = new MultiLineLabel<T>(componentId, model)
 		{
 			private static final long serialVersionUID = 1L;
 
+			@Override
 			protected void onComponentTagBody(MarkupStream markupStream, ComponentTag openTag)
 			{
 				if (getModelObject() == null)
@@ -100,6 +104,7 @@
 	 * 
 	 * @return The event name
 	 */
+	@Override
 	protected String getLabelAjaxEvent()
 	{
 		return "onclick";
@@ -109,36 +114,41 @@
 	 * @see org.apache.wicket.extensions.ajax.markup.html.AjaxEditableLabel#newEditor(org.apache.wicket.MarkupContainer,
 	 *      java.lang.String, org.apache.wicket.model.IModel)
 	 */
-	protected FormComponent newEditor(MarkupContainer parent, String componentId, IModel model)
+	@Override
+	protected FormComponent<T> newEditor(MarkupContainer parent, String componentId, IModel<T> model)
 	{
-		TextArea editor = new TextArea(componentId, model)
+		TextArea<T> editor = new TextArea<T>(componentId, model)
 		{
 			private static final long serialVersionUID = 1L;
 
+			@Override
 			protected void onModelChanged()
 			{
 				AjaxEditableMultiLineLabel.this.onModelChanged();
 			}
 
+			@Override
 			protected void onModelChanging()
 			{
 				AjaxEditableMultiLineLabel.this.onModelChanging();
 			}
 		};
-		editor.add(new AttributeModifier("rows", new AbstractReadOnlyModel()
+		editor.add(new AttributeModifier("rows", new AbstractReadOnlyModel<Integer>()
 		{
 			private static final long serialVersionUID = 1L;
 
-			public Object getObject()
+			@Override
+			public Integer getObject()
 			{
 				return new Integer(rows);
 			}
 		}));
-		editor.add(new AttributeModifier("cols", new AbstractReadOnlyModel()
+		editor.add(new AttributeModifier("cols", new AbstractReadOnlyModel<Integer>()
 		{
 			private static final long serialVersionUID = 1L;
 
-			public Object getObject()
+			@Override
+			public Integer getObject()
 			{
 				return new Integer(cols);
 			}
@@ -152,6 +162,7 @@
 			/**
 			 * @see org.apache.wicket.behavior.AbstractAjaxBehavior#onComponentTag(org.apache.wicket.markup.ComponentTag)
 			 */
+			@Override
 			protected void onComponentTag(ComponentTag tag)
 			{
 				super.onComponentTag(tag);
@@ -219,16 +230,19 @@
 	 * 
 	 * @return The string which should be displayed when the model object is null.
 	 */
+	@Override
 	protected String defaultNullLabel()
 	{
 		return "...";
 	}
 
+	@Override
 	protected void onModelChanged()
 	{
 		super.onModelChanged();
 	}
 
+	@Override
 	protected void onModelChanging()
 	{
 		super.onModelChanging();

Modified: wicket/trunk/jdk-1.4/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/AutoCompleteTextField.java
URL: http://svn.apache.org/viewvc/wicket/trunk/jdk-1.4/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/AutoCompleteTextField.java?rev=646020&r1=646019&r2=646020&view=diff
==============================================================================
--- wicket/trunk/jdk-1.4/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/AutoCompleteTextField.java (original)
+++ wicket/trunk/jdk-1.4/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/AutoCompleteTextField.java Tue Apr  8 11:10:20 2008
@@ -32,8 +32,11 @@
  * @since 1.2
  * 
  * @author Igor Vaynberg (ivaynberg)
+ * 
+ * @param <T>
+ *            The model object type
  */
-public abstract class AutoCompleteTextField extends TextField
+public abstract class AutoCompleteTextField<T> extends TextField<T>
 {
 
 	private static final long serialVersionUID = 1L;
@@ -42,7 +45,7 @@
 	 * @param id
 	 * @param type
 	 */
-	public AutoCompleteTextField(String id, Class type)
+	public AutoCompleteTextField(String id, Class<T> type)
 	{
 		this(id, (IModel)null, type, false);
 	}
@@ -54,18 +57,18 @@
 	 * @param preselect
 	 *            the first item
 	 */
-	public AutoCompleteTextField(String id, IModel model, Class type, boolean preselect)
+	public AutoCompleteTextField(String id, IModel<T> model, Class<T> type, boolean preselect)
 	{
 		this(id, model, type, StringAutoCompleteRenderer.INSTANCE, preselect);
 
-	} 
+	}
 
 	/**
 	 * @param id
 	 * @param object
 	 * @param preselect
 	 */
-	public AutoCompleteTextField(String id, IModel object, boolean preselect)
+	public AutoCompleteTextField(String id, IModel<T> object, boolean preselect)
 	{
 		this(id, object, (Class)null, preselect);
 	}
@@ -75,7 +78,7 @@
 	 * @param id
 	 * @param object
 	 */
-	public AutoCompleteTextField(String id, IModel object)
+	public AutoCompleteTextField(String id, IModel<T> object)
 	{
 		this(id, object, (Class)null, false);
 	}
@@ -113,7 +116,7 @@
 	 * @param type
 	 * @param renderer
 	 */
-	public AutoCompleteTextField(String id, Class type, IAutoCompleteRenderer renderer)
+	public AutoCompleteTextField(String id, Class<T> type, IAutoCompleteRenderer renderer)
 	{
 		this(id, null, type, renderer, false);
 	}
@@ -123,7 +126,7 @@
 	 * @param model
 	 * @param renderer
 	 */
-	public AutoCompleteTextField(String id, IModel model, IAutoCompleteRenderer renderer)
+	public AutoCompleteTextField(String id, IModel<T> model, IAutoCompleteRenderer renderer)
 	{
 		this(id, model, (Class)null, renderer, false);
 	}
@@ -135,7 +138,7 @@
 	 * @param renderer
 	 * @param preselect
 	 */
-	public AutoCompleteTextField(String id, IModel model, Class type,
+	public AutoCompleteTextField(String id, IModel<T> model, Class<T> type,
 		IAutoCompleteRenderer renderer, boolean preselect)
 	{
 		super(id, model, type);
@@ -148,6 +151,7 @@
 
 			private static final long serialVersionUID = 1L;
 
+			@Override
 			protected Iterator getChoices(String input)
 			{
 				return AutoCompleteTextField.this.getChoices(input);
@@ -168,7 +172,7 @@
 	 *            current input
 	 * @return iterator over all possible choice objects
 	 */
-	protected abstract Iterator getChoices(String input);
+	protected abstract Iterator<T> getChoices(String input);
 
 
 }

Modified: wicket/trunk/jdk-1.4/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/form/upload/UploadProgressBar.java
URL: http://svn.apache.org/viewvc/wicket/trunk/jdk-1.4/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/form/upload/UploadProgressBar.java?rev=646020&r1=646019&r2=646020&view=diff
==============================================================================
--- wicket/trunk/jdk-1.4/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/form/upload/UploadProgressBar.java (original)
+++ wicket/trunk/jdk-1.4/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/form/upload/UploadProgressBar.java Tue Apr  8 11:10:20 2008
@@ -58,6 +58,7 @@
 		/**
 		 * @see java.lang.Object#toString()
 		 */
+		@Override
 		public String toString()
 		{
 			return "Ajax UploadProgressBar initializer";
@@ -105,13 +106,14 @@
 			log.warn("UploadProgressBar will not work without an UploadWebRequest. See the javadoc for details.");
 		}
 
-		form.add(new AttributeModifier("onsubmit", true, new Model()
+		form.add(new AttributeModifier("onsubmit", true, new Model<String>()
 		{
 
 			private static final long serialVersionUID = 1L;
 
 
-			public Object getObject()
+			@Override
+			public String getObject()
 			{
 				ResourceReference ref = new ResourceReference(RESOURCE_NAME);
 

Modified: wicket/trunk/jdk-1.4/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/grid/AbstractDataGridView.java
URL: http://svn.apache.org/viewvc/wicket/trunk/jdk-1.4/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/grid/AbstractDataGridView.java?rev=646020&r1=646019&r2=646020&view=diff
==============================================================================
--- wicket/trunk/jdk-1.4/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/grid/AbstractDataGridView.java (original)
+++ wicket/trunk/jdk-1.4/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/grid/AbstractDataGridView.java Tue Apr  8 11:10:20 2008
@@ -16,9 +16,6 @@
  */
 package org.apache.wicket.extensions.markup.html.repeater.data.grid;
 
-import java.io.Serializable;
-import java.util.Iterator;
-
 import org.apache.wicket.WicketRuntimeException;
 import org.apache.wicket.markup.repeater.Item;
 import org.apache.wicket.markup.repeater.RefreshingView;
@@ -38,17 +35,19 @@
  * 
  * @author Igor Vaynberg (ivaynberg)
  * 
+ * @param <T>
+ *            Model object type
  */
-public abstract class AbstractDataGridView extends DataViewBase
+public abstract class AbstractDataGridView<T> extends DataViewBase<T>
 {
 	private static final long serialVersionUID = 1L;
 
 	private static final String CELL_REPEATER_ID = "cells";
 	private static final String CELL_ITEM_ID = "cell";
 
-	private ICellPopulator[] populators;
+	private final ICellPopulator<T>[] populators;
 
-	private transient ArrayIteratorAdapter populatorsIteratorCache;
+	private transient ArrayIteratorAdapter<ICellPopulator<T>> populatorsIteratorCache;
 
 	/**
 	 * Constructor
@@ -60,7 +59,8 @@
 	 * @param dataProvider
 	 *            data provider
 	 */
-	public AbstractDataGridView(String id, ICellPopulator[] populators, IDataProvider dataProvider)
+	public AbstractDataGridView(String id, ICellPopulator<T>[] populators,
+		IDataProvider<T> dataProvider)
 	{
 		super(id, dataProvider);
 
@@ -73,16 +73,18 @@
 	 * 
 	 * @return iterator over ICellPopulator elements in the populators array
 	 */
-	private Iterator getPopulatorsIterator()
+	private ArrayIteratorAdapter<ICellPopulator<T>> getPopulatorsIterator()
 	{
 		if (populatorsIteratorCache == null)
 		{
-			populatorsIteratorCache = new ArrayIteratorAdapter(internalGetPopulators())
+			populatorsIteratorCache = new ArrayIteratorAdapter<ICellPopulator<T>>(
+				internalGetPopulators())
 			{
 
-				protected IModel model(Object object)
+				@Override
+				protected IModel<ICellPopulator<T>> model(ICellPopulator<T> object)
 				{
-					return new Model((Serializable)object);
+					return new Model<ICellPopulator<T>>(object);
 				}
 
 			};
@@ -94,7 +96,7 @@
 		return populatorsIteratorCache;
 	}
 
-	protected final ICellPopulator[] internalGetPopulators()
+	protected final ICellPopulator<T>[] internalGetPopulators()
 	{
 		return populators;
 	}
@@ -115,12 +117,14 @@
 	 * 
 	 * @return DataItem created DataItem
 	 */
-	protected Item newCellItem(final String id, int index, final IModel model)
+	protected Item<ICellPopulator<T>> newCellItem(final String id, int index,
+		final IModel<ICellPopulator<T>> model)
 	{
-		return new Item(id, index, model);
+		return new Item<ICellPopulator<T>>(id, index, model);
 	}
 
-	protected final Item newItem(String id, int index, IModel model)
+	@Override
+	protected final Item<T> newItem(String id, int index, IModel<T> model)
 	{
 		return newRowItem(id, index, model);
 	}
@@ -140,15 +144,16 @@
 	 * 
 	 * @return DataItem created DataItem
 	 */
-	protected Item newRowItem(final String id, int index, final IModel model)
+	protected Item<T> newRowItem(final String id, int index, final IModel<T> model)
 	{
-		return new Item(id, index, model);
+		return new Item<T>(id, index, model);
 	}
 
 
 	/**
 	 * @see org.apache.wicket.markup.repeater.data.DataViewBase#onDetach()
 	 */
+	@Override
 	protected void onDetach()
 	{
 		super.onDetach();
@@ -164,20 +169,21 @@
 	/**
 	 * @see org.apache.wicket.markup.repeater.RefreshingView#populateItem(org.apache.wicket.markup.repeater.Item)
 	 */
-	protected final void populateItem(Item item)
+	@Override
+	protected final void populateItem(Item<T> item)
 	{
-		RepeatingView cells = new RepeatingView(CELL_REPEATER_ID);
+		RepeatingView<T> cells = new RepeatingView<T>(CELL_REPEATER_ID);
 		item.add(cells);
 
-		Iterator populators = getPopulatorsIterator();
+		ArrayIteratorAdapter<ICellPopulator<T>> populators = getPopulatorsIterator();
 
 		for (int i = 0; populators.hasNext(); i++)
 		{
-			IModel populatorModel = (IModel)populators.next();
-			Item cellItem = newCellItem(cells.newChildId(), i, populatorModel);
+			IModel<ICellPopulator<T>> populatorModel = populators.next();
+			Item<ICellPopulator<T>> cellItem = newCellItem(cells.newChildId(), i, populatorModel);
 			cells.add(cellItem);
 
-			ICellPopulator populator = (ICellPopulator)cellItem.getModelObject();
+			ICellPopulator<T> populator = cellItem.getModelObject();
 			populator.populateItem(cellItem, CELL_ITEM_ID, item.getModel());
 
 			if (cellItem.get("cell") == null)

Modified: wicket/trunk/jdk-1.4/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/grid/DataGridView.java
URL: http://svn.apache.org/viewvc/wicket/trunk/jdk-1.4/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/grid/DataGridView.java?rev=646020&r1=646019&r2=646020&view=diff
==============================================================================
--- wicket/trunk/jdk-1.4/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/grid/DataGridView.java (original)
+++ wicket/trunk/jdk-1.4/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/grid/DataGridView.java Tue Apr  8 11:10:20 2008
@@ -59,8 +59,10 @@
  * 
  * @author Igor Vaynberg (ivaynberg)
  * 
+ * @param <T>
+ *            Model object type
  */
-public class DataGridView extends AbstractDataGridView
+public class DataGridView<T> extends AbstractDataGridView<T>
 {
 	private static final long serialVersionUID = 1L;
 
@@ -76,10 +78,9 @@
 	 * @param dataProvider
 	 *            data provider
 	 */
-	public DataGridView(String id, List/* <ICellPopulator> */populators, IDataProvider dataProvider)
+	public DataGridView(String id, List<ICellPopulator> populators, IDataProvider<T> dataProvider)
 	{
-		super(id, (ICellPopulator[])populators.toArray(new ICellPopulator[populators.size()]),
-				dataProvider);
+		super(id, populators.toArray(new ICellPopulator[populators.size()]), dataProvider);
 	}
 
 	/**
@@ -94,7 +95,7 @@
 	 * @param dataProvider
 	 *            data provider
 	 */
-	public DataGridView(String id, ICellPopulator[] populators, IDataProvider dataProvider)
+	public DataGridView(String id, ICellPopulator[] populators, IDataProvider<T> dataProvider)
 	{
 		super(id, populators, dataProvider);
 	}
@@ -134,7 +135,7 @@
 	 * 
 	 * @return data provider
 	 */
-	public IDataProvider getDataProvider()
+	public IDataProvider<T> getDataProvider()
 	{
 		return internalGetDataProvider();
 	}

Modified: wicket/trunk/jdk-1.4/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/grid/ICellPopulator.java
URL: http://svn.apache.org/viewvc/wicket/trunk/jdk-1.4/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/grid/ICellPopulator.java?rev=646020&r1=646019&r2=646020&view=diff
==============================================================================
--- wicket/trunk/jdk-1.4/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/grid/ICellPopulator.java (original)
+++ wicket/trunk/jdk-1.4/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/grid/ICellPopulator.java Tue Apr  8 11:10:20 2008
@@ -47,8 +47,10 @@
  * 
  * @author Igor Vaynberg (ivaynberg)
  * 
+ * @param <T>
+ *            Model object type
  */
-public interface ICellPopulator extends IClusterable, IDetachable
+public interface ICellPopulator<T> extends IClusterable, IDetachable
 {
 	/**
 	 * Method used to populate a cell in the {@link DataGridView}
@@ -67,5 +69,6 @@
 	 * 
 	 * @see Item
 	 */
-	void populateItem(final Item cellItem, final String componentId, final IModel rowModel);
+	void populateItem(final Item<ICellPopulator<T>> cellItem, final String componentId,
+		final IModel<T> rowModel);
 }

Modified: wicket/trunk/jdk-1.4/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/sort/OrderByLink.java
URL: http://svn.apache.org/viewvc/wicket/trunk/jdk-1.4/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/sort/OrderByLink.java?rev=646020&r1=646019&r2=646020&view=diff
==============================================================================
--- wicket/trunk/jdk-1.4/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/sort/OrderByLink.java (original)
+++ wicket/trunk/jdk-1.4/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/sort/OrderByLink.java Tue Apr  8 11:10:20 2008
@@ -36,10 +36,10 @@
 	private static final long serialVersionUID = 1L;
 
 	/** sortable property */
-	private String property;
+	private final String property;
 
 	/** locator for sort state object */
-	private ISortStateLocator stateLocator;
+	private final ISortStateLocator stateLocator;
 
 	/**
 	 * Constructor.
@@ -100,6 +100,7 @@
 	/**
 	 * @see org.apache.wicket.markup.html.link.Link
 	 */
+	@Override
 	public final void onClick()
 	{
 		sort();
@@ -153,6 +154,7 @@
 		/**
 		 * @see org.apache.wicket.version.undo.Change#undo()
 		 */
+		@Override
 		public void undo()
 		{
 			stateLocator.setSortState(old);
@@ -161,6 +163,7 @@
 		/**
 		 * @see java.lang.Object#toString()
 		 */
+		@Override
 		public String toString()
 		{
 			return "[StateOrderChange old=" + old.toString() + "]";
@@ -187,18 +190,20 @@
 		 */
 		public CssModifier(final OrderByLink link, final ICssProvider provider)
 		{
-			super("class", true, new Model()
+			super("class", true, new Model<String>()
 			{
 				private static final long serialVersionUID = 1L;
 
-				public Object getObject()
+				@Override
+				public String getObject()
 				{
 
 					final ISortState sortState = link.stateLocator.getSortState();
 					return provider.getClassAttributeValue(sortState, link.property);
 				}
 
-				public void setObject(Object object)
+				@Override
+				public void setObject(String object)
 				{
 					throw new UnsupportedOperationException();
 				}
@@ -209,6 +214,7 @@
 		/**
 		 * @see org.apache.wicket.AttributeModifier#isEnabled(Component)
 		 */
+		@Override
 		public boolean isEnabled(Component component)
 		{
 			return getReplaceModel().getObject() != null;
@@ -246,11 +252,11 @@
 	{
 		private static final long serialVersionUID = 1L;
 
-		private String ascending;
+		private final String ascending;
 
-		private String descending;
+		private final String descending;
 
-		private String none;
+		private final String none;
 
 		/**
 		 * @param ascending

Modified: wicket/trunk/jdk-1.4/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/table/DataTable.java
URL: http://svn.apache.org/viewvc/wicket/trunk/jdk-1.4/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/table/DataTable.java?rev=646020&r1=646019&r2=646020&view=diff
==============================================================================
--- wicket/trunk/jdk-1.4/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/table/DataTable.java (original)
+++ wicket/trunk/jdk-1.4/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/table/DataTable.java Tue Apr  8 11:10:20 2008
@@ -68,7 +68,7 @@
  * @author Igor Vaynberg (ivaynberg)
  * 
  */
-public class DataTable extends Panel implements IPageable
+public class DataTable<T> extends Panel<T> implements IPageable
 {
 	static abstract class CssAttributeBehavior extends AbstractBehavior
 	{
@@ -82,6 +82,7 @@
 		/**
 		 * @see IBehavior#onComponentTag(Component, ComponentTag)
 		 */
+		@Override
 		public void onComponentTag(Component component, ComponentTag tag)
 		{
 			String className = getCssClass();
@@ -109,7 +110,7 @@
 
 	private final DataGridView datagrid;
 
-	private IColumn[] columns;
+	private final IColumn<T>[] columns;
 
 	private final RepeatingView topToolbars;
 	private final RepeatingView bottomToolbars;
@@ -126,7 +127,7 @@
 	 * @param rowsPerPage
 	 *            number of rows per page
 	 */
-	public DataTable(String id, IColumn[] columns, IDataProvider dataProvider, int rowsPerPage)
+	public DataTable(String id, IColumn<T>[] columns, IDataProvider<T> dataProvider, int rowsPerPage)
 	{
 		super(id);
 
@@ -137,10 +138,11 @@
 
 		this.columns = columns;
 
-		datagrid = new DataGridView("rows", columns, dataProvider)
+		datagrid = new DataGridView<T>("rows", columns, dataProvider)
 		{
 			private static final long serialVersionUID = 1L;
 
+			@Override
 			protected Item newCellItem(String id, int index, IModel model)
 			{
 				Item item = DataTable.this.newCellItem(id, index, model);
@@ -151,6 +153,7 @@
 					{
 						private static final long serialVersionUID = 1L;
 
+						@Override
 						protected String getCssClass()
 						{
 							return ((IStyledColumn)column).getCssClass();
@@ -160,7 +163,8 @@
 				return item;
 			}
 
-			protected Item newRowItem(String id, int index, IModel model)
+			@Override
+			protected Item<T> newRowItem(String id, int index, IModel<T> model)
 			{
 				return DataTable.this.newRowItem(id, index, model);
 			}
@@ -172,6 +176,7 @@
 		{
 			private static final long serialVersionUID = 1L;
 
+			@Override
 			public boolean isVisible()
 			{
 				return size() > 0;
@@ -184,6 +189,7 @@
 
 			private static final long serialVersionUID = 1L;
 
+			@Override
 			public boolean isVisible()
 			{
 				return size() > 0;
@@ -223,7 +229,7 @@
 	/**
 	 * @return array of column objects this table displays
 	 */
-	public final IColumn[] getColumns()
+	public final IColumn<T>[] getColumns()
 	{
 		return columns;
 	}
@@ -280,7 +286,7 @@
 	 *            item reuse strategy
 	 * @return this for chaining
 	 */
-	public final DataTable setItemReuseStrategy(IItemReuseStrategy strategy)
+	public final DataTable<T> setItemReuseStrategy(IItemReuseStrategy strategy)
 	{
 		datagrid.setItemReuseStrategy(strategy);
 		return this;
@@ -308,7 +314,7 @@
 		if (!toolbar.getId().equals(TOOLBAR_COMPONENT_ID))
 		{
 			throw new IllegalArgumentException(
-					"Toolbar must have component id equal to AbstractDataTable.TOOLBAR_COMPONENT_ID");
+				"Toolbar must have component id equal to AbstractDataTable.TOOLBAR_COMPONENT_ID");
 		}
 
 		toolbar.setRenderBodyOnly(true);
@@ -335,9 +341,9 @@
 	 * 
 	 * @return DataItem created DataItem
 	 */
-	protected Item newCellItem(final String id, final int index, final IModel model)
+	protected Item<T> newCellItem(final String id, final int index, final IModel<T> model)
 	{
-		return new Item(id, index, model);
+		return new Item<T>(id, index, model);
 	}
 
 	/**
@@ -354,14 +360,15 @@
 	 * 
 	 * @return DataItem created DataItem
 	 */
-	protected Item newRowItem(final String id, int index, final IModel model)
+	protected Item<T> newRowItem(final String id, int index, final IModel<T> model)
 	{
-		return new Item(id, index, model);
+		return new Item<T>(id, index, model);
 	}
 
 	/**
 	 * @see org.apache.wicket.Component#onDetach()
 	 */
+	@Override
 	protected void onDetach()
 	{
 		super.onDetach();

Modified: wicket/trunk/jdk-1.4/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/table/IColumn.java
URL: http://svn.apache.org/viewvc/wicket/trunk/jdk-1.4/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/table/IColumn.java?rev=646020&r1=646019&r2=646020&view=diff
==============================================================================
--- wicket/trunk/jdk-1.4/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/table/IColumn.java (original)
+++ wicket/trunk/jdk-1.4/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/table/IColumn.java Tue Apr  8 11:10:20 2008
@@ -25,7 +25,7 @@
  * 
  * @author Igor Vaynberg ( ivaynberg )
  */
-public interface IColumn extends ICellPopulator
+public interface IColumn<T> extends ICellPopulator<T>
 {
 	/**
 	 * Returns the component that will be used as the header for the column.

Modified: wicket/trunk/jdk-1.4/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/table/filter/FilterForm.java
URL: http://svn.apache.org/viewvc/wicket/trunk/jdk-1.4/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/table/filter/FilterForm.java?rev=646020&r1=646019&r2=646020&view=diff
==============================================================================
--- wicket/trunk/jdk-1.4/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/table/filter/FilterForm.java (original)
+++ wicket/trunk/jdk-1.4/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/table/filter/FilterForm.java Tue Apr  8 11:10:20 2008
@@ -24,6 +24,7 @@
 import org.apache.wicket.markup.html.form.Form;
 import org.apache.wicket.markup.html.form.FormComponent;
 import org.apache.wicket.markup.html.form.HiddenField;
+import org.apache.wicket.model.IModel;
 import org.apache.wicket.model.Model;
 import org.apache.wicket.util.string.AppendingStringBuffer;
 
@@ -59,6 +60,7 @@
 		{
 			private static final long serialVersionUID = 1L;
 
+			@Override
 			public void onComponentTag(Component component, ComponentTag tag)
 			{
 				tag.put("id", getFocusTrackerFieldCssId());
@@ -72,11 +74,12 @@
 		{
 			private static final long serialVersionUID = 1L;
 
+			@Override
 			protected void onComponentTagBody(MarkupStream markupStream, ComponentTag openTag)
 			{
 				AppendingStringBuffer script = new AppendingStringBuffer(
-						"<script>_filter_focus_restore('").append(getFocusTrackerFieldCssId())
-						.append("');</script>");
+					"<script>_filter_focus_restore('").append(getFocusTrackerFieldCssId()).append(
+					"');</script>");
 				replaceComponentTagBody(markupStream, openTag, script);
 			}
 		});
@@ -112,6 +115,7 @@
 		{
 			private static final long serialVersionUID = 1L;
 
+			@Override
 			public void onComponentTag(Component component, ComponentTag tag)
 			{
 				tag.put("id", component.getMarkupId());
@@ -146,11 +150,11 @@
 	 * @author Igor Vaynberg (ivaynberg)
 	 * 
 	 */
-	private static class FilterStateModel extends Model
+	private static class FilterStateModel implements IModel<Object>
 	{
 		private static final long serialVersionUID = 1L;
 
-		private IFilterStateLocator locator;
+		private final IFilterStateLocator locator;
 
 		/**
 		 * Constructor
@@ -181,6 +185,13 @@
 		public void setObject(Object object)
 		{
 			locator.setFilterState(object);
+		}
+
+		/**
+		 * @see org.apache.wicket.model.IDetachable#detach()
+		 */
+		public void detach()
+		{
 		}
 
 	}

Modified: wicket/trunk/jdk-1.4/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/table/filter/FilterStateModel.java
URL: http://svn.apache.org/viewvc/wicket/trunk/jdk-1.4/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/table/filter/FilterStateModel.java?rev=646020&r1=646019&r2=646020&view=diff
==============================================================================
--- wicket/trunk/jdk-1.4/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/table/filter/FilterStateModel.java (original)
+++ wicket/trunk/jdk-1.4/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/table/filter/FilterStateModel.java Tue Apr  8 11:10:20 2008
@@ -16,7 +16,7 @@
  */
 package org.apache.wicket.extensions.markup.html.repeater.data.table.filter;
 
-import org.apache.wicket.model.Model;
+import org.apache.wicket.model.IModel;
 
 /**
  * Model that wraps filter state locator to make its use transparent to wicket components.
@@ -33,11 +33,11 @@
  * 
  * @author Igor Vaynberg (ivaynberg)
  */
-class FilterStateModel extends Model
+class FilterStateModel implements IModel<Object>
 {
 	private static final long serialVersionUID = 1L;
 
-	private IFilterStateLocator locator;
+	private final IFilterStateLocator locator;
 
 	/**
 	 * Constructor
@@ -64,6 +64,13 @@
 	public void setObject(Object object)
 	{
 		locator.setFilterState(object);
+	}
+
+	/**
+	 * @see org.apache.wicket.model.IDetachable#detach()
+	 */
+	public void detach()
+	{
 	}
 
 }

Modified: wicket/trunk/jdk-1.4/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/tree/table/TreeTable.java
URL: http://svn.apache.org/viewvc/wicket/trunk/jdk-1.4/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/tree/table/TreeTable.java?rev=646020&r1=646019&r2=646020&view=diff
==============================================================================
--- wicket/trunk/jdk-1.4/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/tree/table/TreeTable.java (original)
+++ wicket/trunk/jdk-1.4/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/tree/table/TreeTable.java Tue Apr  8 11:10:20 2008
@@ -79,7 +79,7 @@
 		 *            The call back for rendering nodes
 		 */
 		public TreeFragment(String id, final TreeNode node, int level,
-				final IRenderNodeCallback renderNodeCallback)
+			final IRenderNodeCallback renderNodeCallback)
 		{
 			super(id, "fragment");
 
@@ -99,6 +99,7 @@
 				/**
 				 * @see org.apache.wicket.model.AbstractReadOnlyModel#getObject()
 				 */
+				@Override
 				public Object getObject()
 				{
 					return renderNodeCallback.renderNode(node);
@@ -109,7 +110,7 @@
 
 	/** Reference to the css file. */
 	private static final ResourceReference CSS = new ResourceReference(DefaultAbstractTree.class,
-			"res/tree-table.css");
+		"res/tree-table.css");
 
 	private static final long serialVersionUID = 1L;
 
@@ -138,7 +139,7 @@
 	 * @return The tree cell
 	 */
 	public static Component newTreeCell(MarkupContainer parent, String id, TreeNode node,
-			int level, IRenderNodeCallback callback, TreeTable table)
+		int level, IRenderNodeCallback callback, TreeTable table)
 	{
 		return table.newTreePanel(parent, id, node, level, callback);
 	}
@@ -214,7 +215,7 @@
 			{
 				IColumn column = columns[i];
 				if (column.getLocation().getAlignment() == Alignment.LEFT ||
-						column.getLocation().getAlignment() == Alignment.RIGHT)
+					column.getLocation().getAlignment() == Alignment.RIGHT)
 				{
 					Component component = column.newHeader(sideColumns, "" + i);
 					sideColumns.add(component);
@@ -224,7 +225,7 @@
 
 		// create the view for middle columns
 		MiddleColumnsView middleColumns = new MiddleColumnsView("middleColumns", null,
-				hasLeftColumn());
+			hasLeftColumn());
 		add(middleColumns);
 		if (columns != null)
 			for (int i = 0; i < columns.length; i++)
@@ -242,6 +243,7 @@
 	/**
 	 * @see org.apache.wicket.markup.html.tree.DefaultAbstractTree#getCSS()
 	 */
+	@Override
 	protected ResourceReference getCSS()
 	{
 		return CSS;
@@ -263,7 +265,7 @@
 	 * @return The tree panel
 	 */
 	protected Component newTreePanel(MarkupContainer parent, String id, final TreeNode node,
-			int level, IRenderNodeCallback renderNodeCallback)
+		int level, IRenderNodeCallback renderNodeCallback)
 	{
 		return new TreeFragment(id, node, level, renderNodeCallback);
 	}
@@ -271,6 +273,7 @@
 	/**
 	 * @see AbstractTree#onBeforeAttach()
 	 */
+	@Override
 	protected void onBeforeAttach()
 	{
 		// has the header been added yet?
@@ -297,6 +300,7 @@
 	 * @param level
 	 *            the current level
 	 */
+	@Override
 	protected void populateTreeItem(WebMarkupContainer item, int level)
 	{
 		final TreeNode node = (TreeNode)item.getModelObject();
@@ -309,7 +313,7 @@
 			{
 				IColumn column = columns[i];
 				if (column.getLocation().getAlignment() == Alignment.LEFT ||
-						column.getLocation().getAlignment() == Alignment.RIGHT)
+					column.getLocation().getAlignment() == Alignment.RIGHT)
 				{
 					Component component;
 					// first try to create a renderable
@@ -333,7 +337,7 @@
 
 		// add middle columns
 		MiddleColumnsView middleColumns = new MiddleColumnsView("middleColumns", node,
-				hasLeftColumn());
+			hasLeftColumn());
 		if (columns != null)
 			for (int i = 0; i < columns.length; i++)
 			{
@@ -368,6 +372,7 @@
 		{
 			private static final long serialVersionUID = 1L;
 
+			@Override
 			public void onComponentTag(Component component, ComponentTag tag)
 			{
 				super.onComponentTag(component, tag);
@@ -406,7 +411,7 @@
 		if (found == false)
 		{
 			throw new IllegalArgumentException(
-					"At least one column in TreeTable must be derived from AbstractTreeColumn.");
+				"At least one column in TreeTable must be derived from AbstractTreeColumn.");
 		}
 
 		this.columns = columns;
@@ -417,11 +422,12 @@
 		// scroll together with body. The body contains vertical scrollbar. The
 		// header width must be same as body content width, so that the columns
 		// are properly aligned.
-		add(new Label("attachJavascript", new Model()
+		add(new Label("attachJavascript", new Model<String>()
 		{
 			private static final long serialVersionUID = 1L;
 
-			public Object getObject()
+			@Override
+			public String getObject()
 			{
 				return "Wicket.TreeTable.attachUpdate(\"" + getMarkupId() + "\");";
 			}

Modified: wicket/trunk/jdk-1.4/wicket-extensions/src/main/java/org/apache/wicket/extensions/model/AbstractCheckBoxModel.java
URL: http://svn.apache.org/viewvc/wicket/trunk/jdk-1.4/wicket-extensions/src/main/java/org/apache/wicket/extensions/model/AbstractCheckBoxModel.java?rev=646020&r1=646019&r2=646020&view=diff
==============================================================================
--- wicket/trunk/jdk-1.4/wicket-extensions/src/main/java/org/apache/wicket/extensions/model/AbstractCheckBoxModel.java (original)
+++ wicket/trunk/jdk-1.4/wicket-extensions/src/main/java/org/apache/wicket/extensions/model/AbstractCheckBoxModel.java Tue Apr  8 11:10:20 2008
@@ -25,7 +25,7 @@
  * @author Igor Vaynberg (ivaynberg)
  * 
  */
-public abstract class AbstractCheckBoxModel implements IModel
+public abstract class AbstractCheckBoxModel implements IModel<Boolean>
 {
 	private static final long serialVersionUID = 1L;
 
@@ -57,15 +57,15 @@
 	 * 
 	 * @see org.apache.wicket.model.IModel#getObject()
 	 */
-	public final Object getObject()
+	public final Boolean getObject()
 	{
 		return Boolean.valueOf(isSelected());
 	}
 
 	/**
-	 * @see org.apache.wicket.model.IModel#setObject(java.lang.Object)
+	 * @see org.apache.wicket.model.IModel#setObject(Object)
 	 */
-	public final void setObject(Object object)
+	public final void setObject(Boolean object)
 	{
 		if (Boolean.TRUE.equals(object))
 		{
@@ -81,24 +81,28 @@
 	// TODO Remove methods after deprecation release is done
 
 	/** @deprecated replaced by {@link #getObject()} */
+	@Deprecated
 	public final Object getObject(Component component)
 	{
 		throw new UnsupportedOperationException();
 	}
 
 	/** @deprecated replaced by {@link #isSelected()} */
+	@Deprecated
 	public final boolean isSelected(Component component)
 	{
 		throw new UnsupportedOperationException();
 	}
 
 	/** @deprecated replaced by {@link #setObject(Object)} */
+	@Deprecated
 	public final void setObject(Component component, Object object)
 	{
 		throw new UnsupportedOperationException();
 	}
 
 	/** @deprecated replaced by {@link #select()} */
+	@Deprecated
 	public final void setSelected(Component component, boolean sel)
 	{
 		throw new UnsupportedOperationException();

Modified: wicket/trunk/jdk-1.4/wicket-ioc/src/main/java/org/apache/wicket/injection/Injector.java
URL: http://svn.apache.org/viewvc/wicket/trunk/jdk-1.4/wicket-ioc/src/main/java/org/apache/wicket/injection/Injector.java?rev=646020&r1=646019&r2=646020&view=diff
==============================================================================
--- wicket/trunk/jdk-1.4/wicket-ioc/src/main/java/org/apache/wicket/injection/Injector.java (original)
+++ wicket/trunk/jdk-1.4/wicket-ioc/src/main/java/org/apache/wicket/injection/Injector.java Tue Apr  8 11:10:20 2008
@@ -19,13 +19,13 @@
 import java.lang.reflect.Field;
 import java.util.ArrayList;
 import java.util.List;
+import java.util.concurrent.ConcurrentHashMap;
 
 import org.apache.wicket.Component;
 import org.apache.wicket.MarkupContainer;
 import org.apache.wicket.Page;
 import org.apache.wicket.markup.html.WebPage;
 import org.apache.wicket.markup.html.panel.Panel;
-import org.apache.wicket.util.concurrent.ConcurrentHashMap;
 
 /**
  * Injector scans fields of an object instance and checks if the specified
@@ -42,7 +42,7 @@
 	// FIXME: WICKET-625 - Wicket doesn't clean up properly when hot-deploying;
 	// hangs onto Class references.
 	// We need some way to clean out this hashmap when we're done.
-	private ConcurrentHashMap/* <Class, Field[]> */classToFields = new ConcurrentHashMap();
+	private ConcurrentHashMap<Class, Field[]> classToFields = new ConcurrentHashMap<Class, Field[]>();
 
 	/**
 	 * @return static instance of ProxyInjector
@@ -66,7 +66,7 @@
 	protected boolean isBoundaryClass(Class clazz)
 	{
 		if (clazz.equals(WebPage.class) || clazz.equals(Page.class) || clazz.equals(Panel.class) ||
-				clazz.equals(MarkupContainer.class) || clazz.equals(Component.class))
+			clazz.equals(MarkupContainer.class) || clazz.equals(Component.class))
 		{
 			return true;
 		}
@@ -116,12 +116,12 @@
 			catch (IllegalArgumentException e)
 			{
 				throw new RuntimeException("error while injecting object [" + object.toString() +
-						"] of type [" + object.getClass().getName() + "]", e);
+					"] of type [" + object.getClass().getName() + "]", e);
 			}
 			catch (IllegalAccessException e)
 			{
 				throw new RuntimeException("error while injecting object [" + object.toString() +
-						"] of type [" + object.getClass().getName() + "]", e);
+					"] of type [" + object.getClass().getName() + "]", e);
 			}
 		}
 

Modified: wicket/trunk/jdk-1.4/wicket-velocity/src/test/java/org/apache/wicket/contrib/velocity/VelocityJavascriptPage.java
URL: http://svn.apache.org/viewvc/wicket/trunk/jdk-1.4/wicket-velocity/src/test/java/org/apache/wicket/contrib/velocity/VelocityJavascriptPage.java?rev=646020&r1=646019&r2=646020&view=diff
==============================================================================
--- wicket/trunk/jdk-1.4/wicket-velocity/src/test/java/org/apache/wicket/contrib/velocity/VelocityJavascriptPage.java (original)
+++ wicket/trunk/jdk-1.4/wicket-velocity/src/test/java/org/apache/wicket/contrib/velocity/VelocityJavascriptPage.java Tue Apr  8 11:10:20 2008
@@ -16,7 +16,7 @@
  */
 package org.apache.wicket.contrib.velocity;
 
-import java.util.Map;
+import java.io.Serializable;
 
 import org.apache.wicket.markup.html.WebPage;
 import org.apache.wicket.model.IModel;
@@ -38,7 +38,7 @@
 	 */
 	public VelocityJavascriptPage()
 	{
-		String templateName = Packages.absolutePath(this.getClass(), "testTemplate.vm");
+		String templateName = Packages.absolutePath(getClass(), "testTemplate.vm");
 
 		String id = "000001";
 		String javascript = "msg1: Stoopid test 1\nmsg2: Stooopid test 2";
@@ -46,9 +46,9 @@
 
 		IModel model = new Model()
 		{
-			public Object getObject()
+			public Serializable getObject()
 			{
-				Map map = new MiniMap(2);
+				MiniMap map = new MiniMap(2);
 				map.put("msg1", MSG1);
 				map.put("msg2", "Stooopid test 2");
 				return map;

Modified: wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/Application.java
URL: http://svn.apache.org/viewvc/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/Application.java?rev=646020&r1=646019&r2=646020&view=diff
==============================================================================
--- wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/Application.java (original)
+++ wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/Application.java Tue Apr  8 11:10:20 2008
@@ -18,11 +18,9 @@
 
 import java.io.IOException;
 import java.io.InputStream;
-import java.io.Serializable;
 import java.net.URL;
 import java.util.ArrayList;
 import java.util.Collections;
-import java.util.Enumeration;
 import java.util.HashMap;
 import java.util.Iterator;
 import java.util.List;
@@ -443,6 +441,7 @@
 	 * @return The markup cache associated with the application
 	 * @deprecated please use {@link IMarkupSettings#getMarkupCache()} instead
 	 */
+	@Deprecated
 	public final IMarkupCache getMarkupCache()
 	{
 		return getMarkupSettings().getMarkupCache();
@@ -466,9 +465,9 @@
 	 * @return The metadata
 	 * @see MetaDataKey
 	 */
-	public final Serializable getMetaData(final MetaDataKey key)
+	public final <T> T getMetaData(final MetaDataKey<T> key)
 	{
-		return (Serializable)key.get(metaData);
+		return key.get(metaData);
 	}
 
 	/**
@@ -593,15 +592,15 @@
 		try
 		{
 			// Load properties files used by all libraries
-			final Enumeration resources = Thread.currentThread()
-				.getContextClassLoader()
-				.getResources("wicket.properties");
-			while (resources.hasMoreElements())
+
+			final Iterator resources = getApplicationSettings().getClassResolver().getResources(
+				"wicket.properties");
+			while (resources.hasNext())
 			{
 				InputStream in = null;
 				try
 				{
-					final URL url = (URL)resources.nextElement();
+					final URL url = (URL)resources.next();
 					final Properties properties = new Properties();
 					in = url.openStream();
 					properties.load(in);
@@ -669,6 +668,7 @@
 	 * @deprecated Applications wishing to provide custom request cycles should override method
 	 *             {@link #newRequestCycle(Request, Response)}
 	 */
+	@Deprecated
 	public final RequestCycle newRequestCycle(Application application, Request request,
 		Response response)
 	{
@@ -740,7 +740,7 @@
 	 * @see MetaDataKey
 	 */
 	// TODO: Replace the Serializable type with Object for next wicket version
-	public final synchronized void setMetaData(final MetaDataKey key, final Serializable object)
+	public final synchronized <T> void setMetaData(final MetaDataKey<T> key, final Object object)
 	{
 		metaData = key.set(metaData, object);
 	}
@@ -836,6 +836,7 @@
 	 * @deprecated use {@link #onDestroy()} instead
 	 */
 	// TODO remove after deprecation release
+	@Deprecated
 	protected final void destroy()
 	{
 	}
@@ -852,6 +853,7 @@
 	 * @deprecated replaced by {@link #newRequestCycle(Request, Response)}
 	 */
 	// TODO remove after deprecation release
+	@Deprecated
 	protected final Object getRequestCycleFactory()
 	{
 		throw new UnsupportedOperationException();
@@ -864,6 +866,7 @@
 	 * @deprecated replaced by {@link #newSession(Request, Response)}
 	 */
 	// TODO remove after deprecation release
+	@Deprecated
 	protected final Object getSessionFactory()
 	{
 		throw new UnsupportedOperationException();