diff --git a/extras/src/main/java/edu/umd/cs/piccolox/event/PNotificationCenter.java b/extras/src/main/java/edu/umd/cs/piccolox/event/PNotificationCenter.java index f793ed4..237411d 100644 --- a/extras/src/main/java/edu/umd/cs/piccolox/event/PNotificationCenter.java +++ b/extras/src/main/java/edu/umd/cs/piccolox/event/PNotificationCenter.java @@ -216,7 +216,8 @@ if (listenersList != null) { mergedListeners.addAll(listenersList); } - } else { // both are specified + } + else { // both are specified listenersList = (List) listenersMap.get(new NotificationKey(name, object)); if (listenersList != null) { mergedListeners.addAll(listenersList); @@ -228,7 +229,7 @@ listenersList = (List) listenersMap.get(new NotificationKey(NULL_MARKER, object)); if (listenersList != null) { mergedListeners.addAll(listenersList); - } + } } } else if (object != null) { // name is null @@ -279,13 +280,12 @@ protected List matchingKeys(String name, Object object) { List result = new LinkedList(); + NotificationKey searchKey = new NotificationKey(name, object); Iterator it = listenersMap.keySet().iterator(); while (it.hasNext()) { NotificationKey key = (NotificationKey) it.next(); - if (name == null || name.equals(key.name())) { - if ((object == null) || (object == key.get())) { - result.add(key); - } + if (searchKey.equals(key)) { + result.add(key); } } @@ -400,7 +400,7 @@ return false; Object o = get(); - + return (o != null) && (o == target.get()); }