[jboss-cvs] jboss-seam/src/main/org/jboss/seam/core ...
Peter Muir
peter at bleepbleep.org.uk
Thu Jan 10 11:36:27 EST 2008
User: pmuir
Date: 08/01/10 11:36:27
Modified: src/main/org/jboss/seam/core Init.java
Log:
JBSEAM-2281
Revision Changes Path
1.59 +24 -1 jboss-seam/src/main/org/jboss/seam/core/Init.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: Init.java
===================================================================
RCS file: /cvsroot/jboss/jboss-seam/src/main/org/jboss/seam/core/Init.java,v
retrieving revision 1.58
retrieving revision 1.59
diff -u -b -r1.58 -r1.59
--- Init.java 12 Nov 2007 18:54:03 -0000 1.58
+++ Init.java 10 Jan 2008 16:36:27 -0000 1.59
@@ -1,4 +1,4 @@
-//$Id: Init.java,v 1.58 2007/11/12 18:54:03 nrichards Exp $
+//$Id: Init.java,v 1.59 2008/01/10 16:36:27 pmuir Exp $
package org.jboss.seam.core;
@@ -8,6 +8,7 @@
import java.lang.reflect.Method;
import java.util.ArrayList;
import java.util.Collection;
+import java.util.Collections;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
@@ -334,6 +335,28 @@
observerList.add( new ObserverMethodExpression(methodBinding) );
}
+ /**
+ * Remove any observer methods registered on the component. Needed to clean
+ * out old observer methods on hot deploy
+ * @param component
+ */
+ public void removeObserverMethods(Component component)
+ {
+ // TODO Better implementation ;-)
+ for (String eventType : observerMethods.keySet())
+ {
+ List<ObserverMethod> observerMethodsToRemove = new ArrayList<ObserverMethod>();
+ for (ObserverMethod observerMethod : observerMethods.get(eventType))
+ {
+ if (observerMethod.getComponent().equals(component))
+ {
+ observerMethodsToRemove.add(observerMethod);
+ }
+ }
+ observerMethods.get(eventType).removeAll(observerMethodsToRemove);
+ }
+ }
+
public boolean isJbpmInstalled()
{
return jbpmInstalled;
More information about the jboss-cvs-commits
mailing list