[jboss-cvs] JBossRemoting/src/main/org/jboss/remoting ...

Tom Elrod tom.elrod at jboss.com
Thu Nov 16 13:06:13 EST 2006


  User: telrod  
  Date: 06/11/16 13:06:13

  Modified:    src/main/org/jboss/remoting  AbstractInvoker.java
  Log:
  JBREM-622 - fixed bug where would remove all handlers instead of one passed to removeListener() method.
  
  Revision  Changes    Path
  1.14      +17 -13    JBossRemoting/src/main/org/jboss/remoting/AbstractInvoker.java
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: AbstractInvoker.java
  ===================================================================
  RCS file: /cvsroot/jboss/JBossRemoting/src/main/org/jboss/remoting/AbstractInvoker.java,v
  retrieving revision 1.13
  retrieving revision 1.14
  diff -u -b -r1.13 -r1.14
  --- AbstractInvoker.java	9 Nov 2006 21:35:23 -0000	1.13
  +++ AbstractInvoker.java	16 Nov 2006 18:06:13 -0000	1.14
  @@ -47,7 +47,7 @@
    *
    * @author <a href="mailto:jhaynie at vocalocity.net">Jeff Haynie</a>
    * @author <a href="mailto:telrod at e2technologies.net">Tom Elrod</a>
  - * @version $Revision: 1.13 $
  + * @version $Revision: 1.14 $
    */
   public abstract class AbstractInvoker implements Invoker
   {
  @@ -165,26 +165,30 @@
      public List getClientLocators(InvokerCallbackHandler handler)
      {
         List holderList = new ArrayList();
  -      if(handler != null)
  +      if (handler != null)
         {
  -         synchronized(localServerLocators)
  +         synchronized (localServerLocators)
            {
               Set entries = localServerLocators.entrySet();
               Iterator itr = entries.iterator();
  -            while(itr.hasNext())
  +            while (itr.hasNext())
  +            {
  +               Map.Entry entry = (Map.Entry) itr.next();
  +               String listenerId = (String) entry.getKey();
  +               CallbackHandlerHolder holder = (CallbackHandlerHolder) entry.getValue();
  +               InvokerCallbackHandler holderHandler = holder.getHandler();
  +               if (holderHandler.equals(handler))
               {
  -               Map.Entry entry = (Map.Entry)itr.next();
  -               String listenerId = (String)entry.getKey();
  -               CallbackHandlerHolder holder = (CallbackHandlerHolder)entry.getValue();
                  CallbackLocatorHolder locatorHolder = new CallbackLocatorHolder(listenerId, holder.getLocator());
                  holderList.add(locatorHolder);
               }
  +            }
               // now remove holders
  -            if(holderList.size() > 0)
  +            if (holderList.size() > 0)
               {
  -               for(int x = 0; x < holderList.size(); x++)
  +               for (int x = 0; x < holderList.size(); x++)
                  {
  -                  localServerLocators.remove(((CallbackLocatorHolder)holderList.get(x)).getListenerId());
  +                  localServerLocators.remove(((CallbackLocatorHolder) holderList.get(x)).getListenerId());
                  }
               }
            }
  
  
  



More information about the jboss-cvs-commits mailing list