Merge branch 'wicket-6.x' into wicket-atmosphere-tester
Project: http://git-wip-us.apache.org/repos/asf/wicket/repo Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/2a123aeb Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/2a123aeb Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/2a123aeb Branch: refs/heads/wicket-atmosphere-tester Commit: 2a123aebd33e52376d26c83167552612230f0be5 Parents: c9a0b8f 18f269e Author: Martin Tzvetanov Grigorov <[email protected]> Authored: Thu Aug 14 13:31:43 2014 +0200 Committer: Martin Tzvetanov Grigorov <[email protected]> Committed: Thu Aug 14 13:31:43 2014 +0200 ---------------------------------------------------------------------- .../atmosphere/AtmosphereRequestHandler.java | 9 +++++---- .../wicket/atmosphere/AtmosphereWebRequest.java | 8 ++++---- .../org/apache/wicket/atmosphere/EventBus.java | 19 +++++++++++-------- 3 files changed, 20 insertions(+), 16 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/wicket/blob/2a123aeb/wicket-experimental/wicket-atmosphere/src/main/java/org/apache/wicket/atmosphere/EventBus.java ---------------------------------------------------------------------- diff --cc wicket-experimental/wicket-atmosphere/src/main/java/org/apache/wicket/atmosphere/EventBus.java index e60ca01,80837b8..d3e9c32 --- a/wicket-experimental/wicket-atmosphere/src/main/java/org/apache/wicket/atmosphere/EventBus.java +++ b/wicket-experimental/wicket-atmosphere/src/main/java/org/apache/wicket/atmosphere/EventBus.java @@@ -399,13 -383,17 +398,17 @@@ public class EventBus implements Unboun synchronized (this) { key = trackedPages.get(resource.uuid()); - subscriptionsForPage = Collections2.filter( - Collections.unmodifiableCollection(subscriptions.get(key)), new EventFilter(event)); + Collection<EventSubscription> eventSubscriptions = subscriptions.get(key); + subscriptionsForPage = Iterables.filter(eventSubscriptions, new EventFilter(event)); } if (key == null) - broadcaster.removeAtmosphereResource(resource); + getBroadcaster().removeAtmosphereResource(resource); - else if (!subscriptionsForPage.isEmpty()) - post(resource, key, subscriptionsForPage, event); + else + { + Iterator<EventSubscription> iterator = subscriptionsForPage.iterator(); + if (iterator.hasNext()) + post(resource, key, iterator, event); + } } private void post(AtmosphereResource resource, PageKey pageKey,
