Author: jdonnerstag
Date: Tue Apr 7 15:05:11 2009
New Revision: 762807
URL: http://svn.apache.org/viewvc?rev=762807&view=rev
Log:
fix for WICKET-2180 WicketSessionFilter assumes that the WicketFilter has
already been inited
Issue: WICKET-2180
Modified:
wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/HttpSessionStore.java
wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/WebApplication.java
wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/servlet/WicketSessionFilter.java
Modified:
wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/HttpSessionStore.java
URL:
http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/HttpSessionStore.java?rev=762807&r1=762806&r2=762807&view=diff
==============================================================================
---
wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/HttpSessionStore.java
(original)
+++
wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/HttpSessionStore.java
Tue Apr 7 15:05:11 2009
@@ -170,7 +170,7 @@
*/
private String getSessionAttributePrefix(final WebRequest request)
{
- return application.getSessionAttributePrefix(request);
+ return application.getSessionAttributePrefix(request, null);
}
/**
Modified:
wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/WebApplication.java
URL:
http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/WebApplication.java?rev=762807&r1=762806&r2=762807&view=diff
==============================================================================
---
wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/WebApplication.java
(original)
+++
wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/WebApplication.java
Tue Apr 7 15:05:11 2009
@@ -228,14 +228,42 @@
* the request
*
* @return the prefix for storing variables in the actual session
+ * @deprecated since 1.4RC3 please use {...@link
#getSessionAttributePrefix(WebRequest, String)}
+ * instead
*/
+ @Deprecated
public String getSessionAttributePrefix(final WebRequest request)
{
+ return getSessionAttributePrefix(request, null);
+ }
+
+ /**
+ * Gets the prefix for storing variables in the actual session
(typically {...@link HttpSession}
+ * for this application instance.
+ *
+ * @param request
+ * the request
+ * @param filterName
+ * If null, than it defaults to the WicketFilter filter
name. However according to
+ * the ServletSpec the Filter is not guaranteed to be
initialized e.g. when
+ * WicketSessionFilter gets initialized. Thus, though you
(and WicketSessionFilter)
+ * can provide a filter name, you must make sure it is the
same as WicketFilter will
+ * provide once initialized.
+ *
+ * @return the prefix for storing variables in the actual session
+ */
+ public String getSessionAttributePrefix(final WebRequest request,
String filterName)
+ {
if (sessionAttributePrefix == null)
{
- sessionAttributePrefix = "wicket:" +
-
getWicketFilter().getFilterConfig().getFilterName() + ":";
+ if (filterName == null)
+ {
+ // According to the ServletSpec, the filter
might not yet been initialized
+ filterName =
getWicketFilter().getFilterConfig().getFilterName();
+ }
+ sessionAttributePrefix = "wicket:" + filterName + ":";
}
+
// Namespacing for session attributes is provided by
// adding the servlet path
return sessionAttributePrefix;
Modified:
wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/servlet/WicketSessionFilter.java
URL:
http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/servlet/WicketSessionFilter.java?rev=762807&r1=762806&r2=762807&view=diff
==============================================================================
---
wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/servlet/WicketSessionFilter.java
(original)
+++
wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/servlet/WicketSessionFilter.java
Tue Apr 7 15:05:11 2009
@@ -139,7 +139,8 @@
}
WebApplication application =
(WebApplication)Application.get(filterName);
- sessionKey = application.getSessionAttributePrefix(null) +
Session.SESSION_ATTRIBUTE_NAME;
+ sessionKey = application.getSessionAttributePrefix(null,
filterName) +
+ Session.SESSION_ATTRIBUTE_NAME;
if (log.isDebugEnabled())
{