diff options
| author | Andrew Branson <andrew.branson@cern.ch> | 2013-07-08 16:04:44 +0200 |
|---|---|---|
| committer | Andrew Branson <andrew.branson@cern.ch> | 2013-07-08 16:05:56 +0200 |
| commit | 76f527597567cecc932501b0ad5f68ee9119c636 (patch) | |
| tree | 0d7abc34aa56d1048a7c5459bf995b6570b5d841 | |
| parent | 99fd46b7cfda6e357a955590741ecef42ed5832a (diff) | |
Copy tree sub keys before notifying. Fixes #131
| -rw-r--r-- | src/main/java/com/c2kernel/entity/proxy/EntityProxyManager.java | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/main/java/com/c2kernel/entity/proxy/EntityProxyManager.java b/src/main/java/com/c2kernel/entity/proxy/EntityProxyManager.java index 192a984..9f134f0 100644 --- a/src/main/java/com/c2kernel/entity/proxy/EntityProxyManager.java +++ b/src/main/java/com/c2kernel/entity/proxy/EntityProxyManager.java @@ -129,10 +129,11 @@ public class EntityProxyManager DomainPath parent; boolean first = true;
synchronized(treeSubscribers) {
while((parent = last.getParent()) != null) {
-
- for (DomainPathSubscriber sub : treeSubscribers.keySet()) {
+ ArrayList<DomainPathSubscriber> currentKeys = new ArrayList<DomainPathSubscriber>();
+ currentKeys.addAll(treeSubscribers.keySet());
+ for (DomainPathSubscriber sub : currentKeys) {
DomainPath interest = treeSubscribers.get(sub);
- if (interest.equals(parent)) {
+ if (interest!= null && interest.equals(parent)) {
if (state == ProxyMessage.ADDED)
sub.pathAdded(last);
else if (first)
|
