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 2012/05/04 14:12:23 UTC

[22/24] git commit: more consistent naming and implemented more methods in the response

more consistent naming and implemented more methods in the response


Project: http://git-wip-us.apache.org/repos/asf/wicket/repo
Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/78c6b2cc
Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/78c6b2cc
Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/78c6b2cc

Branch: refs/heads/master
Commit: 78c6b2cc32b0bcab698c38ed40140fa1076c15bd
Parents: c3d9082
Author: Emond Papegaaij <pa...@apache.org>
Authored: Wed Apr 4 10:56:16 2012 +0200
Committer: Emond Papegaaij <pa...@apache.org>
Committed: Thu Apr 19 11:07:55 2012 +0200

----------------------------------------------------------------------
 .../wicket/atmosphere/AtmosphereBehavior.java      |    6 +
 .../wicket/atmosphere/AtmosphereRequestMapper.java |   33 ++++
 .../wicket/atmosphere/AtmosphereWebRequest.java    |  101 ++++++++++
 .../wicket/atmosphere/AtmosphereWebResponse.java   |  147 +++++++++++++++
 .../org/apache/wicket/atmosphere/EventBus.java     |   23 ++-
 .../wicket/atmosphere/PushRequestMapper.java       |   33 ----
 .../apache/wicket/atmosphere/PushWebRequest.java   |  101 ----------
 .../wicket/atmosphere/StringWebResponse.java       |  141 --------------
 .../wicket/atmosphere/jquery.wicketatmosphere.js   |   11 -
 .../wicket/examples/atmosphere/HomePage.java       |    1 +
 10 files changed, 306 insertions(+), 291 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/78c6b2cc/wicket-atmosphere/src/main/java/org/apache/wicket/atmosphere/AtmosphereBehavior.java
----------------------------------------------------------------------
diff --git a/wicket-atmosphere/src/main/java/org/apache/wicket/atmosphere/AtmosphereBehavior.java b/wicket-atmosphere/src/main/java/org/apache/wicket/atmosphere/AtmosphereBehavior.java
index f6d07f3..6f1734f 100644
--- a/wicket-atmosphere/src/main/java/org/apache/wicket/atmosphere/AtmosphereBehavior.java
+++ b/wicket-atmosphere/src/main/java/org/apache/wicket/atmosphere/AtmosphereBehavior.java
@@ -113,6 +113,12 @@ public class AtmosphereBehavior extends Behavior
 				Meteor meteor = Meteor.lookup(event.getResource().getRequest());
 				meteor.resume();
 			}
+
+			if ((System.currentTimeMillis() - connectedAt) > 10000)
+			{
+				Meteor meteor = Meteor.lookup(event.getResource().getRequest());
+				meteor.resume();
+			}
 		}
 	}
 

http://git-wip-us.apache.org/repos/asf/wicket/blob/78c6b2cc/wicket-atmosphere/src/main/java/org/apache/wicket/atmosphere/AtmosphereRequestMapper.java
----------------------------------------------------------------------
diff --git a/wicket-atmosphere/src/main/java/org/apache/wicket/atmosphere/AtmosphereRequestMapper.java b/wicket-atmosphere/src/main/java/org/apache/wicket/atmosphere/AtmosphereRequestMapper.java
new file mode 100644
index 0000000..25b5f86
--- /dev/null
+++ b/wicket-atmosphere/src/main/java/org/apache/wicket/atmosphere/AtmosphereRequestMapper.java
@@ -0,0 +1,33 @@
+package org.apache.wicket.atmosphere;
+
+import org.apache.wicket.request.IRequestHandler;
+import org.apache.wicket.request.IRequestMapper;
+import org.apache.wicket.request.Request;
+import org.apache.wicket.request.Url;
+
+public class AtmosphereRequestMapper implements IRequestMapper
+{
+	@Override
+	public IRequestHandler mapRequest(Request request)
+	{
+		if (request instanceof AtmosphereWebRequest)
+		{
+			AtmosphereWebRequest pushRequest = (AtmosphereWebRequest) request;
+			return new AtmosphereRequestHandler(pushRequest.getPageKey(),
+				pushRequest.getSubscriptions(), pushRequest.getEvent());
+		}
+		return null;
+	}
+
+	@Override
+	public int getCompatibilityScore(Request request)
+	{
+		return request instanceof AtmosphereWebRequest ? Integer.MAX_VALUE : 0;
+	}
+
+	@Override
+	public Url mapHandler(IRequestHandler requestHandler)
+	{
+		return null;
+	}
+}

