]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.db.impl/src/org/simantics/db/impl/ForEachObjectContextProcedure.java
Multiple reader thread support for db client
[simantics/platform.git] / bundles / org.simantics.db.impl / src / org / simantics / db / impl / ForEachObjectContextProcedure.java
index 188917994a26881ccafe58a313ac6cb4559c2a67..6bec3b7074b540f34f5970cd20bd73cbc113892f 100644 (file)
@@ -1,12 +1,13 @@
 package org.simantics.db.impl;
 
-import org.simantics.db.AsyncReadGraph;
+import org.simantics.db.ReadGraph;
 import org.simantics.db.RelationInfo;
 import org.simantics.db.Resource;
+import org.simantics.db.exception.DatabaseException;
 import org.simantics.db.impl.query.QueryProcessor;
-import org.simantics.db.procedure.AsyncContextMultiProcedure;
+import org.simantics.db.procedure.SyncContextMultiProcedure;
 
-public final class ForEachObjectContextProcedure<C> implements AsyncContextMultiProcedure<C, Resource> {
+public final class ForEachObjectContextProcedure<C> implements SyncContextMultiProcedure<C, Resource> {
 
        public final int predicateKey;
        public final int[] clusterKey;
@@ -14,9 +15,9 @@ public final class ForEachObjectContextProcedure<C> implements AsyncContextMulti
        public final RelationInfo info;
        public final QueryProcessor processor;
        public final ClusterI.CompleteTypeEnum completeType;
-       private final AsyncContextMultiProcedure<C, Resource> user;
+       private final SyncContextMultiProcedure<C, Resource> user;
        
-       public ForEachObjectContextProcedure(int predicateKey, RelationInfo info, QueryProcessor processor, AsyncContextMultiProcedure<C, Resource> user) {
+       public ForEachObjectContextProcedure(int predicateKey, RelationInfo info, QueryProcessor processor, SyncContextMultiProcedure<C, Resource> user) {
                this.predicateKey = predicateKey;
                this.completeType = ClusterTraitsBase.getCompleteTypeFromResourceKey(predicateKey); 
                this.info = info;
@@ -27,17 +28,17 @@ public final class ForEachObjectContextProcedure<C> implements AsyncContextMulti
        }
        
        @Override
-       public void execute(AsyncReadGraph graph, C context, Resource result) {
+       public void execute(ReadGraph graph, C context, Resource result) throws DatabaseException {
                user.execute(graph, context, result);
        }
 
        @Override
-       public void finished(AsyncReadGraph graph, C context) {
+       public void finished(ReadGraph graph, C context) throws DatabaseException {
                user.finished(graph, context);
        }
 
        @Override
-       public void exception(AsyncReadGraph graph, Throwable throwable) {
+       public void exception(ReadGraph graph, Throwable throwable) throws DatabaseException {
                user.exception(graph, throwable);
        }