summaryrefslogtreecommitdiff
path: root/source/com/c2kernel/entity/proxy/MemberSubscription.java
diff options
context:
space:
mode:
Diffstat (limited to 'source/com/c2kernel/entity/proxy/MemberSubscription.java')
-rw-r--r--[-rwxr-xr-x]source/com/c2kernel/entity/proxy/MemberSubscription.java15
1 files changed, 6 insertions, 9 deletions
diff --git a/source/com/c2kernel/entity/proxy/MemberSubscription.java b/source/com/c2kernel/entity/proxy/MemberSubscription.java
index fdd3e96..ba2d725 100755..100644
--- a/source/com/c2kernel/entity/proxy/MemberSubscription.java
+++ b/source/com/c2kernel/entity/proxy/MemberSubscription.java
@@ -2,7 +2,6 @@
package com.c2kernel.entity.proxy;
import java.lang.ref.WeakReference;
import java.util.ArrayList;
-import java.util.Iterator;
import java.util.StringTokenizer;
import com.c2kernel.common.ObjectNotFoundException;
@@ -13,8 +12,8 @@ public class MemberSubscription implements Runnable {
EntityProxy subject;
String interest;
// keep the subscriber by weak reference, so it is not kept from the garbage collector if no longer used
- WeakReference observerReference;
- ArrayList contents = new ArrayList();
+ WeakReference<EntityProxyObserver> observerReference;
+ ArrayList<String> contents = new ArrayList<String>();
boolean preLoad;
public MemberSubscription(EntityProxy subject, String interest,
@@ -38,13 +37,12 @@ public class MemberSubscription implements Runnable {
// fetch contents of path
String children = subject.queryData(interest+"/all");
StringTokenizer tok = new StringTokenizer(children, ",");
- ArrayList newContents = new ArrayList();
+ ArrayList<String> newContents = new ArrayList<String>();
while (tok.hasMoreTokens())
newContents.add(tok.nextToken());
// look to see what's new
- for (Iterator iter = newContents.iterator(); iter.hasNext();) {
- String newChild = (String)iter.next();
+ for (String newChild: newContents) {
// load child object
try {
@@ -61,8 +59,7 @@ public class MemberSubscription implements Runnable {
}
}
// report what's left in old contents as deleted
- for (Iterator iter = contents.iterator(); iter.hasNext();) {
- String oldChild = (String)iter.next();
+ for (String oldChild: contents) {
observer.remove(interest+"/"+oldChild);
}
//replace contents arraylist
@@ -110,7 +107,7 @@ public class MemberSubscription implements Runnable {
}
public void setObserver(EntityProxyObserver observer) {
- observerReference = new WeakReference(observer);
+ observerReference = new WeakReference<EntityProxyObserver>(observer);
}
public EntityProxyObserver getObserver() {