You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by pa...@apache.org on 2013/06/12 19:15:48 UTC
[1/3] git commit: allow extensible event delivery in wicket-atmosphere
Updated Branches:
refs/heads/master 21ecfee58 -> 8fb99ddef
allow extensible event delivery in wicket-atmosphere
Project: http://git-wip-us.apache.org/repos/asf/wicket/repo
Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/53cdda3b
Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/53cdda3b
Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/53cdda3b
Branch: refs/heads/master
Commit: 53cdda3bc5d420019837cd3b9971dd542ba1163f
Parents: 81a7b75
Author: Dan Retzlaff <dr...@gmail.com>
Authored: Wed May 22 11:37:59 2013 +0300
Committer: Dan Retzlaff <dr...@gmail.com>
Committed: Tue Jun 11 21:27:19 2013 -0700
----------------------------------------------------------------------
.../atmosphere/AjaxRequestInitializer.java | 30 ++++++++++
.../atmosphere/AtmosphereRequestHandler.java | 44 +++++---------
.../atmosphere/AtmosphereRequestMapper.java | 24 +++++++-
.../org/apache/wicket/atmosphere/EventBus.java | 23 ++++++-
.../wicket/atmosphere/EventSubscription.java | 20 +++++++
.../atmosphere/EventSubscriptionInvoker.java | 43 +++++++++++++
...cribeAnnotationEventSubscriptionInvoker.java | 63 ++++++++++++++++++++
7 files changed, 215 insertions(+), 32 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/wicket/blob/53cdda3b/wicket-experimental/wicket-atmosphere/src/main/java/org/apache/wicket/atmosphere/AjaxRequestInitializer.java
----------------------------------------------------------------------
diff --git a/wicket-experimental/wicket-atmosphere/src/main/java/org/apache/wicket/atmosphere/AjaxRequestInitializer.java b/wicket-experimental/wicket-atmosphere/src/main/java/org/apache/wicket/atmosphere/AjaxRequestInitializer.java
new file mode 100644
index 0000000..882e931
--- /dev/null
+++ b/wicket-experimental/wicket-atmosphere/src/main/java/org/apache/wicket/atmosphere/AjaxRequestInitializer.java
@@ -0,0 +1,30 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.wicket.atmosphere;
+
+import org.apache.wicket.ajax.AjaxRequestTarget;
+
+/**
+ * Initializes {@link AjaxRequestTarget} for current event notification.
+ */
+public interface AjaxRequestInitializer
+{
+ /**
+ * performs initialization of {@link AjaxRequestTarget}
+ */
+ void initialize();
+}
http://git-wip-us.apache.org/repos/asf/wicket/blob/53cdda3b/wicket-experimental/wicket-atmosphere/src/main/java/org/apache/wicket/atmosphere/AtmosphereRequestHandler.java
----------------------------------------------------------------------
diff --git a/wicket-experimental/wicket-atmosphere/src/main/java/org/apache/wicket/atmosphere/AtmosphereRequestHandler.java b/wicket-experimental/wicket-atmosphere/src/main/java/org/apache/wicket/atmosphere/AtmosphereRequestHandler.java
index bef863a..26ffa99 100644
--- a/wicket-experimental/wicket-atmosphere/src/main/java/org/apache/wicket/atmosphere/AtmosphereRequestHandler.java
+++ b/wicket-experimental/wicket-atmosphere/src/main/java/org/apache/wicket/atmosphere/AtmosphereRequestHandler.java
@@ -16,14 +16,11 @@
*/
package org.apache.wicket.atmosphere;
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
import java.util.Collection;
import org.apache.wicket.Application;
import org.apache.wicket.Component;
import org.apache.wicket.Page;
-import org.apache.wicket.WicketRuntimeException;
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.protocol.http.WebApplication;
import org.apache.wicket.request.IRequestCycle;
@@ -44,6 +41,8 @@ public class AtmosphereRequestHandler implements IRequestHandler
private Collection<EventSubscription> subscriptions;
+ private EventSubscriptionInvoker eventSubscriptionInvoker;
+
private boolean ajaxRequestScheduled = false;
/**
@@ -52,13 +51,15 @@ public class AtmosphereRequestHandler implements IRequestHandler
* @param pageKey
* @param subscriptions
* @param event
+ * @param eventSubscriptionInvoker
*/
public AtmosphereRequestHandler(PageKey pageKey, Collection<EventSubscription> subscriptions,
- AtmosphereEvent event)
+ AtmosphereEvent event, EventSubscriptionInvoker eventSubscriptionInvoker)
{
this.pageKey = pageKey;
this.subscriptions = subscriptions;
this.event = event;
+ this.eventSubscriptionInvoker = eventSubscriptionInvoker;
}
@Override
@@ -85,37 +86,22 @@ public class AtmosphereRequestHandler implements IRequestHandler
}
}
- private void invokeMethod(AjaxRequestTarget target, EventSubscription subscription, Object base)
+ private void invokeMethod(final AjaxRequestTarget target, EventSubscription subscription,
+ Object base)
{
- for (Method curMethod : base.getClass().getMethods())
+ AjaxRequestInitializer initializer = new AjaxRequestInitializer()
{
- if (curMethod.isAnnotationPresent(Subscribe.class) &&
- curMethod.getName().equals(subscription.getMethodName()))
+ @Override
+ public void initialize()
{
- try
- {
- if (!ajaxRequestScheduled)
- {
- ajaxRequestScheduled = true;
- RequestCycle.get().scheduleRequestHandlerAfterCurrent(target);
- }
- curMethod.setAccessible(true);
- curMethod.invoke(base, target, event.getPayload());
- }
- catch (IllegalAccessException e)
- {
- throw new WicketRuntimeException(e);
- }
- catch (IllegalArgumentException e)
- {
- throw new WicketRuntimeException(e);
- }
- catch (InvocationTargetException e)
+ if (!ajaxRequestScheduled)
{
- throw new WicketRuntimeException(e);
+ RequestCycle.get().scheduleRequestHandlerAfterCurrent(target);
+ ajaxRequestScheduled = true;
}
}
- }
+ };
+ eventSubscriptionInvoker.invoke(target, subscription, base, event, initializer);
}
@Override
http://git-wip-us.apache.org/repos/asf/wicket/blob/53cdda3b/wicket-experimental/wicket-atmosphere/src/main/java/org/apache/wicket/atmosphere/AtmosphereRequestMapper.java
----------------------------------------------------------------------
diff --git a/wicket-experimental/wicket-atmosphere/src/main/java/org/apache/wicket/atmosphere/AtmosphereRequestMapper.java b/wicket-experimental/wicket-atmosphere/src/main/java/org/apache/wicket/atmosphere/AtmosphereRequestMapper.java
index dbc4080..2b6b8c9 100644
--- a/wicket-experimental/wicket-atmosphere/src/main/java/org/apache/wicket/atmosphere/AtmosphereRequestMapper.java
+++ b/wicket-experimental/wicket-atmosphere/src/main/java/org/apache/wicket/atmosphere/AtmosphereRequestMapper.java
@@ -29,6 +29,28 @@ import org.apache.wicket.request.Url;
*/
public class AtmosphereRequestMapper implements IRequestMapper
{
+ private EventSubscriptionInvoker eventSubscriptionInvoker;
+
+ /**
+ *
+ * Construct with {@link SubscribeAnnotationEventSubscriptionInvoker}
+ */
+ public AtmosphereRequestMapper()
+ {
+ eventSubscriptionInvoker = new SubscribeAnnotationEventSubscriptionInvoker();
+ }
+
+ /**
+ *
+ * Construct.
+ *
+ * @param eventSubscriptionInvoker
+ */
+ public AtmosphereRequestMapper(EventSubscriptionInvoker eventSubscriptionInvoker)
+ {
+ this.eventSubscriptionInvoker = eventSubscriptionInvoker;
+ }
+
@Override
public IRequestHandler mapRequest(Request request)
{
@@ -36,7 +58,7 @@ public class AtmosphereRequestMapper implements IRequestMapper
{
AtmosphereWebRequest pushRequest = (AtmosphereWebRequest)request;
return new AtmosphereRequestHandler(pushRequest.getPageKey(),
- pushRequest.getSubscriptions(), pushRequest.getEvent());
+ pushRequest.getSubscriptions(), pushRequest.getEvent(), eventSubscriptionInvoker);
}
return null;
}
http://git-wip-us.apache.org/repos/asf/wicket/blob/53cdda3b/wicket-experimental/wicket-atmosphere/src/main/java/org/apache/wicket/atmosphere/EventBus.java
----------------------------------------------------------------------
diff --git 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
index 5f2dc44..65af1c6 100644
--- 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
@@ -32,6 +32,7 @@ import org.apache.wicket.MetaDataKey;
import org.apache.wicket.Page;
import org.apache.wicket.Session;
import org.apache.wicket.ThreadContext;
+import org.apache.wicket.application.IComponentOnBeforeRenderListener;
import org.apache.wicket.atmosphere.config.AtmosphereParameters;
import org.apache.wicket.protocol.http.WebApplication;
import org.apache.wicket.protocol.http.WicketFilter;
@@ -125,13 +126,31 @@ public class EventBus implements UnboundListener
this.application = application;
this.broadcaster = broadcaster;
application.setMetaData(EVENT_BUS_KEY, this);
- application.mount(new AtmosphereRequestMapper());
+ application.mount(new AtmosphereRequestMapper(createEventSubscriptionInvoker()));
application.getComponentPostOnBeforeRenderListeners().add(
- new AtmosphereEventSubscriptionCollector(this));
+ createEventSubscriptionCollector());
application.getSessionStore().registerUnboundListener(this);
}
/**
+ *
+ * @return event subscription invoker
+ */
+ protected EventSubscriptionInvoker createEventSubscriptionInvoker()
+ {
+ return new SubscribeAnnotationEventSubscriptionInvoker();
+ }
+
+ /**
+ *
+ * @return event subscription collector
+ */
+ protected IComponentOnBeforeRenderListener createEventSubscriptionCollector()
+ {
+ return new AtmosphereEventSubscriptionCollector(this);
+ }
+
+ /**
* @return The {@link Broadcaster} used by the {@code EventBus} to broadcast messages to.
*/
public Broadcaster getBroadcaster()
http://git-wip-us.apache.org/repos/asf/wicket/blob/53cdda3b/wicket-experimental/wicket-atmosphere/src/main/java/org/apache/wicket/atmosphere/EventSubscription.java
----------------------------------------------------------------------
diff --git a/wicket-experimental/wicket-atmosphere/src/main/java/org/apache/wicket/atmosphere/EventSubscription.java b/wicket-experimental/wicket-atmosphere/src/main/java/org/apache/wicket/atmosphere/EventSubscription.java
index 36fda28..dfd8912 100644
--- a/wicket-experimental/wicket-atmosphere/src/main/java/org/apache/wicket/atmosphere/EventSubscription.java
+++ b/wicket-experimental/wicket-atmosphere/src/main/java/org/apache/wicket/atmosphere/EventSubscription.java
@@ -62,6 +62,26 @@ public class EventSubscription
methodName = method.getName();
}
+ /**
+ * Construct.
+ *
+ * @param component
+ * @param behavior
+ * @param method
+ * @param filter
+ * @param contextAwareFilter
+ */
+ public EventSubscription(Component component, Behavior behavior, Method method,
+ Predicate<AtmosphereEvent> filter, Predicate<AtmosphereEvent> contextAwareFilter)
+ {
+ componentPath = component.getPageRelativePath();
+ behaviorIndex = behavior == null ? null : component.getBehaviorId(behavior);
+ this.filter = filter == null ? new NoFilterPredicate() : filter;
+ this.contextAwareFilter = contextAwareFilter == null ? new NoFilterPredicate()
+ : contextAwareFilter;
+ methodName = method.getName();
+ }
+
private static Predicate<AtmosphereEvent> payloadOfType(final Class<?> type)
{
return new Predicate<AtmosphereEvent>()
http://git-wip-us.apache.org/repos/asf/wicket/blob/53cdda3b/wicket-experimental/wicket-atmosphere/src/main/java/org/apache/wicket/atmosphere/EventSubscriptionInvoker.java
----------------------------------------------------------------------
diff --git a/wicket-experimental/wicket-atmosphere/src/main/java/org/apache/wicket/atmosphere/EventSubscriptionInvoker.java b/wicket-experimental/wicket-atmosphere/src/main/java/org/apache/wicket/atmosphere/EventSubscriptionInvoker.java
new file mode 100644
index 0000000..3bc3722
--- /dev/null
+++ b/wicket-experimental/wicket-atmosphere/src/main/java/org/apache/wicket/atmosphere/EventSubscriptionInvoker.java
@@ -0,0 +1,43 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.wicket.atmosphere;
+
+import org.apache.wicket.ajax.AjaxRequestTarget;
+
+/**
+ * Invokes {@link EventSubscription}
+ */
+public interface EventSubscriptionInvoker
+{
+ /**
+ *
+ * @param target
+ * {@link AjaxRequestTarget} to which {@link EventSubscription} result should be set
+ * @param subscription
+ * {@link EventSubscription}
+ * @param base
+ * {@link EventSubscription} object on which {@link EventSubscription} should be
+ * invoked
+ * @param event
+ * @param ajaxRequestInitializer
+ * call {@code ajaxRequestInitializer.initialize()} before you are going to invoke
+ * {@link EventSubscription}
+ * @return true if invocation was successful
+ */
+ boolean invoke(AjaxRequestTarget target, EventSubscription subscription, Object base,
+ AtmosphereEvent event, AjaxRequestInitializer ajaxRequestInitializer);
+}
http://git-wip-us.apache.org/repos/asf/wicket/blob/53cdda3b/wicket-experimental/wicket-atmosphere/src/main/java/org/apache/wicket/atmosphere/SubscribeAnnotationEventSubscriptionInvoker.java
----------------------------------------------------------------------
diff --git a/wicket-experimental/wicket-atmosphere/src/main/java/org/apache/wicket/atmosphere/SubscribeAnnotationEventSubscriptionInvoker.java b/wicket-experimental/wicket-atmosphere/src/main/java/org/apache/wicket/atmosphere/SubscribeAnnotationEventSubscriptionInvoker.java
new file mode 100644
index 0000000..0856cb0
--- /dev/null
+++ b/wicket-experimental/wicket-atmosphere/src/main/java/org/apache/wicket/atmosphere/SubscribeAnnotationEventSubscriptionInvoker.java
@@ -0,0 +1,63 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.wicket.atmosphere;
+
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+
+import org.apache.wicket.WicketRuntimeException;
+import org.apache.wicket.ajax.AjaxRequestTarget;
+
+/**
+ * Handles invocations of methods annotated with {@link Subscribe} annotation.
+ */
+public class SubscribeAnnotationEventSubscriptionInvoker implements EventSubscriptionInvoker
+{
+ @Override
+ public boolean invoke(AjaxRequestTarget target, EventSubscription subscription, Object base,
+ AtmosphereEvent event, AjaxRequestInitializer ajaxRequestInitializer)
+ {
+ for (Method curMethod : base.getClass().getMethods())
+ {
+ if (curMethod.isAnnotationPresent(Subscribe.class) &&
+ curMethod.getName().equals(subscription.getMethodName()))
+ {
+ ajaxRequestInitializer.initialize();
+ try
+ {
+ curMethod.setAccessible(true);
+ curMethod.invoke(base, target, event.getPayload());
+ return true;
+ }
+ catch (IllegalAccessException e)
+ {
+ throw new WicketRuntimeException(e);
+ }
+ catch (IllegalArgumentException e)
+ {
+ throw new WicketRuntimeException(e);
+ }
+ catch (InvocationTargetException e)
+ {
+ throw new WicketRuntimeException(e);
+ }
+ }
+ }
+ return false;
+ }
+
+}
[2/3] git commit: document EventSubscriptionInvoker and return void
from #invoke()
Posted by pa...@apache.org.
document EventSubscriptionInvoker and return void from #invoke()
Project: http://git-wip-us.apache.org/repos/asf/wicket/repo
Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/cd7bf7d1
Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/cd7bf7d1
Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/cd7bf7d1
Branch: refs/heads/master
Commit: cd7bf7d1bdbb323b49e015902a59705c2130cf9c
Parents: 53cdda3
Author: Dan Retzlaff <dr...@gmail.com>
Authored: Wed Jun 12 06:28:15 2013 -0700
Committer: Dan Retzlaff <dr...@gmail.com>
Committed: Wed Jun 12 06:30:32 2013 -0700
----------------------------------------------------------------------
.../wicket/atmosphere/EventSubscriptionInvoker.java | 12 ++++++++----
.../SubscribeAnnotationEventSubscriptionInvoker.java | 4 +---
2 files changed, 9 insertions(+), 7 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/wicket/blob/cd7bf7d1/wicket-experimental/wicket-atmosphere/src/main/java/org/apache/wicket/atmosphere/EventSubscriptionInvoker.java
----------------------------------------------------------------------
diff --git a/wicket-experimental/wicket-atmosphere/src/main/java/org/apache/wicket/atmosphere/EventSubscriptionInvoker.java b/wicket-experimental/wicket-atmosphere/src/main/java/org/apache/wicket/atmosphere/EventSubscriptionInvoker.java
index 3bc3722..ed70b62 100644
--- a/wicket-experimental/wicket-atmosphere/src/main/java/org/apache/wicket/atmosphere/EventSubscriptionInvoker.java
+++ b/wicket-experimental/wicket-atmosphere/src/main/java/org/apache/wicket/atmosphere/EventSubscriptionInvoker.java
@@ -16,28 +16,32 @@
*/
package org.apache.wicket.atmosphere;
+import org.apache.wicket.Component;
import org.apache.wicket.ajax.AjaxRequestTarget;
+import org.apache.wicket.behavior.Behavior;
/**
- * Invokes {@link EventSubscription}
+ * Delivers events to a subscribed {@link Component} or {@link Behavior}. Implementations convey
+ * {@link AtmosphereEvent#getPayload()} into an invocation of the subscription method
+ * {@link EventSubscription#getMethodName()}.
*/
public interface EventSubscriptionInvoker
{
/**
*
* @param target
- * {@link AjaxRequestTarget} to which {@link EventSubscription} result should be set
+ * {@link AjaxRequestTarget} to which {@link EventSubscription} result should be sent
* @param subscription
* {@link EventSubscription}
* @param base
* {@link EventSubscription} object on which {@link EventSubscription} should be
* invoked
* @param event
+ * {@link AtmosphereEvent} which matches the {@link EventSubscription}'s predicates
* @param ajaxRequestInitializer
* call {@code ajaxRequestInitializer.initialize()} before you are going to invoke
* {@link EventSubscription}
- * @return true if invocation was successful
*/
- boolean invoke(AjaxRequestTarget target, EventSubscription subscription, Object base,
+ void invoke(AjaxRequestTarget target, EventSubscription subscription, Object base,
AtmosphereEvent event, AjaxRequestInitializer ajaxRequestInitializer);
}
http://git-wip-us.apache.org/repos/asf/wicket/blob/cd7bf7d1/wicket-experimental/wicket-atmosphere/src/main/java/org/apache/wicket/atmosphere/SubscribeAnnotationEventSubscriptionInvoker.java
----------------------------------------------------------------------
diff --git a/wicket-experimental/wicket-atmosphere/src/main/java/org/apache/wicket/atmosphere/SubscribeAnnotationEventSubscriptionInvoker.java b/wicket-experimental/wicket-atmosphere/src/main/java/org/apache/wicket/atmosphere/SubscribeAnnotationEventSubscriptionInvoker.java
index 0856cb0..81d0a14 100644
--- a/wicket-experimental/wicket-atmosphere/src/main/java/org/apache/wicket/atmosphere/SubscribeAnnotationEventSubscriptionInvoker.java
+++ b/wicket-experimental/wicket-atmosphere/src/main/java/org/apache/wicket/atmosphere/SubscribeAnnotationEventSubscriptionInvoker.java
@@ -28,7 +28,7 @@ import org.apache.wicket.ajax.AjaxRequestTarget;
public class SubscribeAnnotationEventSubscriptionInvoker implements EventSubscriptionInvoker
{
@Override
- public boolean invoke(AjaxRequestTarget target, EventSubscription subscription, Object base,
+ public void invoke(AjaxRequestTarget target, EventSubscription subscription, Object base,
AtmosphereEvent event, AjaxRequestInitializer ajaxRequestInitializer)
{
for (Method curMethod : base.getClass().getMethods())
@@ -41,7 +41,6 @@ public class SubscribeAnnotationEventSubscriptionInvoker implements EventSubscri
{
curMethod.setAccessible(true);
curMethod.invoke(base, target, event.getPayload());
- return true;
}
catch (IllegalAccessException e)
{
@@ -57,7 +56,6 @@ public class SubscribeAnnotationEventSubscriptionInvoker implements EventSubscri
}
}
}
- return false;
}
}
[3/3] git commit: Merge pull request 42 from
'extensible-atmosphere-notifications' of https://github.com/dretzlaff/wicket
Posted by pa...@apache.org.
Merge pull request 42 from 'extensible-atmosphere-notifications' of https://github.com/dretzlaff/wicket
Project: http://git-wip-us.apache.org/repos/asf/wicket/repo
Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/8fb99dde
Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/8fb99dde
Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/8fb99dde
Branch: refs/heads/master
Commit: 8fb99ddefc22d45d34ed03682af1425be41bc781
Parents: 21ecfee cd7bf7d
Author: Emond Papegaaij <em...@topicus.nl>
Authored: Wed Jun 12 19:15:06 2013 +0200
Committer: Emond Papegaaij <em...@topicus.nl>
Committed: Wed Jun 12 19:15:06 2013 +0200
----------------------------------------------------------------------
.../atmosphere/AjaxRequestInitializer.java | 30 ++++++++++
.../atmosphere/AtmosphereRequestHandler.java | 44 +++++---------
.../atmosphere/AtmosphereRequestMapper.java | 24 +++++++-
.../org/apache/wicket/atmosphere/EventBus.java | 23 +++++++-
.../wicket/atmosphere/EventSubscription.java | 20 +++++++
.../atmosphere/EventSubscriptionInvoker.java | 47 +++++++++++++++
...cribeAnnotationEventSubscriptionInvoker.java | 61 ++++++++++++++++++++
7 files changed, 217 insertions(+), 32 deletions(-)
----------------------------------------------------------------------