]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.db.procore/src/org/simantics/db/procore/cluster/ResourceElementSmall.java
Multiple reader thread support for db client
[simantics/platform.git] / bundles / org.simantics.db.procore / src / org / simantics / db / procore / cluster / ResourceElementSmall.java
index 23d15dcfdb13fe6a10a7af104a5537fb18079d22..d7f6abc49a39642279b30d20fb050bd7420c1954 100644 (file)
@@ -9,8 +9,8 @@ import org.simantics.db.impl.ClusterTraitsBase;
 import org.simantics.db.impl.Modifier;
 import org.simantics.db.impl.ResourceImpl;
 import org.simantics.db.impl.graph.ReadGraphImpl;
-import org.simantics.db.procedure.AsyncContextMultiProcedure;
-import org.simantics.db.procedure.AsyncMultiProcedure;
+import org.simantics.db.procedure.SyncContextMultiProcedure;
+import org.simantics.db.procedure.SyncMultiProcedure;
 
 
 public final class ResourceElementSmall {
@@ -394,7 +394,7 @@ public final class ResourceElementSmall {
     }
 
     public static void foreachObject(long[] table, int index,
-            final ReadGraphImpl graph, final AsyncMultiProcedure<Resource> procedure,
+            final ReadGraphImpl graph, final SyncMultiProcedure<Resource> procedure,
             ClusterSupport support, final int pRef, ClusterI.CompleteTypeEnum pCompleteType, CompleteTable ct, final Modifier modifier)
     throws DatabaseException {
         if (DEBUG)
@@ -469,7 +469,7 @@ public final class ResourceElementSmall {
     }
     
     public static <C> void foreachObject(long[] table, int index,
-            final ReadGraphImpl graph, final C context, final AsyncContextMultiProcedure<C, Resource> procedure,
+            final ReadGraphImpl graph, final C context, final SyncContextMultiProcedure<C, Resource> procedure,
             ClusterSupport support, final int pRef, ClusterI.CompleteTypeEnum pCompleteType, CompleteTable ct, final Modifier modifier)
     throws DatabaseException {
         if (DEBUG)
@@ -477,7 +477,7 @@ public final class ResourceElementSmall {
         if (ClusterI.CompleteTypeEnum.NotComplete != pCompleteType) {
             int completeRef = getCompleteObjectRef(table, index);
             if (0 == completeRef) {
-                procedure.finished(graph);
+                procedure.finished(graph, context);
 //                graph.state.dec(0);
                 return; // no objects for given complete type
             }
@@ -496,19 +496,19 @@ public final class ResourceElementSmall {
             } else { // One complete type element. CompleteRef is resource reference.
                 ClusterI.CompleteTypeEnum rCompleteType = ResourceElementSmall.getCompleteType(table, index);
                 if (pCompleteType != rCompleteType) {
-                    procedure.finished(graph);
+                    procedure.finished(graph, context);
 //                    graph.state.dec(0);
                     return; // Complete predicate does not match.
                 }
                 procedure.execute(graph, context, new ResourceImpl(graph.getResourceSupport(), modifier.execute(completeRef)));
             }
-            procedure.finished(graph);
+            procedure.finished(graph, context);
 //            graph.state.dec(0);
             return; // loop finished
         }
         short p1 = getStm1Predicate(table, index);
         if (0 == p1) {
-            procedure.finished(graph);
+            procedure.finished(graph, context);
 //            graph.state.dec(0);
             return; // loop finished, no statements
         }
@@ -525,7 +525,7 @@ public final class ResourceElementSmall {
         }
         short p2 = getStm2Predicate(table, index);
         if (0 == p2 || pRef != p2) {
-            procedure.finished(graph);
+            procedure.finished(graph, context);
 //            graph.state.dec(0);
             return; // loop finished, one statements
         }
@@ -539,7 +539,7 @@ public final class ResourceElementSmall {
 //            return true; // loop broken by procedure
 //        return false; // loop finished
         procedure.execute(graph, context, new ResourceImpl(graph.getResourceSupport(), modifier.execute(o2)));
-        procedure.finished(graph);
+        procedure.finished(graph, context);
 //        graph.state.dec(0);
     }