http://git-wip-us.apache.org/repos/asf/wicket/blob/78c6b2cc/wicket-atmosphere/src/main/java/org/apache/wicket/atmosphere/AtmosphereWebRequest.java
----------------------------------------------------------------------
diff --git a/wicket-atmosphere/src/main/java/org/apache/wicket/atmosphere/AtmosphereWebRequest.java b/wicket-atmosphere/src/main/java/org/apache/wicket/atmosphere/AtmosphereWebRequest.java
new file mode 100644
index 0000000..3e9c79f
--- /dev/null
+++ b/wicket-atmosphere/src/main/java/org/apache/wicket/atmosphere/AtmosphereWebRequest.java
@@ -0,0 +1,101 @@
+package org.apache.wicket.atmosphere;
+
+import java.nio.charset.Charset;
+import java.util.Collection;
+import java.util.List;
+import java.util.Locale;
+
+import javax.servlet.http.Cookie;
+
+import org.apache.wicket.request.Url;
+import org.apache.wicket.request.http.WebRequest;
+import org.apache.wicket.util.time.Time;
+
+public class AtmosphereWebRequest extends WebRequest
+{
+	private WebRequest wrappedRequest;
+
+	private PageKey pageKey;
+
+	private Collection<EventSubscription> subscriptions;
+
+	private Object event;
+
+	public AtmosphereWebRequest(WebRequest wrappedRequest, PageKey pageKey,
+			Collection<EventSubscription> subscriptions, Object event)
+	{
+		this.wrappedRequest = wrappedRequest;
+		this.pageKey = pageKey;
+		this.subscriptions = subscriptions;
+		this.event = event;
+	}
+
+	public PageKey getPageKey()
+	{
+		return pageKey;
+	}
+
+	public Collection<EventSubscription> getSubscriptions()
+	{
+		return subscriptions;
+	}
+
+	public Object getEvent()
+	{
+		return event;
+	}
+
+	@Override
+	public List<Cookie> getCookies()
+	{
+		return wrappedRequest.getCookies();
+	}
+
+	@Override
+	public List<String> getHeaders(String name)
+	{
+		return wrappedRequest.getHeaders(name);
+	}
+
+	@Override
+	public String getHeader(String name)
+	{
+		return wrappedRequest.getHeader(name);
+	}
+
+	@Override
+	public Time getDateHeader(String name)
+	{
+		return wrappedRequest.getDateHeader(name);
+	}
+
+	@Override
+	public Url getUrl()
+	{
+		return wrappedRequest.getUrl();
+	}
+
+	@Override
+	public Url getClientUrl()
+	{
+		return wrappedRequest.getClientUrl();
+	}
+
+	@Override
+	public Locale getLocale()
+	{
+		return wrappedRequest.getLocale();
+	}
+
+	@Override
+	public Charset getCharset()
+	{
+		return wrappedRequest.getCharset();
+	}
+
+	@Override
+	public Object getContainerRequest()
+	{
+		return wrappedRequest.getContainerRequest();
+	}
+}

