craigmcc 01/06/22 17:14:48 Modified: tester/src/tester/org/apache/tester/shared SharedSessionBean.java Log: Make SharedSessionBean independent of SessionBean. It used to be a subclass, but that could never work because SessionBean was only loaded from a child classloader. Submitted by: Remy Maucherat <[EMAIL PROTECTED]> Revision Changes Path 1.2 +93 -7 jakarta-tomcat-4.0/tester/src/tester/org/apache/tester/shared/SharedSessionBean.java Index: SharedSessionBean.java =================================================================== RCS file: /home/cvs/jakarta-tomcat-4.0/tester/src/tester/org/apache/tester/shared/SharedSessionBean.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- SharedSessionBean.java 2001/06/22 21:57:08 1.1 +++ SharedSessionBean.java 2001/06/23 00:14:44 1.2 @@ -63,26 +63,58 @@ import javax.servlet.http.HttpSessionBindingEvent; import javax.servlet.http.HttpSessionBindingListener; import javax.servlet.http.HttpSessionEvent; -import org.apache.tester.SessionBean; /** * Simple JavaBean to use for session attribute tests. It is Serializable * so that instances can be saved and restored across server restarts. * <p> - * This bean is functionally equivalent to - * <code>org.apache.tester.SessionBean</code>, but will be deployed inside - * <code>$CATALINA_HOME/lib/tester-shared.jar</code> instead of inside - * <code>/WEB-INF/lib/tester.jar</code>. + * This is functionally equivalent to <code>SessionBean</code>, but stored + * in a different package so that it gets deployed into a JAR file under + * <code>$CATALINA_HOME/lib</code>. * * @author Craig R. McClanahan - * @version $Revision: 1.1 $ $Date: 2001/06/22 21:57:08 $ + * @version $Revision: 1.2 $ $Date: 2001/06/23 00:14:44 $ */ -public class SharedSessionBean extends SessionBean implements +public class SharedSessionBean implements HttpSessionActivationListener, HttpSessionBindingListener, Serializable { + // ------------------------------------------------------------- Properties + + + /** + * The lifecycle events that have happened on this bean instance. + */ + protected String lifecycle = ""; + + public String getLifecycle() { + return (this.lifecycle); + } + + public void setLifecycle(String lifecycle) { + this.lifecycle = lifecycle; + } + + + /** + * A string property. + */ + protected String stringProperty = "Default String Property Value"; + + public String getStringProperty() { + return (this.stringProperty); + } + + public void setStringProperty(String stringProperty) { + this.stringProperty = stringProperty; + } + + + // --------------------------------------------------------- Public Methods + + /** * Return a string representation of this bean. */ @@ -94,6 +126,60 @@ sb.append(this.stringProperty); sb.append("]"); return (sb.toString()); + + } + + + // ---------------------------------- HttpSessionActivationListener Methods + + + /** + * Receive notification that this session was activated. + * + * @param event The session event that has occurred + */ + public void sessionDidActivate(HttpSessionEvent event) { + + lifecycle += "/sda"; + + } + + + /** + * Receive notification that this session will be passivated. + * + * @param event The session event that has occurred + */ + public void sessionWillPassivate(HttpSessionEvent event) { + + lifecycle += "/swp"; + + } + + + // ------------------------------------- HttpSessionBindingListener Methods + + + /** + * Receive notification that this attribute has been bound. + * + * @param event The session event that has occurred + */ + public void valueBound(HttpSessionBindingEvent event) { + + lifecycle += "/vb"; + + } + + + /** + * Receive notification that this attribute has been unbound. + * + * @param event The session event that has occurred + */ + public void valueUnbound(HttpSessionBindingEvent event) { + + lifecycle += "/vu"; }