You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by iv...@apache.org on 2008/10/30 07:30:35 UTC
svn commit: r709100 -
/wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/WebSession.java
Author: ivaynberg
Date: Wed Oct 29 23:30:35 2008
New Revision: 709100
URL: http://svn.apache.org/viewvc?rev=709100&view=rev
Log:
WICKET-1138
Modified:
wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/WebSession.java
Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/WebSession.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/WebSession.java?rev=709100&r1=709099&r2=709100&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/WebSession.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/WebSession.java Wed Oct 29 23:30:35 2008
@@ -16,6 +16,8 @@
*/
package org.apache.wicket.protocol.http;
+import java.util.List;
+
import org.apache.wicket.Application;
import org.apache.wicket.Component;
import org.apache.wicket.Request;
@@ -25,6 +27,8 @@
import org.apache.wicket.feedback.IFeedbackMessageFilter;
import org.apache.wicket.settings.IRequestCycleSettings;
import org.apache.wicket.util.string.Strings;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
/**
* A session subclass for the HTTP protocol.
@@ -34,6 +38,9 @@
public class WebSession extends Session
{
private static final long serialVersionUID = 1L;
+
+ private static final Logger logger = LoggerFactory.getLogger(WebSession.class);
+
/**
* Filter that returns all component scoped messages ({@link FeedbackMessage#getReporter()} !=
* null).
@@ -71,6 +78,7 @@
* @param request
* The current request
*/
+ @Deprecated
public WebSession(final Application application, Request request)
{
super(application, request);
@@ -86,6 +94,7 @@
* @param request
* The current request
*/
+ @Deprecated
public WebSession(final WebApplication application, Request request)
{
super(application, request);
@@ -105,6 +114,7 @@
/**
* @see org.apache.wicket.Session#isCurrentRequestValid(org.apache.wicket.RequestCycle)
*/
+ @Override
protected boolean isCurrentRequestValid(RequestCycle lockedRequestCycle)
{
WebRequest lockedRequest = (WebRequest)lockedRequestCycle.getRequest();
@@ -125,9 +135,10 @@
}
String lockedPageId = Strings.firstPathComponent(lockedRequest.getRequestParameters()
- .getComponentPath(), Component.PATH_SEPARATOR);
+ .getComponentPath(), Component.PATH_SEPARATOR);
String currentPageId = Strings.firstPathComponent(currentRequestCycle.getRequest()
- .getRequestParameters().getComponentPath(), Component.PATH_SEPARATOR);
+ .getRequestParameters()
+ .getComponentPath(), Component.PATH_SEPARATOR);
int lockedVersion = lockedRequest.getRequestParameters().getVersionNumber();
int currentVersion = currentRequest.getRequestParameters().getVersionNumber();
@@ -144,6 +155,7 @@
/**
* @see org.apache.wicket.Session#cleanupFeedbackMessages()
*/
+ @Override
public void cleanupFeedbackMessages()
{
// remove all component feedback messages if we are either using one
@@ -152,8 +164,8 @@
// used, when we're doing the render request (isRedirect should return
// false in that case)
if (Application.get().getRequestCycleSettings().getRenderStrategy() != IRequestCycleSettings.REDIRECT_TO_RENDER ||
- ((WebRequest)RequestCycle.get().getRequest()).isAjax() ||
- (!RequestCycle.get().isRedirect()))
+ ((WebRequest)RequestCycle.get().getRequest()).isAjax() ||
+ (!RequestCycle.get().isRedirect()))
{
// If session scoped, rendered messages got indeed cleaned up, mark
// the session as dirty
@@ -162,6 +174,23 @@
dirty();
}
+ // see if any component related feedback messages were left unrendered and warn if in
+ // dev mode
+ if (Application.DEVELOPMENT.equals(getApplication().getConfigurationType()))
+ {
+ List<FeedbackMessage> messages = getFeedbackMessages().messages(
+ WebSession.MESSAGES_FOR_COMPONENTS);
+ for (FeedbackMessage message : messages)
+ {
+ if (!message.isRendered())
+ {
+ logger.warn(
+ "Component-targetted feedback message was left unrendered. This could be because you are missing a FeedbackPanel on the page. Message: {}",
+ message);
+ }
+ }
+ }
+
// clean up all component related feedback messages
getFeedbackMessages().clear(WebSession.MESSAGES_FOR_COMPONENTS);
}