http://git-wip-us.apache.org/repos/asf/wicket/blob/78c6b2cc/wicket-atmosphere/src/main/java/org/apache/wicket/atmosphere/AtmosphereWebResponse.java
----------------------------------------------------------------------
diff --git a/wicket-atmosphere/src/main/java/org/apache/wicket/atmosphere/AtmosphereWebResponse.java b/wicket-atmosphere/src/main/java/org/apache/wicket/atmosphere/AtmosphereWebResponse.java
new file mode 100644
index 0000000..34dc127
--- /dev/null
+++ b/wicket-atmosphere/src/main/java/org/apache/wicket/atmosphere/AtmosphereWebResponse.java
@@ -0,0 +1,147 @@
+package org.apache.wicket.atmosphere;
+
+import javax.servlet.http.Cookie;
+
+import org.apache.wicket.request.http.WebResponse;
+import org.apache.wicket.util.string.AppendingStringBuffer;
+import org.apache.wicket.util.time.Time;
+import org.atmosphere.cpr.AtmosphereResponse;
+
+public class AtmosphereWebResponse extends WebResponse
+{
+	private AtmosphereResponse response;
+	private final AppendingStringBuffer out;
+
+	public AtmosphereWebResponse(AtmosphereResponse response)
+	{
+		this.response = response;
+		out = new AppendingStringBuffer(128);
+	}
+
+	@Override
+	public void addCookie(Cookie cookie)
+	{
+		response.addCookie(cookie);
+	}
+
+	@Override
+	public void clearCookie(Cookie cookie)
+	{
+		throw new UnsupportedOperationException();
+	}
+
+	@Override
+	public void setHeader(String name, String value)
+	{
+		response.setHeader(name, value);
+	}
+
+	@Override
+	public void addHeader(String name, String value)
+	{
+		response.addHeader(name, value);
+	}
+
+	@Override
+	public void setDateHeader(String name, Time date)
+	{
+		response.setDateHeader(name, date.getMilliseconds());
+	}
+
+	@Override
+	public void setContentLength(long length)
+	{
+		response.setContentLength((int)length);
+	}
+
+	@Override
+	public void setContentType(String mimeType)
+	{
+		response.setContentType(mimeType);
+	}
+
+	@Override
+	public void setStatus(int sc)
+	{
+		response.setStatus(sc);
+	}
+
+	@Override
+	public void sendError(int sc, String msg)
+	{
+		throw new UnsupportedOperationException();
+	}
+
+	@Override
+	public String encodeRedirectURL(CharSequence url)
+	{
+		return response.encodeRedirectUrl(url.toString());
+	}
+
+	@Override
+	public void sendRedirect(String url)
+	{
+		throw new UnsupportedOperationException();
+	}
+
+	@Override
+	public void write(byte[] array)
+	{
+		throw new UnsupportedOperationException();
+	}
+
+	@Override
+	public void write(byte[] array, int offset, int length)
+	{
+		throw new UnsupportedOperationException();
+	}
+
+	@Override
+	public String encodeURL(CharSequence url)
+	{
+		return response.encodeURL(url.toString());
+	}
+
+	@Override
+	public Object getContainerResponse()
+	{
+		return response;
+	}
+
+	@Override
+	public boolean isRedirect()
+	{
+		return false;
+	}
+
+	@Override
+	public void reset()
+	{
+		out.clear();
+	}
+
+	@Override
+	public void flush()
+	{
+	}
+
+	@Override
+	public void write(CharSequence sequence)
+	{
+		out.append(sequence);
+	}
+
+	/**
+	 * @return The internal buffer directly as a {@link CharSequence}
+	 */
+	public CharSequence getBuffer()
+	{
+		return out;
+	}
+
+	@Override
+	public String toString()
+	{
+		return out.toString();
+	}
+}

http://git-wip-us.apache.org/repos/asf/wicket/blob/78c6b2cc/wicket-atmosphere/src/main/java/org/apache/wicket/atmosphere/EventBus.java
----------------------------------------------------------------------
diff --git a/wicket-atmosphere/src/main/java/org/apache/wicket/atmosphere/EventBus.java b/wicket-atmosphere/src/main/java/org/apache/wicket/atmosphere/EventBus.java
index d60bc67..7cbc06a 100644
--- a/wicket-atmosphere/src/main/java/org/apache/wicket/atmosphere/EventBus.java
+++ b/wicket-atmosphere/src/main/java/org/apache/wicket/atmosphere/EventBus.java
@@ -19,6 +19,8 @@ import org.apache.wicket.session.ISessionStore.UnboundListener;
 import org.atmosphere.cpr.AtmosphereResource;
 import org.atmosphere.cpr.Broadcaster;
 import org.atmosphere.cpr.BroadcasterFactory;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import com.google.common.collect.BiMap;
 import com.google.common.collect.Collections2;
