dlr 01/08/05 20:00:30
Modified: src/java/org/apache/turbine/services/rundata
DefaultTurbineRunData.java
Log:
Added documentation to methods which may need to make use of
SessionBindingEventProxy class.
Revision Changes Path
1.26 +31 -8
jakarta-turbine/src/java/org/apache/turbine/services/rundata/DefaultTurbineRunData.java
Index: DefaultTurbineRunData.java
===================================================================
RCS file:
/home/cvs/jakarta-turbine/src/java/org/apache/turbine/services/rundata/DefaultTurbineRunData.java,v
retrieving revision 1.25
retrieving revision 1.26
diff -u -u -r1.25 -r1.26
--- DefaultTurbineRunData.java 2001/08/05 16:12:18 1.25
+++ DefaultTurbineRunData.java 2001/08/06 03:00:30 1.26
@@ -96,7 +96,7 @@
* @author <a href="mailto:[EMAIL PROTECTED]">Jon S. Stevens</a>
* @author <a href="mailto:[EMAIL PROTECTED]">Bernie Hoeneisen</a>
* @author <a href="mailto:[EMAIL PROTECTED]">Daniel Rall</a>
- * @version $Id: DefaultTurbineRunData.java,v 1.25 2001/08/05 16:12:18 jvanzyl Exp $
+ * @version $Id: DefaultTurbineRunData.java,v 1.26 2001/08/06 03:00:30 dlr Exp $
*/
public class DefaultTurbineRunData
extends RecyclableSupport
@@ -288,17 +288,30 @@
}
/**
- * Attempts to get the User object from the session. If it does
- * not exist, it returns null.
+ * Attempts to get the User object from the session. If the user
+ * does not exist in the session, <code>null</code> is returned.
*
- * @param session An HttpSession.
- * @return A User.
+ * <p> Anyone overriding this method should be sure to leverage
+ * the <code>SessionBindingEventProxy</code> when pulling the
+ * <code>User</code> object from the session, allowing hook
+ * functions to be called on the listener when it is removed from
+ * the session (which happens on session timeout).
+ *
+ * @param session The session to retrieve a <code>User</code>
+ * object from.
+ * @return The retreived user, or <code>null</code> if errors
+ * occur.
+ * @see org.apache.turbine.services.SessionBindingEventProxy
+ * @see org.apache.fulcrum.security.entity.User
+ * @see org.apache.fulcrum.session.SessionBindingListener
*/
public static User getUserFromSession(HttpSession session)
{
try
{
- return (User) session.getValue(User.SESSION_KEY);
+ SessionBindingEventProxy proxy =
+ (SessionBindingEventProxy) session.getValue(User.SESSION_KEY);
+ return (User) proxy.getListener();
}
catch ( ClassCastException e )
{
@@ -982,11 +995,21 @@
}
/**
- * Saves a user object into the session.
+ * Saves this user object to the session.
+ *
+ * <p> Anyone overriding this method should be sure to leverage
+ * the <code>SessionBindingEventProxy</code> when adding the user
+ * into the session. This allows hook functions to be called on
+ * the <code>User</code> when it is removed from the session
+ * (which happens on session timeout).
+ *
+ * @see org.apache.turbine.services.SessionBindingEventProxy
+ * @see org.apache.fulcrum.security.entity.User
+ * @see org.apache.fulcrum.session.SessionBindingListener
*/
public void save()
{
- session.putValue(User.SESSION_KEY, (Object) user );
+ session.putValue(User.SESSION_KEY, new SessionBindingEventProxy(user));
}
/**
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]