You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jspwiki.apache.org by aj...@apache.org on 2010/02/03 06:19:37 UTC
svn commit: r905890 - in /incubator/jspwiki/trunk/src/java/org/apache/wiki:
auth/SessionMonitor.java ui/stripes/WikiInterceptor.java
Author: ajaquith
Date: Wed Feb 3 05:19:37 2010
New Revision: 905890
URL: http://svn.apache.org/viewvc?rev=905890&view=rev
Log:
Moved injection of JSTL variables ${wikiEngine} and ${wikiSession} to SessionMonitor, so that they are always present even if Stripes isn't involved.
Modified:
incubator/jspwiki/trunk/src/java/org/apache/wiki/auth/SessionMonitor.java
incubator/jspwiki/trunk/src/java/org/apache/wiki/ui/stripes/WikiInterceptor.java
Modified: incubator/jspwiki/trunk/src/java/org/apache/wiki/auth/SessionMonitor.java
URL: http://svn.apache.org/viewvc/incubator/jspwiki/trunk/src/java/org/apache/wiki/auth/SessionMonitor.java?rev=905890&r1=905889&r2=905890&view=diff
==============================================================================
--- incubator/jspwiki/trunk/src/java/org/apache/wiki/auth/SessionMonitor.java (original)
+++ incubator/jspwiki/trunk/src/java/org/apache/wiki/auth/SessionMonitor.java Wed Feb 3 05:19:37 2010
@@ -32,6 +32,7 @@
import org.apache.wiki.WikiEngine;
import org.apache.wiki.WikiSession;
+import org.apache.wiki.action.WikiContextFactory;
import org.apache.wiki.event.*;
import org.apache.wiki.log.Logger;
import org.apache.wiki.log.LoggerFactory;
@@ -274,9 +275,17 @@
}
/**
- * Fires when the web container creates a new HTTP session;
- * it also injects scripting session attribute <code>templates</code>
- * into the session.
+ * <p>Prepares JSPWiki scripting variables when the web container creates
+ * a new HTTP session. These session attributes are injected:</p>
+ * <ul>
+ * <li>{@code templates} - the template resource resolver map, returned
+ * by {@link org.apache.wiki.ui.TemplateManager#getTemplateResources()}</li>
+ * <li>{@code wikiEngine} - the {@link org.apache.wiki.WikiEngine}</li>
+ * <li>{@code wikiSession} - the {@link org.apache.wiki.WikiSession}</li>
+ * </ul>
+ * <p>After the session attributes are injected, downstream classes
+ * like WikiTagBase can use it. The attributes can also be accessed as variables
+ * using the JSP Expression Language (example: <code>${wikiSession}</code>).</p>
*
* @param event the HTTP session event
*/
@@ -294,6 +303,10 @@
// Stash 'templates' attribute for scripting
session.setAttribute( "templates", engine.getTemplateManager().getTemplateResources() );
+
+ // Stash the WikiEngine and WikiSession for scripting
+ session.setAttribute( WikiContextFactory.ATTR_WIKIENGINE, engine );
+ session.setAttribute( WikiContextFactory.ATTR_WIKISESSION, find( session ) );
}
/**
Modified: incubator/jspwiki/trunk/src/java/org/apache/wiki/ui/stripes/WikiInterceptor.java
URL: http://svn.apache.org/viewvc/incubator/jspwiki/trunk/src/java/org/apache/wiki/ui/stripes/WikiInterceptor.java?rev=905890&r1=905889&r2=905890&view=diff
==============================================================================
--- incubator/jspwiki/trunk/src/java/org/apache/wiki/ui/stripes/WikiInterceptor.java (original)
+++ incubator/jspwiki/trunk/src/java/org/apache/wiki/ui/stripes/WikiInterceptor.java Wed Feb 3 05:19:37 2010
@@ -268,11 +268,11 @@
* After the Stripes
* {@link net.sourceforge.stripes.controller.LifecycleStage#ActionBeanResolution}
* executes, this method runs the login stack to check for user authentication,
- * injects the current WikiEngine, WikiSession and WikiActionBean into
- * request scope, and returns <code>null</code>. After the objects are
- * injected, downstream classes like WikiTagBase can use them. The attribute
- * can also be accessed as variables using the JSP Expression Language
- * (example: <code>${wikiPage}</code>). User preferences are also set up.
+ * injects the current WikiActionBean into request scope, and returns
+ * <code>null</code>. After the action bean is injected, downstream classes
+ * like WikiTagBase can use it. The attribute can also be accessed as variables
+ * using the JSP Expression Language (example: <code>${wikiActionBean}</code>).
+ * User preferences are also set up.
*
* @param context the execution context
* @return a Resolution if the
@@ -306,9 +306,7 @@
WikiEngine engine = actionBeanContext.getEngine();
engine.getAuthenticationManager().login( request );
- // Stash the WikiEngine, WikiSession and ActionBean
- request.setAttribute( WikiContextFactory.ATTR_WIKIENGINE, actionBeanContext.getEngine() );
- request.setAttribute( WikiContextFactory.ATTR_WIKISESSION, actionBeanContext.getWikiSession() );
+ // Stash the WikiActionBean
request.setAttribute( ATTR_ACTIONBEAN, actionBean );
// Stash the ActionBean as a PageContext attribute too