@@ -29,6 +31,8 @@ import com.google.common.collect.Multimap;
 
 public class EventBus implements UnboundListener
 {
+	private static final Logger log = LoggerFactory.getLogger(EventBus.class);
+
 	private static final MetaDataKey<EventBus> EVENT_BUS_KEY = new MetaDataKey<EventBus>()
 	{
 		private static final long serialVersionUID = 1L;
@@ -51,9 +55,10 @@ public class EventBus implements UnboundListener
 	{
 		this.application = application;
 		application.setMetaData(EVENT_BUS_KEY, this);
-		application.mount(new PushRequestMapper());
+		application.mount(new AtmosphereRequestMapper());
 		application.getComponentPreOnBeforeRenderListeners().add(
 			new AtmosphereEventSubscriptionCollector(this));
+		application.getSessionStore().registerUnboundListener(this);
 		broadcaster = BroadcasterFactory.getDefault().lookup("/*");
 	}
 
@@ -64,10 +69,14 @@ public class EventBus implements UnboundListener
 		if (oldPage != null && !oldPage.equals(pageKey))
 			subscriptions.removeAll(oldPage);
 		trackedPages.forcePut(trackingId, pageKey);
+		log.info("registered page {} for session {}",
+			new Object[] { pageKey.getPageId(), pageKey.getSessionId() });
 	}
 
 	public synchronized void register(Page page, EventSubscription subscription)
 	{
+		log.info("registering component for {} for session {}: {}", new Object[] {
+				page.getPageId(), Session.get().getId(), subscription.getComponentPath() });
 		subscriptions.put(new PageKey(page.getPageId(), Session.get().getId()), subscription);
 	}
 
@@ -87,7 +96,10 @@ public class EventBus implements UnboundListener
 						Collections.unmodifiableCollection(subscriptions.get(key)),
 						new EventFilter(event));
 				}
-				post(resource, key, subscriptionsForPage, event);
+				if (key == null)
+					broadcaster.removeAtmosphereResource(resource);
+				else
+					post(resource, key, subscriptionsForPage, event);
 			}
 		}
 		finally
@@ -113,9 +125,9 @@ public class EventBus implements UnboundListener
 				return ret == null ? "" : ret;
 			}
 		};
-		PushWebRequest request = new PushWebRequest(application.newWebRequest(httpRequest,
-			filterPath), pageKey, subscriptionsForPage, event);
-		Response response = new StringWebResponse();
+		AtmosphereWebRequest request = new AtmosphereWebRequest(application.newWebRequest(
+			httpRequest, filterPath), pageKey, subscriptionsForPage, event);
+		Response response = new AtmosphereWebResponse(resource.getResponse());
 		if (application.createRequestCycle(request, response).processRequestAndDetach())
 			broadcaster.broadcast(response.toString(), resource);
 	}
