[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