]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.db.impl/src/org/simantics/db/impl/ForPossibleRelatedValueProcedure.java
Fixed multiple issues causing dangling references to discarded queries
[simantics/platform.git] / bundles / org.simantics.db.impl / src / org / simantics / db / impl / ForPossibleRelatedValueProcedure.java
index da5528c113b1d5ad70c85ae69e12f45b77978ad0..bd5e0ccaaac3f81716731f5035f2c8d6ebebbc45 100644 (file)
@@ -1,35 +1,36 @@
-package org.simantics.db.impl;\r
-\r
-import org.simantics.db.AsyncReadGraph;\r
-import org.simantics.db.RelationInfo;\r
-import org.simantics.db.procedure.AsyncProcedure;\r
-\r
-public final class ForPossibleRelatedValueProcedure<T> implements AsyncProcedure<T> {\r
-\r
-       public final int predicateKey;\r
-       public final int[] clusterKey;\r
-       public final int[] predicateReference;\r
-       public final RelationInfo info;\r
-       public final ClusterI.CompleteTypeEnum completeType;\r
-       private final AsyncProcedure<T> user;\r
-       \r
-       public ForPossibleRelatedValueProcedure(int predicateKey, RelationInfo info, AsyncProcedure<T> user) {\r
-               this.predicateKey = predicateKey;\r
-               this.completeType = ClusterTraitsBase.getCompleteTypeFromResourceKey(predicateKey); \r
-               this.info = info;\r
-               this.user = user;\r
-               this.clusterKey = new int[32*8];\r
-               this.predicateReference = new int[32*8];\r
-       }\r
-       \r
-       @Override\r
-       public void execute(AsyncReadGraph graph, T result) {\r
-               user.execute(graph, result);\r
-       }\r
-\r
-       @Override\r
-       public void exception(AsyncReadGraph graph, Throwable throwable) {\r
-               user.exception(graph, throwable);\r
-       }\r
-       \r
-};\r
+package org.simantics.db.impl;
+
+import org.simantics.db.ReadGraph;
+import org.simantics.db.RelationInfo;
+import org.simantics.db.exception.DatabaseException;
+import org.simantics.db.procedure.SyncProcedure;
+
+public final class ForPossibleRelatedValueProcedure<T> implements SyncProcedure<T> {
+
+       public final int predicateKey;
+       public final int[] clusterKey;
+       public final int[] predicateReference;
+       public final RelationInfo info;
+       public final ClusterI.CompleteTypeEnum completeType;
+       private final SyncProcedure<T> user;
+       
+       public ForPossibleRelatedValueProcedure(int predicateKey, RelationInfo info, SyncProcedure<T> user) {
+               this.predicateKey = predicateKey;
+               this.completeType = ClusterTraitsBase.getCompleteTypeFromResourceKey(predicateKey); 
+               this.info = info;
+               this.user = user;
+               this.clusterKey = new int[32*8];
+               this.predicateReference = new int[32*8];
+       }
+       
+       @Override
+       public void execute(ReadGraph graph, T result) throws DatabaseException {
+               user.execute(graph, result);
+       }
+
+       @Override
+       public void exception(ReadGraph graph, Throwable throwable) throws DatabaseException {
+               user.exception(graph, throwable);
+       }
+       
+};