You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by da...@apache.org on 2006/10/12 18:25:26 UTC
svn commit: r463303 - in /incubator/wicket/branches/wicket-1.x/wicket/src:
main/java/wicket/Session.java main/java/wicket/feedback/FeedbackMessages.java
test/java/wicket/protocol/http/MockWebApplicationTest.java
Author: dashorst
Date: Thu Oct 12 09:25:25 2006
New Revision: 463303
URL: http://svn.apache.org/viewvc?view=rev&rev=463303
Log:
Fixed flash message clean up code
Modified:
incubator/wicket/branches/wicket-1.x/wicket/src/main/java/wicket/Session.java
incubator/wicket/branches/wicket-1.x/wicket/src/main/java/wicket/feedback/FeedbackMessages.java
incubator/wicket/branches/wicket-1.x/wicket/src/test/java/wicket/protocol/http/MockWebApplicationTest.java
Modified: incubator/wicket/branches/wicket-1.x/wicket/src/main/java/wicket/Session.java
URL: http://svn.apache.org/viewvc/incubator/wicket/branches/wicket-1.x/wicket/src/main/java/wicket/Session.java?view=diff&rev=463303&r1=463302&r2=463303
==============================================================================
--- incubator/wicket/branches/wicket-1.x/wicket/src/main/java/wicket/Session.java (original)
+++ incubator/wicket/branches/wicket-1.x/wicket/src/main/java/wicket/Session.java Thu Oct 12 09:25:25 2006
@@ -1009,20 +1009,7 @@
*/
final void cleanupFeedbackMessages()
{
- if (feedbackMessages.size() > 0)
- {
- Iterator msgs = feedbackMessages.iterator();
- while (msgs.hasNext())
- {
- final FeedbackMessage msg = (FeedbackMessage)msgs.next();
- if (msg.isRendered())
- {
- msgs.remove();
- dirty();
- }
- }
- feedbackMessages.trimToSize();
- }
+ feedbackMessages.clearRendered();
}
/**
Modified: incubator/wicket/branches/wicket-1.x/wicket/src/main/java/wicket/feedback/FeedbackMessages.java
URL: http://svn.apache.org/viewvc/incubator/wicket/branches/wicket-1.x/wicket/src/main/java/wicket/feedback/FeedbackMessages.java?view=diff&rev=463303&r1=463302&r2=463303
==============================================================================
--- incubator/wicket/branches/wicket-1.x/wicket/src/main/java/wicket/feedback/FeedbackMessages.java (original)
+++ incubator/wicket/branches/wicket-1.x/wicket/src/main/java/wicket/feedback/FeedbackMessages.java Thu Oct 12 09:25:25 2006
@@ -99,15 +99,15 @@
*/
public final void clearRendered()
{
- Iterator msgs = iterator();
- while (msgs.hasNext())
+ for(int i = messages.size() - 1; i >= 0; i--)
{
- final FeedbackMessage msg = (FeedbackMessage)msgs.next();
+ final FeedbackMessage msg = (FeedbackMessage)messages.get(i);
if (msg.isRendered())
{
- msgs.remove();
+ messages.remove(i);
}
}
+ trimToSize();
}
/**
Modified: incubator/wicket/branches/wicket-1.x/wicket/src/test/java/wicket/protocol/http/MockWebApplicationTest.java
URL: http://svn.apache.org/viewvc/incubator/wicket/branches/wicket-1.x/wicket/src/test/java/wicket/protocol/http/MockWebApplicationTest.java?view=diff&rev=463303&r1=463302&r2=463303
==============================================================================
--- incubator/wicket/branches/wicket-1.x/wicket/src/test/java/wicket/protocol/http/MockWebApplicationTest.java (original)
+++ incubator/wicket/branches/wicket-1.x/wicket/src/test/java/wicket/protocol/http/MockWebApplicationTest.java Thu Oct 12 09:25:25 2006
@@ -17,8 +17,12 @@
*/
package wicket.protocol.http;
+import java.util.Iterator;
+
import junit.framework.Assert;
import junit.framework.TestCase;
+import wicket.Session;
+import wicket.feedback.FeedbackMessage;
import wicket.markup.html.link.Link;
import wicket.util.diff.DiffUtil;
@@ -69,6 +73,26 @@
Assert.assertEquals("Link should have been clicked 0 times", 0, p.getLinkClickCount());
}
+ /**
+ * Tests the clean up of flash messages put into the session when they are rendered.
+ */
+ public void testSessionFeedbackMessagesCleanUp()
+ {
+ application.setupRequestAndResponse();
+ application.processRequestCycle();
+ Session session = Session.get();
+ session.info("Message");
+ session.info("Not rendered");
+ Iterator iterator = session.getFeedbackMessages().iterator();
+ FeedbackMessage message = (FeedbackMessage)iterator.next();
+ message.markRendered();
+ session.getFeedbackMessages().clearRendered();
+ assertEquals(1, session.getFeedbackMessages().size());
+ message = (FeedbackMessage)iterator.next();
+ message.markRendered();
+ session.getFeedbackMessages().clearRendered();
+ assertEquals(0, session.getFeedbackMessages().size());
+ }
/**
* @throws Exception
*/