Author: ivaynberg
Date: Tue Jul 21 17:35:25 2009
New Revision: 796399
URL: http://svn.apache.org/viewvc?rev=796399&view=rev
Log:
wicket-2384 another precaution to cleaning up feedback messages
Issue: WICKET-2384
Modified:
wicket/branches/wicket-1.3.x/jdk-1.4/wicket/src/main/java/org/apache/wicket/feedback/FeedbackMessage.java
wicket/branches/wicket-1.3.x/jdk-1.4/wicket/src/main/java/org/apache/wicket/feedback/FeedbackMessages.java
Modified:
wicket/branches/wicket-1.3.x/jdk-1.4/wicket/src/main/java/org/apache/wicket/feedback/FeedbackMessage.java
URL:
http://svn.apache.org/viewvc/wicket/branches/wicket-1.3.x/jdk-1.4/wicket/src/main/java/org/apache/wicket/feedback/FeedbackMessage.java?rev=796399&r1=796398&r2=796399&view=diff
==============================================================================
---
wicket/branches/wicket-1.3.x/jdk-1.4/wicket/src/main/java/org/apache/wicket/feedback/FeedbackMessage.java
(original)
+++
wicket/branches/wicket-1.3.x/jdk-1.4/wicket/src/main/java/org/apache/wicket/feedback/FeedbackMessage.java
Tue Jul 21 17:35:25 2009
@@ -22,6 +22,7 @@
import org.apache.wicket.Component;
import org.apache.wicket.IClusterable;
+import org.apache.wicket.model.IDetachable;
/**
@@ -30,7 +31,7 @@
* @author Eelco Hillenius
* @author Jonathan Locke
*/
-public class FeedbackMessage implements IClusterable
+public class FeedbackMessage implements IClusterable, IDetachable
{
private static final long serialVersionUID = 1L;
@@ -79,7 +80,7 @@
private final Serializable message;
/** The reporting component. */
- private final Component reporter;
+ private Component reporter;
/** Whether or not this message has been rendered */
private boolean rendered = false;
@@ -95,8 +96,8 @@
* The level of the message
*/
public FeedbackMessage(final Component reporter, final Serializable
message, final int level)
- {
- if(message == null)
+ {
+ if (message == null)
throw new IllegalArgumentException("Parameter message
can't not be null.");
this.reporter = reporter;
@@ -243,7 +244,15 @@
public String toString()
{
return "[FeedbackMessage message = \"" + getMessage() + "\",
reporter = " +
- ((getReporter() == null) ? "null" :
getReporter().getId()) + ", level = " +
- getLevelAsString() + "]";
+ ((getReporter() == null) ? "null" :
getReporter().getId()) + ", level = " +
+ getLevelAsString() + "]";
+ }
+
+ /**
+ * @see org.apache.wicket.model.IDetachable#detach()
+ */
+ public void detach()
+ {
+ reporter = null;
}
}
Modified:
wicket/branches/wicket-1.3.x/jdk-1.4/wicket/src/main/java/org/apache/wicket/feedback/FeedbackMessages.java
URL:
http://svn.apache.org/viewvc/wicket/branches/wicket-1.3.x/jdk-1.4/wicket/src/main/java/org/apache/wicket/feedback/FeedbackMessages.java?rev=796399&r1=796398&r2=796399&view=diff
==============================================================================
---
wicket/branches/wicket-1.3.x/jdk-1.4/wicket/src/main/java/org/apache/wicket/feedback/FeedbackMessages.java
(original)
+++
wicket/branches/wicket-1.3.x/jdk-1.4/wicket/src/main/java/org/apache/wicket/feedback/FeedbackMessages.java
Tue Jul 21 17:35:25 2009
@@ -96,11 +96,17 @@
}
List toDelete = messages(filter);
- int count = toDelete.size();
+
+ Iterator it = toDelete.iterator();
+ while (it.hasNext())
+ {
+ ((FeedbackMessage)it.next()).detach();
+ }
+
messages.removeAll(toDelete);
trimToSize();
- return count;
+ return toDelete.size();
}
/**