@@ -123,6 +135,7 @@ public class EventBus implements UnboundListener
 	@Override
 	public synchronized void sessionUnbound(String sessionId)
 	{
+		log.info("Session unbound {}", sessionId);
 		Iterator<PageKey> it = Iterators.concat(trackedPages.values().iterator(),
 			subscriptions.keySet().iterator());
 		while (it.hasNext())

http://git-wip-us.apache.org/repos/asf/wicket/blob/78c6b2cc/wicket-atmosphere/src/main/java/org/apache/wicket/atmosphere/PushRequestMapper.java
----------------------------------------------------------------------
diff --git a/wicket-atmosphere/src/main/java/org/apache/wicket/atmosphere/PushRequestMapper.java b/wicket-atmosphere/src/main/java/org/apache/wicket/atmosphere/PushRequestMapper.java
deleted file mode 100644
index 909a131..0000000
--- a/wicket-atmosphere/src/main/java/org/apache/wicket/atmosphere/PushRequestMapper.java
+++ /dev/null
@@ -1,33 +0,0 @@
-package org.apache.wicket.atmosphere;
-
-import org.apache.wicket.request.IRequestHandler;
-import org.apache.wicket.request.IRequestMapper;
-import org.apache.wicket.request.Request;
-import org.apache.wicket.request.Url;
-
-public class PushRequestMapper implements IRequestMapper
-{
-	@Override
-	public IRequestHandler mapRequest(Request request)
-	{
-		if (request instanceof PushWebRequest)
-		{
-			PushWebRequest pushRequest = (PushWebRequest) request;
-			return new AtmosphereRequestHandler(pushRequest.getPageKey(),
-				pushRequest.getSubscriptions(), pushRequest.getEvent());
-		}
-		return null;
-	}
-
-	@Override
-	public int getCompatibilityScore(Request request)
-	{
-		return request instanceof PushWebRequest ? Integer.MAX_VALUE : 0;
-	}
-
-	@Override
-	public Url mapHandler(IRequestHandler requestHandler)
-	{
-		return null;
-	}
-}

http://git-wip-us.apache.org/repos/asf/wicket/blob/78c6b2cc/wicket-atmosphere/src/main/java/org/apache/wicket/atmosphere/PushWebRequest.java
----------------------------------------------------------------------
diff --git a/wicket-atmosphere/src/main/java/org/apache/wicket/atmosphere/PushWebRequest.java b/wicket-atmosphere/src/main/java/org/apache/wicket/atmosphere/PushWebRequest.java
deleted file mode 100644
index a31a73b..0000000
--- a/wicket-atmosphere/src/main/java/org/apache/wicket/atmosphere/PushWebRequest.java
+++ /dev/null
@@ -1,101 +0,0 @@
-package org.apache.wicket.atmosphere;
-
-import java.nio.charset.Charset;
-import java.util.Collection;
-import java.util.List;
-import java.util.Locale;
-
-import javax.servlet.http.Cookie;
-
-import org.apache.wicket.request.Url;
-import org.apache.wicket.request.http.WebRequest;
-import org.apache.wicket.util.time.Time;
-
-public class PushWebRequest extends WebRequest
-{
-	private WebRequest wrappedRequest;
-
-	private PageKey pageKey;
-
-	private Collection<EventSubscription> subscriptions;
-
-	private Object event;
-
-	public PushWebRequest(WebRequest wrappedRequest, PageKey pageKey,
-			Collection<EventSubscription> subscriptions, Object event)
-	{
-		this.wrappedRequest = wrappedRequest;
-		this.pageKey = pageKey;
-		this.subscriptions = subscriptions;
-		this.event = event;
-	}
-
-	public PageKey getPageKey()
-	{
-		return pageKey;
-	}
-
-	public Collection<EventSubscription> getSubscriptions()
-	{
-		return subscriptions;
-	}
-
-	public Object getEvent()
-	{
-		return event;
-	}
-
-	@Override
-	public List<Cookie> getCookies()
-	{
-		return wrappedRequest.getCookies();
-	}
-
-	@Override
-	public List<String> getHeaders(String name)
-	{
-		return wrappedRequest.getHeaders(name);
-	}
-
-	@Override
-	public String getHeader(String name)
-	{
-		return wrappedRequest.getHeader(name);
-	}
-
-	@Override
-	public Time getDateHeader(String name)
-	{
-		return wrappedRequest.getDateHeader(name);
-	}
-
-	@Override
-	public Url getUrl()
-	{
-		return wrappedRequest.getUrl();
-	}
-
-	@Override
-	public Url getClientUrl()
-	{
-		return wrappedRequest.getClientUrl();
-	}
-
-	@Override
-	public Locale getLocale()
-	{
-		return wrappedRequest.getLocale();
-	}
-
-	@Override
-	public Charset getCharset()
-	{
-		return wrappedRequest.getCharset();
-	}
-
-	@Override
-	public Object getContainerRequest()
-	{
-		return wrappedRequest.getContainerRequest();
-	}
-}

http://git-wip-us.apache.org/repos/asf/wicket/blob/78c6b2cc/wicket-atmosphere/src/main/java/org/apache/wicket/atmosphere/StringWebResponse.java
----------------------------------------------------------------------
diff --git a/wicket-atmosphere/src/main/java/org/apache/wicket/atmosphere/StringWebResponse.java b/wicket-atmosphere/src/main/java/org/apache/wicket/atmosphere/StringWebResponse.java
deleted file mode 100644
index 2f4db04..0000000
--- a/wicket-atmosphere/src/main/java/org/apache/wicket/atmosphere/StringWebResponse.java
+++ /dev/null
@@ -1,141 +0,0 @@
-package org.apache.wicket.atmosphere;
-
-import javax.servlet.http.Cookie;
-
-import org.apache.wicket.request.http.WebResponse;
-import org.apache.wicket.util.string.AppendingStringBuffer;
-import org.apache.wicket.util.time.Time;
-
-public class StringWebResponse extends WebResponse
-{
-	protected final AppendingStringBuffer out;
-
-	public StringWebResponse()
-	{
-		out = new AppendingStringBuffer(128);
-	}
-
-	@Override
-	public void addCookie(Cookie cookie)
-	{
-		throw new UnsupportedOperationException();
-	}
-
-	@Override
-	public void clearCookie(Cookie cookie)
-	{
-		throw new UnsupportedOperationException();
-	}
-
-	@Override
-	public void setHeader(String name, String value)
-	{
-	}
-
-	@Override
-	public void addHeader(String name, String value)
-	{
-		throw new UnsupportedOperationException();
-	}
-
-	@Override
-	public void setDateHeader(String name, Time date)
-	{
-	}
-
-	@Override
-	public void setContentLength(long length)
-	{
-		throw new UnsupportedOperationException();
-	}
-
-	@Override
-	public void setContentType(String mimeType)
-	{
-	}
-
-	@Override
-	public void setStatus(int sc)
-	{
-		throw new UnsupportedOperationException();
-	}
-
-	@Override
-	public void sendError(int sc, String msg)
-	{
-		throw new UnsupportedOperationException();
-	}
-
-	@Override
-	public String encodeRedirectURL(CharSequence url)
-	{
-		throw new UnsupportedOperationException();
-	}
-
-	@Override
-	public void sendRedirect(String url)
-	{
-		throw new UnsupportedOperationException();
-	}
-
-	@Override
-	public void write(byte[] array)
-	{
-		throw new UnsupportedOperationException();
-	}
-
-	@Override
-	public void write(byte[] array, int offset, int length)
-	{
-		throw new UnsupportedOperationException();
-	}
-
-	@Override
-	public String encodeURL(CharSequence url)
-	{
-		throw new UnsupportedOperationException();
-	}
-
-	@Override
-	public Object getContainerResponse()
-	{
-		throw new UnsupportedOperationException();
-	}
-
-	@Override
-	public boolean isRedirect()
-	{
-		return false;
-	}
-
-	@Override
-	public void reset()
-	{
-		out.clear();
-	}
-
-	@Override
-	public void flush()
-	{
-	}
-
-	@Override
-	public void write(CharSequence sequence)
-	{
-		out.append(sequence);
-	}
-
-	/**
-	 * @return The internal buffer directly as a {@link CharSequence}
-	 */
-	public CharSequence getBuffer()
-	{
-		return out;
-	}
-
-	@Override
-	public String toString()
-	{
-		return out.toString();
-	}
-}

http://git-wip-us.apache.org/repos/asf/wicket/blob/78c6b2cc/wicket-atmosphere/src/main/java/org/apache/wicket/atmosphere/jquery.wicketatmosphere.js
----------------------------------------------------------------------
diff --git a/wicket-atmosphere/src/main/java/org/apache/wicket/atmosphere/jquery.wicketatmosphere.js b/wicket-atmosphere/src/main/java/org/apache/wicket/atmosphere/jquery.wicketatmosphere.js
index be51a2c..8583ea0 100644
--- a/wicket-atmosphere/src/main/java/org/apache/wicket/atmosphere/jquery.wicketatmosphere.js
+++ b/wicket-atmosphere/src/main/java/org/apache/wicket/atmosphere/jquery.wicketatmosphere.js
@@ -5,17 +5,6 @@
 
 		// jquery.atmosphere.response
 		function callback(response) {
-			console.log(response.responseBody);
-			// Websocket events.
-			// $.atmosphere.log('info', [ "response.state: " +
-			// response.state
-			// ]);
-			// $.atmosphere.log('info', [ "response.transport: "
-			// + response.transport ]);
-			// $.atmosphere.log('info', [ "response.status: " +
-			// response.status
-			// ]);
-
 			detectedTransport = response.transport;
 			if (response.transport != 'polling'
 					&& response.state == 'messageReceived') {

http://git-wip-us.apache.org/repos/asf/wicket/blob/78c6b2cc/wicket-examples/src/main/java/org/apache/wicket/examples/atmosphere/HomePage.java
----------------------------------------------------------------------
diff --git a/wicket-examples/src/main/java/org/apache/wicket/examples/atmosphere/HomePage.java b/wicket-examples/src/main/java/org/apache/wicket/examples/atmosphere/HomePage.java
index b0e9015..f26c3a7 100644
--- a/wicket-examples/src/main/java/org/apache/wicket/examples/atmosphere/HomePage.java
+++ b/wicket-examples/src/main/java/org/apache/wicket/examples/atmosphere/HomePage.java
@@ -20,6 +20,7 @@ public class HomePage extends WebPage
 	{
 		add(new Label("version", getApplication().getFrameworkSettings().getVersion()));
 		add(timeLabel = new Label("time", Model.of("start")).setOutputMarkupId(true));
+		setVersioned(false);
 	}
 
 	@Subscribe