Author: pete
Date: Thu May 12 14:18:50 2011
New Revision: 1102323
URL: http://svn.apache.org/viewvc?rev=1102323&view=rev
Log:
minor optimizations in FeedbackMessages and better reuse of code
Modified:
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/feedback/FeedbackMessages.java
Modified:
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/feedback/FeedbackMessages.java
URL:
http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/feedback/FeedbackMessages.java?rev=1102323&r1=1102322&r2=1102323&view=diff
==============================================================================
---
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/feedback/FeedbackMessages.java
(original)
+++
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/feedback/FeedbackMessages.java
Thu May 12 14:18:50 2011
@@ -25,6 +25,7 @@ import java.util.concurrent.CopyOnWriteA
import org.apache.wicket.Component;
import org.apache.wicket.IClusterable;
+import org.apache.wicket.util.lang.Objects;
import org.apache.wicket.util.string.StringList;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -208,7 +209,14 @@ public final class FeedbackMessages impl
*/
public final boolean hasMessage(final IFeedbackMessageFilter filter)
{
- return messages(filter).isEmpty() == false;
+ for (final FeedbackMessage message : messages)
+ {
+ if (filter == null || filter.accept(message))
+ {
+ return true;
+ }
+ }
+ return false;
}
/**
@@ -220,7 +228,7 @@ public final class FeedbackMessages impl
*/
public final boolean hasMessageFor(Component component)
{
- return messagesForComponent(component).isEmpty() == false;
+ return hasMessage(new
ComponentFeedbackMessageFilter(component));
}
/**
@@ -233,16 +241,15 @@ public final class FeedbackMessages impl
* The level of the message
* @return Whether the given component registered a message with this
list with the given level
*/
- public final boolean hasMessageFor(Component component, int level)
+ public final boolean hasMessageFor(final Component component, final int
level)
{
- for (FeedbackMessage message : messages)
+ return hasMessage(new IFeedbackMessageFilter()
{
- if (message.getReporter() == component &&
message.isLevel(level))
+ public boolean accept(FeedbackMessage message)
{
- return true;
+ return Objects.equal(message.getReporter(),
component) && message.isLevel(level);
}
- }
- return false;
+ });
}
/**