You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@cocoon.apache.org by re...@apache.org on 2007/06/20 10:17:30 UTC
svn commit: r548985 -
/cocoon/trunk/tools/cocoon-rcl/cocoon-rcl-webapp-wrapper/src/main/java/org/apache/cocoon/tools/rcl/wrapper/servlet/ReloadingListener.java
Author: reinhard
Date: Wed Jun 20 01:17:29 2007
New Revision: 548985
URL: http://svn.apache.org/viewvc?view=rev&rev=548985
Log:
- implement servletRequestListener
Modified:
cocoon/trunk/tools/cocoon-rcl/cocoon-rcl-webapp-wrapper/src/main/java/org/apache/cocoon/tools/rcl/wrapper/servlet/ReloadingListener.java
Modified: cocoon/trunk/tools/cocoon-rcl/cocoon-rcl-webapp-wrapper/src/main/java/org/apache/cocoon/tools/rcl/wrapper/servlet/ReloadingListener.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/tools/cocoon-rcl/cocoon-rcl-webapp-wrapper/src/main/java/org/apache/cocoon/tools/rcl/wrapper/servlet/ReloadingListener.java?view=diff&rev=548985&r1=548984&r2=548985
==============================================================================
--- cocoon/trunk/tools/cocoon-rcl/cocoon-rcl-webapp-wrapper/src/main/java/org/apache/cocoon/tools/rcl/wrapper/servlet/ReloadingListener.java (original)
+++ cocoon/trunk/tools/cocoon-rcl/cocoon-rcl-webapp-wrapper/src/main/java/org/apache/cocoon/tools/rcl/wrapper/servlet/ReloadingListener.java Wed Jun 20 01:17:29 2007
@@ -26,6 +26,8 @@
import javax.servlet.ServletContextAttributeListener;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
+import javax.servlet.ServletRequestEvent;
+import javax.servlet.ServletRequestListener;
import javax.servlet.http.HttpSessionActivationListener;
import javax.servlet.http.HttpSessionAttributeListener;
import javax.servlet.http.HttpSessionBindingEvent;
@@ -45,7 +47,8 @@
HttpSessionActivationListener,
HttpSessionAttributeListener,
HttpSessionBindingListener,
- ServletContextAttributeListener {
+ ServletContextAttributeListener,
+ ServletRequestListener {
private static final String SERVLET_CONTEXT_CREATED = "CLC";
@@ -75,6 +78,10 @@
private static final String CONTEXT_ATTR_ADDED = "CAAD";
+ private static final String REQUEST_DESTROYED = "RD";
+
+ private static final String REQUEST_INITIALIZED = "RI";
+
protected List httpSessionListeners = new ArrayList();
protected List servletContextListeners = new ArrayList();
@@ -86,7 +93,9 @@
protected List servletContextAttributeListeners = new ArrayList();
protected List httpSessionAttributeListeners = new ArrayList();
-
+
+ protected List servletRequestListeners = new ArrayList();
+
protected ServletContext context;
protected void init(ServletContext context) {
@@ -122,6 +131,9 @@
if ( listener instanceof ServletContextAttributeListener ) {
this.servletContextAttributeListeners.add(listener);
}
+ if ( listener instanceof ServletRequestListener ) {
+ this.servletRequestListeners.add(listener);
+ }
} catch (Exception e) {
throw new RuntimeException("Cannot load listener " + className, e);
}
@@ -144,31 +156,35 @@
if ( ReloadingListener.SERVLET_CONTEXT_CREATED.equals(identifier) ) {
((ServletContextListener)listener).contextInitialized((ServletContextEvent)event);
} else if ( ReloadingListener.SERVLET_CONTEXT_DESTROYED.equals(identifier) ) {
- ((ServletContextListener)listener).contextDestroyed((ServletContextEvent)event);
+ ((ServletContextListener)listener).contextDestroyed((ServletContextEvent)event);
} else if ( ReloadingListener.SESSION_CREATED.equals(identifier) ) {
- ((HttpSessionListener)listener).sessionCreated((HttpSessionEvent)event);
+ ((HttpSessionListener)listener).sessionCreated((HttpSessionEvent)event);
} else if ( ReloadingListener.SESSION_DESTROYED.equals(identifier) ) {
- ((HttpSessionListener)listener).sessionDestroyed((HttpSessionEvent)event);
+ ((HttpSessionListener)listener).sessionDestroyed((HttpSessionEvent)event);
} else if ( ReloadingListener.VALUE_BOUND.equals(identifier) ) {
- ((HttpSessionBindingListener)listener).valueBound((HttpSessionBindingEvent)event);
+ ((HttpSessionBindingListener)listener).valueBound((HttpSessionBindingEvent)event);
} else if ( ReloadingListener.VALUE_UNBOUND.equals(identifier) ) {
- ((HttpSessionBindingListener)listener).valueUnbound((HttpSessionBindingEvent)event);
+ ((HttpSessionBindingListener)listener).valueUnbound((HttpSessionBindingEvent)event);
} else if ( ReloadingListener.ATTR_ADDED.equals(identifier) ) {
- ((HttpSessionAttributeListener)listener).attributeAdded((HttpSessionBindingEvent)event);
+ ((HttpSessionAttributeListener)listener).attributeAdded((HttpSessionBindingEvent)event);
} else if ( ReloadingListener.ATTR_REMOVED.equals(identifier) ) {
- ((HttpSessionAttributeListener)listener).attributeRemoved((HttpSessionBindingEvent)event);
+ ((HttpSessionAttributeListener)listener).attributeRemoved((HttpSessionBindingEvent)event);
} else if ( ReloadingListener.ATTR_REPLACED.equals(identifier) ) {
- ((HttpSessionAttributeListener)listener).attributeReplaced((HttpSessionBindingEvent)event);
+ ((HttpSessionAttributeListener)listener).attributeReplaced((HttpSessionBindingEvent)event);
} else if ( ReloadingListener.CONTEXT_ATTR_ADDED.equals(identifier) ) {
- ((ServletContextAttributeListener)listener).attributeAdded((ServletContextAttributeEvent)event);
+ ((ServletContextAttributeListener)listener).attributeAdded((ServletContextAttributeEvent)event);
} else if ( ReloadingListener.CONTEXT_ATTR_REMOVED.equals(identifier) ) {
- ((ServletContextAttributeListener)listener).attributeRemoved((ServletContextAttributeEvent)event);
+ ((ServletContextAttributeListener)listener).attributeRemoved((ServletContextAttributeEvent)event);
} else if ( ReloadingListener.CONTEXT_ATTR_REPLACED.equals(identifier) ) {
- ((ServletContextAttributeListener)listener).attributeReplaced((ServletContextAttributeEvent)event);
+ ((ServletContextAttributeListener)listener).attributeReplaced((ServletContextAttributeEvent)event);
} else if ( ReloadingListener.SESSION_ACTIVATED.equals(identifier) ) {
- ((HttpSessionActivationListener)listener).sessionDidActivate((HttpSessionEvent)event);
+ ((HttpSessionActivationListener)listener).sessionDidActivate((HttpSessionEvent)event);
} else if ( ReloadingListener.SESSION_PASSIVATE.equals(identifier) ) {
- ((HttpSessionActivationListener)listener).sessionWillPassivate((HttpSessionEvent)event);
+ ((HttpSessionActivationListener)listener).sessionWillPassivate((HttpSessionEvent)event);
+ } else if ( ReloadingListener.REQUEST_DESTROYED.equals(identifier) ) {
+ ((ServletRequestListener)listener).requestDestroyed((ServletRequestEvent)event);
+ } else if ( ReloadingListener.REQUEST_INITIALIZED.equals(identifier) ) {
+ ((ServletRequestListener)listener).requestInitialized((ServletRequestEvent)event);
}
} catch (Exception e) {
throw new RuntimeException("Cannot invoke listener " + listener, e);
@@ -196,7 +212,7 @@
this.invoke(this.servletContextListeners, ReloadingListener.SERVLET_CONTEXT_CREATED, contextEvent);
}
-
+
/**
* @see javax.servlet.http.HttpSessionListener#sessionCreated(javax.servlet.http.HttpSessionEvent)
*/
@@ -279,5 +295,19 @@
*/
public void attributeReplaced(ServletContextAttributeEvent event) {
this.invoke(this.servletContextAttributeListeners, ReloadingListener.CONTEXT_ATTR_REPLACED, event);
+ }
+
+ /**
+ * @see javax.servlet.ServletRequestListener#requestDestroyed(javax.servlet.ServletRequestEvent)
+ */
+ public void requestDestroyed(ServletRequestEvent event) {
+ this.invoke(this.servletRequestListeners, ReloadingListener.REQUEST_DESTROYED, event);
+ }
+
+ /**
+ * @see javax.servlet.ServletRequestListener#requestInitialized(javax.servlet.ServletRequestEvent)
+ */
+ public void requestInitialized(ServletRequestEvent event) {
+ this.invoke(this.servletRequestListeners, ReloadingListener.REQUEST_INITIALIZED, event);
}
}