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/02/19 15:47:07 UTC
[2/2] git commit: WICKET-5044: use ServletWebRequest for atmosphere
requests
Updated Branches:
refs/heads/master 2e74e97fe -> e5058b118
WICKET-5044: use ServletWebRequest for atmosphere requests
Project: http://git-wip-us.apache.org/repos/asf/wicket/repo
Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/12d6be7a
Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/12d6be7a
Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/12d6be7a
Branch: refs/heads/master
Commit: 12d6be7aba3755495a4cd0adef7f9f1a159c8b7a
Parents: 2e74e97
Author: Emond Papegaaij <em...@topicus.nl>
Authored: Mon Feb 18 07:38:58 2013 +0100
Committer: Emond Papegaaij <em...@topicus.nl>
Committed: Tue Feb 19 15:46:56 2013 +0100
----------------------------------------------------------------------
.../wicket/atmosphere/AtmosphereWebRequest.java | 119 ++++++++++++++-
.../org/apache/wicket/atmosphere/EventBus.java | 6 +-
2 files changed, 118 insertions(+), 7 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/wicket/blob/12d6be7a/wicket-experimental/wicket-atmosphere/src/main/java/org/apache/wicket/atmosphere/AtmosphereWebRequest.java
----------------------------------------------------------------------
diff --git a/wicket-experimental/wicket-atmosphere/src/main/java/org/apache/wicket/atmosphere/AtmosphereWebRequest.java b/wicket-experimental/wicket-atmosphere/src/main/java/org/apache/wicket/atmosphere/AtmosphereWebRequest.java
index 2fe006e..18556de 100644
--- a/wicket-experimental/wicket-atmosphere/src/main/java/org/apache/wicket/atmosphere/AtmosphereWebRequest.java
+++ b/wicket-experimental/wicket-atmosphere/src/main/java/org/apache/wicket/atmosphere/AtmosphereWebRequest.java
@@ -22,10 +22,17 @@ import java.util.List;
import java.util.Locale;
import javax.servlet.http.Cookie;
+import javax.servlet.http.HttpServletRequest;
+import org.apache.wicket.protocol.http.RequestUtils;
+import org.apache.wicket.protocol.http.servlet.MultipartServletWebRequest;
+import org.apache.wicket.protocol.http.servlet.ServletWebRequest;
+import org.apache.wicket.request.IRequestParameters;
import org.apache.wicket.request.Url;
-import org.apache.wicket.request.http.WebRequest;
+import org.apache.wicket.util.lang.Bytes;
import org.apache.wicket.util.time.Time;
+import org.apache.wicket.util.upload.FileItemFactory;
+import org.apache.wicket.util.upload.FileUploadException;
/**
* Internal request to signal the processing of an event. This request will be mapped by
@@ -34,9 +41,9 @@ import org.apache.wicket.util.time.Time;
*
* @author papegaaij
*/
-class AtmosphereWebRequest extends WebRequest
+class AtmosphereWebRequest extends ServletWebRequest
{
- private WebRequest wrappedRequest;
+ private ServletWebRequest wrappedRequest;
private PageKey pageKey;
@@ -44,9 +51,10 @@ class AtmosphereWebRequest extends WebRequest
private AtmosphereEvent event;
- AtmosphereWebRequest(WebRequest wrappedRequest, PageKey pageKey,
+ AtmosphereWebRequest(ServletWebRequest wrappedRequest, PageKey pageKey,
Collection<EventSubscription> subscriptions, AtmosphereEvent event)
{
+ super(wrappedRequest.getContainerRequest(), wrappedRequest.getFilterPrefix());
this.wrappedRequest = wrappedRequest;
this.pageKey = pageKey;
this.subscriptions = subscriptions;
@@ -113,16 +121,117 @@ class AtmosphereWebRequest extends WebRequest
@Override
public Charset getCharset()
{
+ // called from the super constructor, when wrappedRequest is still null
+ if (wrappedRequest == null)
+ return RequestUtils.getCharset(super.getContainerRequest());
return wrappedRequest.getCharset();
}
@Override
- public Object getContainerRequest()
+ public Cookie getCookie(String cookieName)
+ {
+ return wrappedRequest.getCookie(cookieName);
+ }
+
+ @Override
+ public int hashCode()
+ {
+ return wrappedRequest.hashCode();
+ }
+
+ @Override
+ public Url getOriginalUrl()
+ {
+ return wrappedRequest.getOriginalUrl();
+ }
+
+ @Override
+ public IRequestParameters getQueryParameters()
+ {
+ return wrappedRequest.getQueryParameters();
+ }
+
+ @Override
+ public IRequestParameters getRequestParameters()
+ {
+ return wrappedRequest.getRequestParameters();
+ }
+
+ @Override
+ public boolean equals(Object obj)
+ {
+ return wrappedRequest.equals(obj);
+ }
+
+ @Override
+ public String getFilterPrefix()
+ {
+ return wrappedRequest.getFilterPrefix();
+ }
+
+ @Override
+ public String toString()
+ {
+ return wrappedRequest.toString();
+ }
+
+ @Override
+ public IRequestParameters getPostParameters()
+ {
+ return wrappedRequest.getPostParameters();
+ }
+
+ @Override
+ public ServletWebRequest cloneWithUrl(Url url)
+ {
+ return wrappedRequest.cloneWithUrl(url);
+ }
+
+ @Override
+ public MultipartServletWebRequest newMultipartWebRequest(Bytes maxSize, String upload)
+ throws FileUploadException
+ {
+ return wrappedRequest.newMultipartWebRequest(maxSize, upload);
+ }
+
+ @Override
+ public MultipartServletWebRequest newMultipartWebRequest(Bytes maxSize, String upload,
+ FileItemFactory factory) throws FileUploadException
+ {
+ return wrappedRequest.newMultipartWebRequest(maxSize, upload, factory);
+ }
+
+ @Override
+ public String getPrefixToContextPath()
+ {
+ return wrappedRequest.getPrefixToContextPath();
+ }
+
+ @Override
+ public HttpServletRequest getContainerRequest()
{
return wrappedRequest.getContainerRequest();
}
@Override
+ public String getContextPath()
+ {
+ return wrappedRequest.getContextPath();
+ }
+
+ @Override
+ public String getFilterPath()
+ {
+ return wrappedRequest.getFilterPath();
+ }
+
+ @Override
+ public boolean shouldPreserveClientUrl()
+ {
+ return wrappedRequest.shouldPreserveClientUrl();
+ }
+
+ @Override
public boolean isAjax()
{
return true;
http://git-wip-us.apache.org/repos/asf/wicket/blob/12d6be7a/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 a312f99..579d61b 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
@@ -35,6 +35,7 @@ import org.apache.wicket.ThreadContext;
import org.apache.wicket.atmosphere.config.AtmosphereParameters;
import org.apache.wicket.protocol.http.WebApplication;
import org.apache.wicket.protocol.http.WicketFilter;
+import org.apache.wicket.protocol.http.servlet.ServletWebRequest;
import org.apache.wicket.request.Response;
import org.apache.wicket.session.ISessionStore.UnboundListener;
import org.atmosphere.cpr.AtmosphereResource;
@@ -314,8 +315,9 @@ public class EventBus implements UnboundListener
return ret == null ? "" : ret;
}
};
- AtmosphereWebRequest request = new AtmosphereWebRequest(application.newWebRequest(
- httpRequest, filterPath), pageKey, subscriptionsForPage, event);
+ AtmosphereWebRequest request = new AtmosphereWebRequest(
+ (ServletWebRequest)application.newWebRequest(httpRequest, filterPath), pageKey,
+ subscriptionsForPage, event);
Response response = new AtmosphereWebResponse(resource.getResponse());
if (application.createRequestCycle(request, response).processRequestAndDetach())
broadcaster.broadcast(response.toString(), resource);