You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by eh...@apache.org on 2007/04/11 21:27:09 UTC
svn commit: r527625 - in
/incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket/src/main/java/org/apache/wicket:
./ request/target/component/ request/target/component/listener/ util/tester/
Author: ehillenius
Date: Wed Apr 11 12:27:07 2007
New Revision: 527625
URL: http://svn.apache.org/viewvc?view=rev&rev=527625
Log:
fixes:
cleanup code in updateSession should always be executed
got rid of useless 'updateSession' member of RequestCycle; let Session figure out whether it needs updating
clean up feedback messages at the end of a request
don't clean up feedback messages for unit tests (another instance where someone decided it is a good idea to write unit tests that depend on internal Wicket handling). we may have to fix those tests instead at some point
Modified:
incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket/src/main/java/org/apache/wicket/RequestCycle.java
incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket/src/main/java/org/apache/wicket/Session.java
incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket/src/main/java/org/apache/wicket/request/target/component/BookmarkablePageRequestTarget.java
incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket/src/main/java/org/apache/wicket/request/target/component/PageRequestTarget.java
incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket/src/main/java/org/apache/wicket/request/target/component/listener/AbstractListenerInterfaceRequestTarget.java
incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket/src/main/java/org/apache/wicket/util/tester/WicketTester.java
Modified: incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket/src/main/java/org/apache/wicket/RequestCycle.java
URL: http://svn.apache.org/viewvc/incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket/src/main/java/org/apache/wicket/RequestCycle.java?view=diff&rev=527625&r1=527624&r2=527625
==============================================================================
--- incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket/src/main/java/org/apache/wicket/RequestCycle.java (original)
+++ incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket/src/main/java/org/apache/wicket/RequestCycle.java Wed Apr 11 12:27:07 2007
@@ -247,9 +247,6 @@
/** the time that this request cycle object was created. */
private final long startTime = System.currentTimeMillis();
- /** True if the session should be updated (for clusterf purposes). */
- private boolean updateSession;
-
/** The application object. */
protected final Application application;
@@ -432,9 +429,9 @@
/**
* Template method that is called when a runtime exception is thrown, just
* before the actual handling of the runtime exception. This is called by
- * {@link org.apache.wicket.request.compound.DefaultExceptionResponseStrategy}, hence
- * if that strategy is replaced by another one, there is no guarantee this
- * method is called.
+ * {@link org.apache.wicket.request.compound.DefaultExceptionResponseStrategy},
+ * hence if that strategy is replaced by another one, there is no guarantee
+ * this method is called.
*
* @param page
* Any page context where the exception was thrown
@@ -637,17 +634,6 @@
}
/**
- * THIS METHOD IS NOT PART OF THE WICKET PUBLIC API. DO NOT USE IT.
- *
- * @param updateCluster
- * The updateCluster to set.
- */
- public void setUpdateSession(boolean updateCluster)
- {
- this.updateSession = updateCluster;
- }
-
- /**
* @see java.lang.Object#toString()
*/
public String toString()
@@ -859,28 +845,30 @@
}
}
- // remove any rendered feedback messages from the session
+ // remove any rendered and otherwise obsolute feedback messages from the
+ // session
try
{
session.cleanupRenderedFeedbackMessages();
+ Page page = getResponsePage();
+ if (page != null)
+ {
+ session.cleanupFeedbackMessages(page);
+ }
}
catch (RuntimeException re)
{
log.error("there was an error cleaning up the feedback messages", re);
}
- if (updateSession)
+ // At the end of our response, let the session do some book keeping
+ try
{
- // At the end of our response, we need to set any session
- // attributes that might be required to update the cluster
- try
- {
- session.update();
- }
- catch (RuntimeException re)
- {
- log.error("there was an error updating the session " + session + ".", re);
- }
+ session.update();
+ }
+ catch (RuntimeException re)
+ {
+ log.error("there was an error updating the session " + session + ".", re);
}
try
Modified: incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket/src/main/java/org/apache/wicket/Session.java
URL: http://svn.apache.org/viewvc/incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket/src/main/java/org/apache/wicket/Session.java?view=diff&rev=527625&r1=527624&r2=527625
==============================================================================
--- incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket/src/main/java/org/apache/wicket/Session.java (original)
+++ incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket/src/main/java/org/apache/wicket/Session.java Wed Apr 11 12:27:07 2007
@@ -354,7 +354,6 @@
temporarySessionAttributes = null;
}
- RequestCycle.get().setUpdateSession(true);
}
}
else
@@ -1162,7 +1161,8 @@
}
/**
- * Updates the session, e.g. for replication purposes.
+ * Updates the session at the end of a request, e.g. for replication
+ * purposes.
*/
protected void update()
{
@@ -1309,14 +1309,18 @@
Session.touchedPages.set(null);
if (touchedPages != null && touchedPages.size() > 0)
{
- log.warn("There where still touched pages in the request detach phase, session update wasn't called: " + touchedPages);
+ log
+ .warn("There where still touched pages in the request detach phase, session update wasn't called: "
+ + touchedPages);
}
List dirtyObjects = (List)Session.dirtyObjects.get();
Session.dirtyObjects.set(null);
if (dirtyObjects != null && dirtyObjects.size() > 0)
{
- log.warn("There where still dirty objects in the request detach phase, session update wasn't called: " + dirtyObjects);
+ log
+ .warn("There where still dirty objects in the request detach phase, session update wasn't called: "
+ + dirtyObjects);
}
if (pageMapsUsedInRequest != null)
Modified: incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket/src/main/java/org/apache/wicket/request/target/component/BookmarkablePageRequestTarget.java
URL: http://svn.apache.org/viewvc/incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket/src/main/java/org/apache/wicket/request/target/component/BookmarkablePageRequestTarget.java?view=diff&rev=527625&r1=527624&r2=527625
==============================================================================
--- incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket/src/main/java/org/apache/wicket/request/target/component/BookmarkablePageRequestTarget.java (original)
+++ incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket/src/main/java/org/apache/wicket/request/target/component/BookmarkablePageRequestTarget.java Wed Apr 11 12:27:07 2007
@@ -200,7 +200,6 @@
{
if (!requestCycle.getRedirect())
{
- requestCycle.setUpdateSession(true);
page = getPage(requestCycle);
}
}
Modified: incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket/src/main/java/org/apache/wicket/request/target/component/PageRequestTarget.java
URL: http://svn.apache.org/viewvc/incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket/src/main/java/org/apache/wicket/request/target/component/PageRequestTarget.java?view=diff&rev=527625&r1=527624&r2=527625
==============================================================================
--- incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket/src/main/java/org/apache/wicket/request/target/component/PageRequestTarget.java (original)
+++ incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket/src/main/java/org/apache/wicket/request/target/component/PageRequestTarget.java Wed Apr 11 12:27:07 2007
@@ -60,8 +60,6 @@
}
else
{
- requestCycle.setUpdateSession(true);
-
// Let page render itself
page.renderPage();
}
Modified: incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket/src/main/java/org/apache/wicket/request/target/component/listener/AbstractListenerInterfaceRequestTarget.java
URL: http://svn.apache.org/viewvc/incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket/src/main/java/org/apache/wicket/request/target/component/listener/AbstractListenerInterfaceRequestTarget.java?view=diff&rev=527625&r1=527624&r2=527625
==============================================================================
--- incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket/src/main/java/org/apache/wicket/request/target/component/listener/AbstractListenerInterfaceRequestTarget.java (original)
+++ incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket/src/main/java/org/apache/wicket/request/target/component/listener/AbstractListenerInterfaceRequestTarget.java Wed Apr 11 12:27:07 2007
@@ -21,7 +21,6 @@
import org.apache.wicket.Page;
import org.apache.wicket.RequestCycle;
import org.apache.wicket.RequestListenerInterface;
-import org.apache.wicket.Session;
import org.apache.wicket.request.RequestParameters;
import org.apache.wicket.request.target.IEventProcessor;
import org.apache.wicket.request.target.component.PageRequestTarget;
@@ -185,13 +184,6 @@
*/
protected void onProcessEvents(final RequestCycle requestCycle)
{
- // Assume cluster needs to be updated now, unless listener
- // invocation changes this
- requestCycle.setUpdateSession(true);
-
- // Clear all feedback messages if it isn't a redirect
- Session.get().cleanupFeedbackMessages(getPage());
-
getPage().startComponentRender(getTarget());
final Application application = requestCycle.getApplication();
Modified: incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket/src/main/java/org/apache/wicket/util/tester/WicketTester.java
URL: http://svn.apache.org/viewvc/incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket/src/main/java/org/apache/wicket/util/tester/WicketTester.java?view=diff&rev=527625&r1=527624&r2=527625
==============================================================================
--- incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket/src/main/java/org/apache/wicket/util/tester/WicketTester.java (original)
+++ incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket/src/main/java/org/apache/wicket/util/tester/WicketTester.java Wed Apr 11 12:27:07 2007
@@ -29,6 +29,10 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.wicket.Component;
+import org.apache.wicket.Page;
+import org.apache.wicket.Request;
+import org.apache.wicket.Response;
+import org.apache.wicket.Session;
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.feedback.FeedbackMessage;
import org.apache.wicket.markup.html.basic.Label;
@@ -37,6 +41,7 @@
import org.apache.wicket.protocol.http.UnitTestSettings;
import org.apache.wicket.protocol.http.WebApplication;
import org.apache.wicket.protocol.http.WebResponse;
+import org.apache.wicket.protocol.http.WebSession;
import org.apache.wicket.util.diff.DiffUtil;
@@ -163,6 +168,20 @@
protected WebResponse newWebResponse(final HttpServletResponse servletResponse)
{
return new WebResponse(servletResponse);
+ }
+
+ public Session newSession(Request request, Response response)
+ {
+ return new WebSession(this, request)
+ {
+ private static final long serialVersionUID = 1L;
+
+ public void cleanupFeedbackMessages(Page page)
+ {
+ // don't clean up so that we'll have them available for
+ // testing
+ }
+ };
}
}