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]

Reply via email to