You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by fh...@apache.org on 2006/05/08 19:22:58 UTC
svn commit: r405097 -
/tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/session/StandardSession.java
Author: fhanik
Date: Mon May 8 10:22:55 2006
New Revision: 405097
URL: http://svn.apache.org/viewcvs?rev=405097&view=rev
Log:
Make the StandardSession extensible by allowing control whether the listeners should be notified
by a setAttribute command.
Modified:
tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/session/StandardSession.java
Modified: tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/session/StandardSession.java
URL: http://svn.apache.org/viewcvs/tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/session/StandardSession.java?rev=405097&r1=405096&r2=405097&view=diff
==============================================================================
--- tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/session/StandardSession.java (original)
+++ tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/session/StandardSession.java Mon May 8 10:22:55 2006
@@ -1230,6 +1230,10 @@
* invalidated session
*/
public void setAttribute(String name, Object value) {
+ setAttribute(name,value,true);
+ }
+
+ public void setAttribute(String name, Object value, boolean notify) {
// Name cannot be null
if (name == null)
@@ -1255,7 +1259,7 @@
HttpSessionBindingEvent event = null;
// Call the valueBound() method if necessary
- if (value instanceof HttpSessionBindingListener) {
+ if (value instanceof HttpSessionBindingListener && notify) {
// Don't call any notification if replacing with the same value
Object oldValue = attributes.get(name);
if (value != oldValue) {
@@ -1274,7 +1278,7 @@
// Call the valueUnbound() method if necessary
if ((unbound != null) && (unbound != value) &&
- (unbound instanceof HttpSessionBindingListener)) {
+ (unbound instanceof HttpSessionBindingListener) && notify) {
try {
((HttpSessionBindingListener) unbound).valueUnbound
(new HttpSessionBindingEvent(getSession(), name));
@@ -1283,6 +1287,8 @@
(sm.getString("standardSession.bindingEvent"), t);
}
}
+
+ if ( !notify ) return;
// Notify interested application event listeners
Context context = (Context) manager.getContainer();
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org