]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.diagram/src/org/simantics/diagram/profile/DiagramElementGroup.java
Fixed multiple issues causing dangling references to discarded queries
[simantics/platform.git] / bundles / org.simantics.diagram / src / org / simantics / diagram / profile / DiagramElementGroup.java
index 059bb55fbec0aed9c89a3ffbb2c9305bfdd12891..bcbe6c7c64032bc88b336e09c9c0c83dc10f1105 100644 (file)
@@ -38,8 +38,8 @@ public abstract class DiagramElementGroup implements Group {
     }
 
     @Override
-    public void trackItems(RequestProcessor processor, final Resource runtimeDiagram, final SetListener<Resource> listener) {
-        processor.asyncRequest(new BinaryRead<Class<?>, Resource, Collection<Resource>>(getClass(), runtimeDiagram) {
+    public void trackItems(RequestProcessor processor, final Resource runtimeDiagram, final SetListener<Resource> listener) throws DatabaseException {
+        processor.syncRequest(new BinaryRead<Class<?>, Resource, Collection<Resource>>(getClass(), runtimeDiagram) {
 
             @Override
             public Set<Resource> perform(ReadGraph graph) throws DatabaseException {
@@ -63,5 +63,15 @@ public abstract class DiagramElementGroup implements Group {
     }
 
     protected abstract boolean test(ReadGraph graph, Resource element) throws DatabaseException;
+    
+    @Override
+    public int hashCode() {
+        return this.getClass().hashCode();
+    }
+
+    @Override
+    public boolean equals(Object obj) {
+        return obj.getClass().equals(this.getClass());
+    }
 
 }