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 2010/01/12 03:29:11 UTC
svn commit: r898155 - in /wicket/trunk:
wicket-extensions/src/main/java/org/apache/wicket/extensions/captcha/kittens/
wicket/src/main/java/org/apache/wicket/
wicket/src/main/java/org/apache/wicket/ng/request/handler/impl/
wicket/src/main/java/org/apach...
Author: knopp
Date: Tue Jan 12 02:29:10 2010
New Revision: 898155
URL: http://svn.apache.org/viewvc?rev=898155&view=rev
Log: (empty)
Modified:
wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/captcha/kittens/KittenCaptchaPanel.java
wicket/trunk/wicket/src/main/java/org/apache/wicket/IResourceListener.java
wicket/trunk/wicket/src/main/java/org/apache/wicket/RequestListenerInterface.java
wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/handler/impl/ListenerInterfaceRequestHandler.java
wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/AbstractBookmarkableMapper.java
wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/PageInstanceMapper.java
Modified: wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/captcha/kittens/KittenCaptchaPanel.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/captcha/kittens/KittenCaptchaPanel.java?rev=898155&r1=898154&r2=898155&view=diff
==============================================================================
--- wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/captcha/kittens/KittenCaptchaPanel.java (original)
+++ wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/captcha/kittens/KittenCaptchaPanel.java Tue Jan 12 02:29:10 2010
@@ -39,10 +39,10 @@
import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.markup.html.image.Image;
import org.apache.wicket.markup.html.image.NonCachingImage;
-import org.apache.wicket.markup.html.image.resource.DynamicImageResource;
import org.apache.wicket.markup.html.panel.Panel;
import org.apache.wicket.model.AbstractReadOnlyModel;
import org.apache.wicket.ng.request.cycle.RequestCycle;
+import org.apache.wicket.ng.resource.DynamicImageResource;
import org.apache.wicket.protocol.http.WebResponse;
import org.apache.wicket.util.time.Time;
@@ -386,6 +386,13 @@
*/
private transient SoftReference<byte[]> data = null;
+ @Override
+ protected void configureResponse(ResourceResponse response, Attributes attributes)
+ {
+ super.configureResponse(response, attributes);
+ response.setCacheable(false);
+ }
+
/**
* @param animals
* The positioned animals
@@ -393,7 +400,6 @@
private CaptchaImageResource(final PlacedAnimalList animals)
{
this.animals = animals;
- setCacheable(false);
setFormat("jpg");
}
@@ -423,7 +429,6 @@
/**
* Invalidates the image data
*/
- @Override
protected void invalidate()
{
data = null;
Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/IResourceListener.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/IResourceListener.java?rev=898155&r1=898154&r2=898155&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/IResourceListener.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/IResourceListener.java Tue Jan 12 02:29:10 2010
@@ -35,7 +35,7 @@
{
/** Resource listener interface object */
public static final RequestListenerInterface INTERFACE = new RequestListenerInterface(
- IResourceListener.class);
+ IResourceListener.class).setIncludeRenderCount(false).setRenderPageAfterInvocation(false);
/**
* Called when a resource is requested.
Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/RequestListenerInterface.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/RequestListenerInterface.java?rev=898155&r1=898154&r2=898155&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/RequestListenerInterface.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/RequestListenerInterface.java Tue Jan 12 02:29:10 2010
@@ -64,34 +64,25 @@
private final String name;
/**
- * Whether or not this listener is targeted for a specific page version. If recordVersion is
- * true the page will be rolled back to the version which created the url, if false the latest
- * version of the page will be used.
+ * Whether the render count should be included in URL. This should be true for every listener
+ * interface URL that should only be active on last rendered page (links, etc) and false for
+ * other (resources);
*/
- private boolean recordsPageVersion = true;
+ private boolean includeRenderCount = true;
/**
- * Constructor that creates listener interfaces which record the page version.
- *
- * @param listenerInterfaceClass
- * The interface class, which must extend IRequestListener.
+ * Whether the page should be rendered by default after the invocation of this listener
+ * interface. Applies only during non-ajax requests.
*/
- public RequestListenerInterface(final Class<? extends IRequestListener> listenerInterfaceClass)
- {
- this(listenerInterfaceClass, true);
- }
+ private boolean renderPageAfterInvocation = true;
/**
* Constructor.
*
* @param listenerInterfaceClass
* The interface class, which must extend IRequestListener.
- * @param recordsPageVersion
- * Whether or not urls encoded for this interface contain the page version. If set to
- * false the latest page version is always used.
*/
- public RequestListenerInterface(final Class<? extends IRequestListener> listenerInterfaceClass,
- boolean recordsPageVersion)
+ public RequestListenerInterface(final Class<? extends IRequestListener> listenerInterfaceClass)
{
// Ensure that it extends IRequestListener
if (!IRequestListener.class.isAssignableFrom(listenerInterfaceClass))
@@ -100,8 +91,6 @@
" must extend IRequestListener");
}
- this.recordsPageVersion = recordsPageVersion;
-
// Get interface methods
final Method[] methods = listenerInterfaceClass.getMethods();
@@ -133,6 +122,43 @@
}
/**
+ * @param includeRenderCount
+ * @return self
+ */
+ public RequestListenerInterface setIncludeRenderCount(boolean includeRenderCount)
+ {
+ this.includeRenderCount = includeRenderCount;
+ return this;
+ }
+
+ /**
+ * @return whether the render count should be included in url
+ */
+ public boolean isIncludeRenderCount()
+ {
+ return includeRenderCount;
+ }
+
+ /**
+ * @param renderPageAfterInvocation
+ * @return self
+ */
+ public RequestListenerInterface setRenderPageAfterInvocation(boolean renderPageAfterInvocation)
+ {
+ this.renderPageAfterInvocation = renderPageAfterInvocation;
+ return this;
+ }
+
+ /**
+ * @return whether the page should be rendered after invocation of this interface (during
+ * non-ajax requests)
+ */
+ public boolean isRenderPageAfterInvocation()
+ {
+ return renderPageAfterInvocation;
+ }
+
+ /**
* @return The method for this request listener interface
*/
public final Method getMethod()
@@ -149,15 +175,6 @@
}
/**
- * @return true if urls encoded for this interface should record the page version, false if they
- * should always be encoded for the latest page version
- */
- public final boolean getRecordsPageVersion()
- {
- return recordsPageVersion;
- }
-
- /**
* Invokes a given interface on a component.
*
* @param page
Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/handler/impl/ListenerInterfaceRequestHandler.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/handler/impl/ListenerInterfaceRequestHandler.java?rev=898155&r1=898154&r2=898155&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/handler/impl/ListenerInterfaceRequestHandler.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/handler/impl/ListenerInterfaceRequestHandler.java Tue Jan 12 02:29:10 2010
@@ -28,6 +28,7 @@
import org.apache.wicket.ng.request.handler.IPageRequestHandler;
import org.apache.wicket.ng.request.handler.PageAndComponentProvider;
import org.apache.wicket.ng.request.handler.impl.RenderPageRequestHandler.RedirectPolicy;
+import org.apache.wicket.protocol.http.WebRequest;
import org.apache.wicket.util.lang.Checks;
/**
@@ -143,13 +144,18 @@
{
if (getComponent().getPage() == getPage())
{
- // schedule page render after current request handler is done. this can be overridden
- // during invocation of listener
- // method (i.e. by calling RequestCycle#setResponsePage)
- RedirectPolicy policy = getPage().isPageStateless() ? RedirectPolicy.NEVER_REDIRECT
- : RedirectPolicy.AUTO_REDIRECT;
- requestCycle.scheduleRequestHandlerAfterCurrent(new RenderPageRequestHandler(
- new DefaultPageProvider(getPage()), policy));
+ if (((WebRequest)requestCycle.getRequest()).isAjax() == false &&
+ listenerInterface.isRenderPageAfterInvocation())
+ {
+ // schedule page render after current request handler is done. this can be
+ // overridden
+ // during invocation of listener
+ // method (i.e. by calling RequestCycle#setResponsePage)
+ RedirectPolicy policy = getPage().isPageStateless() ? RedirectPolicy.NEVER_REDIRECT
+ : RedirectPolicy.AUTO_REDIRECT;
+ requestCycle.scheduleRequestHandlerAfterCurrent(new RenderPageRequestHandler(
+ new DefaultPageProvider(getPage()), policy));
+ }
if (getBehaviorIndex() == null)
{
Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/AbstractBookmarkableMapper.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/AbstractBookmarkableMapper.java?rev=898155&r1=898154&r2=898155&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/AbstractBookmarkableMapper.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/AbstractBookmarkableMapper.java Tue Jan 12 02:29:10 2010
@@ -322,8 +322,14 @@
return null;
}
+ Integer renderCount = null;
+ if (handler.getListenerInterface().isIncludeRenderCount())
+ {
+ renderCount = page.getRenderCount();
+ }
+
PageInfo pageInfo = new PageInfo(page);
- ComponentInfo componentInfo = new ComponentInfo(page.getRenderCount(),
+ ComponentInfo componentInfo = new ComponentInfo(renderCount,
requestListenerInterfaceToString(handler.getListenerInterface()),
handler.getComponent().getPageRelativePath(), handler.getBehaviorIndex());
Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/PageInstanceMapper.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/PageInstanceMapper.java?rev=898155&r1=898154&r2=898155&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/PageInstanceMapper.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/PageInstanceMapper.java Tue Jan 12 02:29:10 2010
@@ -117,8 +117,14 @@
String componentPath = handler.getComponent().getPageRelativePath();
RequestListenerInterface listenerInterface = handler.getListenerInterface();
+ Integer renderCount = null;
+ if (listenerInterface.isIncludeRenderCount())
+ {
+ renderCount = page.getRenderCount();
+ }
+
PageInfo pageInfo = new PageInfo(page);
- ComponentInfo componentInfo = new ComponentInfo(page.getRenderCount(),
+ ComponentInfo componentInfo = new ComponentInfo(renderCount,
requestListenerInterfaceToString(listenerInterface), componentPath,
handler.getBehaviorIndex());
info = new PageComponentInfo(pageInfo, componentInfo);