[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