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 2007/11/13 23:48:28 UTC

svn commit: r594686 - /wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/html/form/LabeledWebMarkupContainer.java

Author: jcompagner
Date: Tue Nov 13 14:48:27 2007
New Revision: 594686

URL: http://svn.apache.org/viewvc?rev=594686&view=rev
Log:
detach the label model, now i have still added the instanceof check for the IWrapModel, we should decide what to do with that.

Modified:
    wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/html/form/LabeledWebMarkupContainer.java

Modified: wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/html/form/LabeledWebMarkupContainer.java
URL: http://svn.apache.org/viewvc/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/html/form/LabeledWebMarkupContainer.java?rev=594686&r1=594685&r2=594686&view=diff
==============================================================================
--- wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/html/form/LabeledWebMarkupContainer.java (original)
+++ wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/html/form/LabeledWebMarkupContainer.java Tue Nov 13 14:48:27 2007
@@ -17,8 +17,8 @@
 package org.apache.wicket.markup.html.form;
 
 import org.apache.wicket.markup.html.WebMarkupContainer;
-import org.apache.wicket.model.IComponentAssignedModel;
 import org.apache.wicket.model.IModel;
+import org.apache.wicket.model.IWrapModel;
 
 /**
  * Default implementation of {@link ILabelProvider}.
@@ -26,8 +26,8 @@
  * @author almaw
  */
 public abstract class LabeledWebMarkupContainer extends WebMarkupContainer
-		implements
-			ILabelProvider
+	implements
+		ILabelProvider
 {
 	/**
 	 * 
@@ -39,6 +39,19 @@
 	 */
 	private IModel labelModel = null;
 
+	protected void onDetach()
+	{
+		super.onDetach();
+		if (labelModel != null)
+		{
+			labelModel.detach();
+			if (labelModel instanceof IWrapModel)
+			{
+				((IWrapModel)labelModel).getWrappedModel().detach();
+			}
+		}
+	}
+
 	/**
 	 * @see org.apache.wicket.Component#Component(String)
 	 */
@@ -74,10 +87,6 @@
 	 */
 	protected void setLabelInternal(IModel labelModel)
 	{
-		if (labelModel instanceof IComponentAssignedModel)
-		{
-			labelModel = ((IComponentAssignedModel)labelModel).wrapOnAssignment(this);
-		}
-		this.labelModel = labelModel;
+		this.labelModel = wrap(labelModel);
 	}
 }