You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by kn...@apache.org on 2009/04/06 13:30:33 UTC
svn commit: r762285 - in
/wicket/sandbox/knopp/experimental/wicket-ng/src/main/java/org/apache/wicket:
./ request/encoder/ request/encoder/parameters/ request/handler/
Author: knopp
Date: Mon Apr 6 11:30:32 2009
New Revision: 762285
URL: http://svn.apache.org/viewvc?rev=762285&view=rev
Log: (empty)
Modified:
wicket/sandbox/knopp/experimental/wicket-ng/src/main/java/org/apache/wicket/RequestCycle.java
wicket/sandbox/knopp/experimental/wicket-ng/src/main/java/org/apache/wicket/request/encoder/AbstractEncoder.java
wicket/sandbox/knopp/experimental/wicket-ng/src/main/java/org/apache/wicket/request/encoder/BookmarkableEncoder.java
wicket/sandbox/knopp/experimental/wicket-ng/src/main/java/org/apache/wicket/request/encoder/MountedEncoder.java
wicket/sandbox/knopp/experimental/wicket-ng/src/main/java/org/apache/wicket/request/encoder/ResourceReferenceEncoder.java
wicket/sandbox/knopp/experimental/wicket-ng/src/main/java/org/apache/wicket/request/encoder/parameters/PageParametersEncoder.java
wicket/sandbox/knopp/experimental/wicket-ng/src/main/java/org/apache/wicket/request/encoder/parameters/SimplePageParametersEncoder.java
wicket/sandbox/knopp/experimental/wicket-ng/src/main/java/org/apache/wicket/request/handler/PageProvider.java
Modified: wicket/sandbox/knopp/experimental/wicket-ng/src/main/java/org/apache/wicket/RequestCycle.java
URL: http://svn.apache.org/viewvc/wicket/sandbox/knopp/experimental/wicket-ng/src/main/java/org/apache/wicket/RequestCycle.java?rev=762285&r1=762284&r2=762285&view=diff
==============================================================================
--- wicket/sandbox/knopp/experimental/wicket-ng/src/main/java/org/apache/wicket/RequestCycle.java (original)
+++ wicket/sandbox/knopp/experimental/wicket-ng/src/main/java/org/apache/wicket/RequestCycle.java Mon Apr 6 11:30:32 2009
@@ -310,7 +310,6 @@
}
;
}
- ;
set(null);
}
}
Modified: wicket/sandbox/knopp/experimental/wicket-ng/src/main/java/org/apache/wicket/request/encoder/AbstractEncoder.java
URL: http://svn.apache.org/viewvc/wicket/sandbox/knopp/experimental/wicket-ng/src/main/java/org/apache/wicket/request/encoder/AbstractEncoder.java?rev=762285&r1=762284&r2=762285&view=diff
==============================================================================
--- wicket/sandbox/knopp/experimental/wicket-ng/src/main/java/org/apache/wicket/request/encoder/AbstractEncoder.java (original)
+++ wicket/sandbox/knopp/experimental/wicket-ng/src/main/java/org/apache/wicket/request/encoder/AbstractEncoder.java Mon Apr 6 11:30:32 2009
@@ -21,11 +21,11 @@
import org.apache.wicket.RequestListenerInterface;
import org.apache.wicket.protocol.http.WebApplication;
import org.apache.wicket.request.RequestHandlerEncoder;
-import org.apache.wicket.request.RequestParameters;
import org.apache.wicket.request.Url;
import org.apache.wicket.request.Url.QueryParameter;
import org.apache.wicket.request.encoder.info.PageComponentInfo;
import org.apache.wicket.request.encoder.parameters.PageParametersEncoder;
+import org.apache.wicket.request.request.Request;
import org.apache.wicket.util.lang.Check;
import org.apache.wicket.util.lang.Classes;
import org.apache.wicket.util.string.Strings;
@@ -180,22 +180,21 @@
/**
* Extracts {@link PageParameters} from the URL using the given {@link PageParametersEncoder}.
*
- * @param url
- * @param requestParameters
+ * @param request
* @param segmentsToSkip
* how many URL segments should be skipped because they "belong" to the
* {@link RequestHandlerEncoder}
* @param encoder
* @return PageParameters instance
*/
- protected PageParameters extractPageParameters(Url url, RequestParameters requestParameters, int segmentsToSkip,
+ protected PageParameters extractPageParameters(Request request, int segmentsToSkip,
PageParametersEncoder encoder)
{
- Check.argumentNotNull(url, "url");
+ Check.argumentNotNull(request, "request");
Check.argumentNotNull(encoder, "encoder");
// strip the segments and first query parameter from URL
- Url urlCopy = new Url(url);
+ Url urlCopy = new Url(request.getUrl());
while (segmentsToSkip > 0 && urlCopy.getSegments().isEmpty() == false)
{
urlCopy.getSegments().remove(0);
@@ -207,7 +206,7 @@
urlCopy.getQueryParameters().remove(0);
}
- PageParameters decoded = encoder.decodePageParameters(urlCopy, requestParameters);
+ PageParameters decoded = encoder.decodePageParameters(request.requestWithUrl(urlCopy));
return decoded != null ? decoded : new PageParameters();
}
Modified: wicket/sandbox/knopp/experimental/wicket-ng/src/main/java/org/apache/wicket/request/encoder/BookmarkableEncoder.java
URL: http://svn.apache.org/viewvc/wicket/sandbox/knopp/experimental/wicket-ng/src/main/java/org/apache/wicket/request/encoder/BookmarkableEncoder.java?rev=762285&r1=762284&r2=762285&view=diff
==============================================================================
--- wicket/sandbox/knopp/experimental/wicket-ng/src/main/java/org/apache/wicket/request/encoder/BookmarkableEncoder.java (original)
+++ wicket/sandbox/knopp/experimental/wicket-ng/src/main/java/org/apache/wicket/request/encoder/BookmarkableEncoder.java Mon Apr 6 11:30:32 2009
@@ -102,8 +102,7 @@
Class<? extends IPage> pageClass = getPageClass(className);
// extract the PageParameters from URL if there are any
- PageParameters pageParameters = extractPageParameters(url,
- request.getRequestParameters(), 3, pageParametersEncoder);
+ PageParameters pageParameters = extractPageParameters(request, 3, pageParametersEncoder);
return new UrlInfo(info, pageClass, pageParameters);
}
Modified: wicket/sandbox/knopp/experimental/wicket-ng/src/main/java/org/apache/wicket/request/encoder/MountedEncoder.java
URL: http://svn.apache.org/viewvc/wicket/sandbox/knopp/experimental/wicket-ng/src/main/java/org/apache/wicket/request/encoder/MountedEncoder.java?rev=762285&r1=762284&r2=762285&view=diff
==============================================================================
--- wicket/sandbox/knopp/experimental/wicket-ng/src/main/java/org/apache/wicket/request/encoder/MountedEncoder.java (original)
+++ wicket/sandbox/knopp/experimental/wicket-ng/src/main/java/org/apache/wicket/request/encoder/MountedEncoder.java Mon Apr 6 11:30:32 2009
@@ -59,7 +59,6 @@
/** bookmarkable page class. */
protected final WeakReference<Class<? extends IPage>> pageClass;
-
/**
* Construct.
*
@@ -68,7 +67,7 @@
* @param pageParametersEncoder
*/
public MountedEncoder(String mountPath, Class<? extends IPage> pageClass,
- PageParametersEncoder pageParametersEncoder)
+ PageParametersEncoder pageParametersEncoder)
{
Check.argumentNotEmpty(mountPath, "mountPath");
Check.argumentNotNull(pageClass, "pageClass");
@@ -104,8 +103,7 @@
return info;
}
// check if the URL is long enough and starts with the proper segments
- else if (url.getSegments().size() >= mountSegments.length &&
- urlStartsWith(url, mountSegments))
+ else if (url.getSegments().size() >= mountSegments.length && urlStartsWith(url, mountSegments))
{
// try to extract page and component information from URL
PageComponentInfo info = getPageComponentInfo(url);
@@ -113,8 +111,7 @@
Class<? extends IPage> pageClass = this.pageClass.get();
// extract the PageParameters from URL if there are any
- PageParameters pageParameters = extractPageParameters(url,
- request.getRequestParameters(), mountSegments.length, pageParametersEncoder);
+ PageParameters pageParameters = extractPageParameters(request, mountSegments.length, pageParametersEncoder);
// check if there are placeholders in mount segments
for (int i = 0; i < mountSegments.length; ++i)
@@ -186,9 +183,9 @@
}
/**
- * If this method returns <code>true</code> and application home page class is same as the
- * class mounted with this encoder, request to home page will result in a redirect to the
- * mounted path.
+ * If this method returns <code>true</code> and application home page class is same as the class
+ * mounted with this encoder, request to home page will result in a redirect to the mounted
+ * path.
*
* @return whether this encode should respond to home page request when home page class is same
* as mounted class.
@@ -215,7 +212,7 @@
return 0;
}
}
-
+
@Override
protected boolean checkPageClass(Class<? extends IPage> pageClass)
{
Modified: wicket/sandbox/knopp/experimental/wicket-ng/src/main/java/org/apache/wicket/request/encoder/ResourceReferenceEncoder.java
URL: http://svn.apache.org/viewvc/wicket/sandbox/knopp/experimental/wicket-ng/src/main/java/org/apache/wicket/request/encoder/ResourceReferenceEncoder.java?rev=762285&r1=762284&r2=762285&view=diff
==============================================================================
--- wicket/sandbox/knopp/experimental/wicket-ng/src/main/java/org/apache/wicket/request/encoder/ResourceReferenceEncoder.java (original)
+++ wicket/sandbox/knopp/experimental/wicket-ng/src/main/java/org/apache/wicket/request/encoder/ResourceReferenceEncoder.java Mon Apr 6 11:30:32 2009
@@ -33,6 +33,7 @@
* {@link ResourceReference}s.
* <p>
* Decodes and encodes the following URLs:
+ *
* <pre>
* /wicket/resource/org.apache.wicket.ResourceScope/name
* /wicket/resource/org.apache.wicket.ResourceScope/name?en
@@ -67,8 +68,8 @@
public RequestHandler decode(Request request)
{
Url url = request.getUrl();
- if (url.getSegments().size() >= 4 &&
- urlStartsWith(url, getContext().getNamespace(), getContext().getResourceIdentifier()))
+ if (url.getSegments().size() >= 4
+ && urlStartsWith(url, getContext().getNamespace(), getContext().getResourceIdentifier()))
{
String className = url.getSegments().get(2);
StringBuilder name = new StringBuilder();
@@ -84,22 +85,21 @@
ResourceReferenceAttributes attributes = getResourceReferenceAttributes(url);
// extract the PageParameters from URL if there are any
- PageParameters pageParameters = extractPageParameters(url,
- request.getRequestParameters(), url.getSegments().size(), pageParametersEncoder);
+ PageParameters pageParameters = extractPageParameters(request, url.getSegments().size(),
+ pageParametersEncoder);
Class<?> scope = resolveClass(className);
if (scope != null)
{
- ResourceReference res = getContext().getResourceReferenceRegistry()
- .getResourceReference(scope, name.toString(), attributes.locale,
- attributes.style, false);
+ ResourceReference res = getContext().getResourceReferenceRegistry().getResourceReference(scope,
+ name.toString(), attributes.locale, attributes.style, false);
if (res != null)
{
Resource resource = res.getResource();
if (resource != null)
{
- ResourceRequestHandler handler = new ResourceRequestHandler(resource,
- attributes.locale, attributes.style, pageParameters);
+ ResourceRequestHandler handler = new ResourceRequestHandler(resource, attributes.locale,
+ attributes.style, pageParameters);
return handler;
}
}
@@ -122,7 +122,7 @@
{
if (requestHandler instanceof ResourceReferenceRequestHandler)
{
- ResourceReferenceRequestHandler referenceRequestHandler = (ResourceReferenceRequestHandler)requestHandler;
+ ResourceReferenceRequestHandler referenceRequestHandler = (ResourceReferenceRequestHandler) requestHandler;
ResourceReference reference = referenceRequestHandler.getResourceReference();
Url url = new Url();
url.getSegments().add(getContext().getNamespace());
Modified: wicket/sandbox/knopp/experimental/wicket-ng/src/main/java/org/apache/wicket/request/encoder/parameters/PageParametersEncoder.java
URL: http://svn.apache.org/viewvc/wicket/sandbox/knopp/experimental/wicket-ng/src/main/java/org/apache/wicket/request/encoder/parameters/PageParametersEncoder.java?rev=762285&r1=762284&r2=762285&view=diff
==============================================================================
--- wicket/sandbox/knopp/experimental/wicket-ng/src/main/java/org/apache/wicket/request/encoder/parameters/PageParametersEncoder.java (original)
+++ wicket/sandbox/knopp/experimental/wicket-ng/src/main/java/org/apache/wicket/request/encoder/parameters/PageParametersEncoder.java Mon Apr 6 11:30:32 2009
@@ -18,8 +18,8 @@
import org.apache.wicket.PageParameters;
import org.apache.wicket.request.RequestHandler;
-import org.apache.wicket.request.RequestParameters;
import org.apache.wicket.request.Url;
+import org.apache.wicket.request.request.Request;
/**
* Encoder that can encode and decode {@link PageParameters} to/from URL.
@@ -41,11 +41,8 @@
* Decodes the given URL to {@link PageParameters}. The URL will have all
* {@link RequestHandler} specified segments/parameters stripped.
*
- * @param url
- * @param parameters
- * provides all request (GET and POST) parameters. Some encoders might require the
- * POST parameters which are not part of the URL
+ * @param request
* @return {@link PageParameters} instance
*/
- public PageParameters decodePageParameters(Url url, RequestParameters parameters);
+ public PageParameters decodePageParameters(Request requuest);
}
Modified: wicket/sandbox/knopp/experimental/wicket-ng/src/main/java/org/apache/wicket/request/encoder/parameters/SimplePageParametersEncoder.java
URL: http://svn.apache.org/viewvc/wicket/sandbox/knopp/experimental/wicket-ng/src/main/java/org/apache/wicket/request/encoder/parameters/SimplePageParametersEncoder.java?rev=762285&r1=762284&r2=762285&view=diff
==============================================================================
--- wicket/sandbox/knopp/experimental/wicket-ng/src/main/java/org/apache/wicket/request/encoder/parameters/SimplePageParametersEncoder.java (original)
+++ wicket/sandbox/knopp/experimental/wicket-ng/src/main/java/org/apache/wicket/request/encoder/parameters/SimplePageParametersEncoder.java Mon Apr 6 11:30:32 2009
@@ -19,9 +19,9 @@
import java.util.List;
import org.apache.wicket.PageParameters;
-import org.apache.wicket.request.RequestParameters;
import org.apache.wicket.request.Url;
import org.apache.wicket.request.Url.QueryParameter;
+import org.apache.wicket.request.request.Request;
import org.apache.wicket.util.string.StringValue;
/**
@@ -38,18 +38,18 @@
{
}
- public PageParameters decodePageParameters(Url url, RequestParameters requestParameters)
+ public PageParameters decodePageParameters(Request request)
{
PageParameters parameters = new PageParameters();
int i = 0;
- for (String s : url.getSegments())
+ for (String s : request.getUrl().getSegments())
{
parameters.setIndexedParameter(i, s);
++i;
}
- for (QueryParameter p : url.getQueryParameters())
+ for (QueryParameter p : request.getUrl().getQueryParameters())
{
parameters.addNamedParameter(p.getName(), p.getValue());
}
Modified: wicket/sandbox/knopp/experimental/wicket-ng/src/main/java/org/apache/wicket/request/handler/PageProvider.java
URL: http://svn.apache.org/viewvc/wicket/sandbox/knopp/experimental/wicket-ng/src/main/java/org/apache/wicket/request/handler/PageProvider.java?rev=762285&r1=762284&r2=762285&view=diff
==============================================================================
--- wicket/sandbox/knopp/experimental/wicket-ng/src/main/java/org/apache/wicket/request/handler/PageProvider.java (original)
+++ wicket/sandbox/knopp/experimental/wicket-ng/src/main/java/org/apache/wicket/request/handler/PageProvider.java Mon Apr 6 11:30:32 2009
@@ -201,7 +201,7 @@
IPage page = null;
boolean freshCreated = false;
-
+
if (pageId != null)
{
page = pageSource.getPageInstance(pageId);
@@ -267,12 +267,17 @@
private void setPageParameters(PageParameters pageParameters)
{
Check.argumentNotNull(pageParameters, "pageParameters");
-
+
this.pageParameters = pageParameters;
}
-
+
private void touchPageInstance()
{
- Application.get().getPageManager().touchPage(pageInstance);
+ // If there is application accessible from current thread touch
+ // the page instance
+ if (Application.exists())
+ {
+ Application.get().getPageManager().touchPage(pageInstance);
+ }
}
}