]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.db.impl/src/org/simantics/db/impl/query/ObjectUpdateSet.java
Fixed multiple issues causing dangling references to discarded queries
[simantics/platform.git] / bundles / org.simantics.db.impl / src / org / simantics / db / impl / query / ObjectUpdateSet.java
index d2baafad2b808c99aec1488d01cd4b1fdc35534a..659eef137ac4f6b2d56325cb6a47d25b41eaaa2f 100644 (file)
@@ -1,52 +1,52 @@
-package org.simantics.db.impl.query;\r
-\r
-import gnu.trove.procedure.TLongProcedure;\r
-import gnu.trove.set.hash.TLongHashSet;\r
-\r
-final public class ObjectUpdateSet {\r
-\r
-       private long first = 0;\r
-       public TLongHashSet rest = new TLongHashSet();\r
-       \r
-       public int size() {\r
-               if(first != 0) return 1;\r
-               else return rest.size();\r
-       }\r
-       \r
-       public long getFirst() {\r
-               return first;\r
-       }\r
-       \r
-       public void add(long l) {\r
-               if(first == 0) {\r
-                       if(rest.isEmpty()) {\r
-                               first = l;\r
-                       } else {\r
-                               rest.add(l);\r
-                       }\r
-               } else {\r
-                       if(l == first) return;\r
-                       rest.add(first);\r
-                       rest.add(l);\r
-                       first = 0;\r
-               }\r
-       }\r
-       \r
-       public void clear() {\r
-               first = 0;\r
-               if(!rest.isEmpty()) {\r
-                       rest = new TLongHashSet();\r
-                       //System.err.println("new rest!");\r
-               }\r
-               //rest.clear();\r
-       }\r
-       \r
-       public void forEach(TLongProcedure proc) {\r
-               if(first != 0) {\r
-                       proc.execute(first);\r
-               } else {\r
-                       rest.forEach(proc);\r
-               }\r
-       }\r
-       \r
-}\r
+package org.simantics.db.impl.query;
+
+import gnu.trove.procedure.TLongProcedure;
+import gnu.trove.set.hash.TLongHashSet;
+
+final public class ObjectUpdateSet {
+
+       private long first = 0;
+       public TLongHashSet rest = new TLongHashSet();
+       
+       public int size() {
+               if(first != 0) return 1;
+               else return rest.size();
+       }
+       
+       public long getFirst() {
+               return first;
+       }
+       
+       public void add(long l) {
+               if(first == 0) {
+                       if(rest.isEmpty()) {
+                               first = l;
+                       } else {
+                               rest.add(l);
+                       }
+               } else {
+                       if(l == first) return;
+                       rest.add(first);
+                       rest.add(l);
+                       first = 0;
+               }
+       }
+       
+       public void clear() {
+               first = 0;
+               if(!rest.isEmpty()) {
+                       rest = new TLongHashSet();
+                       //System.err.println("new rest!");
+               }
+               //rest.clear();
+       }
+       
+       public void forEach(TLongProcedure proc) {
+               if(first != 0) {
+                       proc.execute(first);
+               } else {
+                       rest.forEach(proc);
+               }
+       }
+       
+}