]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.db.impl/src/org/simantics/db/impl/query/BinaryQuery.java
Fixed multiple issues causing dangling references to discarded queries
[simantics/platform.git] / bundles / org.simantics.db.impl / src / org / simantics / db / impl / query / BinaryQuery.java
index e7af8d04d683f15fd9677ad6573596cd40851ab5..04df0d00c5c8f1ea1222eee6000788e8e2a43bde 100644 (file)
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2007, 2010 Association for Decentralized Information Management
+ * Copyright (c) 2007, 2018 Association for Decentralized Information Management
  * in Industry THTH ry.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  *******************************************************************************/
 package org.simantics.db.impl.query;
 
-import org.simantics.db.impl.graph.ReadGraphImpl;
 import org.simantics.db.request.RequestFlags;
 
-
-abstract public class BinaryQuery<Procedure> extends CacheEntryBase implements Query {
+public abstract class BinaryQuery<Procedure> extends CacheEntryBase<Procedure> implements Query {
 
        final public long id;
 
@@ -65,22 +63,18 @@ abstract public class BinaryQuery<Procedure> extends CacheEntryBase implements Q
     final public Query getQuery() {
         return this;
     }
-    
+
+    abstract public void removeEntry(QueryProcessor provider);
+
     @Override
-    public void recompute(ReadGraphImpl graph, Object provider, CacheEntry entry) {
-        recompute(graph, (QueryProcessor)provider);
+    public long cluster(QueryProcessor processor) {
+        return processor.cluster(r1());
     }
-    
+
     @Override
-    public void performFromCache(ReadGraphImpl graph, Object provider, Object procedure) {
-        performFromCache(graph, (QueryProcessor)provider, (Procedure)procedure);
+    public void serializeKey(QuerySerializer serializer) {
+        serializer.addResource(r1());
+        serializer.addResource(r2());
     }
 
-    abstract public void recompute(ReadGraphImpl graph, QueryProcessor provider);
-    abstract public void computeForEach(ReadGraphImpl graph, QueryProcessor provider, Procedure procedure, boolean store);
-    abstract public void performFromCache(ReadGraphImpl graph, QueryProcessor provider, Procedure procedure);
-    abstract public void putEntry(QueryProcessor provider);
-    abstract public void removeEntry(QueryProcessor provider);
-    abstract public BinaryQuery<Procedure> getEntry(QueryProcessor provider);
-
 }