X-Git-Url: https://gerrit.simantics.org/r/gitweb?p=simantics%2Fplatform.git;a=blobdiff_plain;f=bundles%2Forg.simantics.db.procore%2Fsrc%2Forg%2Fsimantics%2Fdb%2Fprocore%2Fcluster%2FResourceTable.java;h=d0619976d4775421d4bd5b915d4dbe23b6063081;hp=84090af415e944ce757687706c2b7f67d646f71d;hb=0d9b90834ce56b292c00b1a39850ed842c3e4d42;hpb=0ae2b770234dfc3cbb18bd38f324125cf0faca07 diff --git a/bundles/org.simantics.db.procore/src/org/simantics/db/procore/cluster/ResourceTable.java b/bundles/org.simantics.db.procore/src/org/simantics/db/procore/cluster/ResourceTable.java index 84090af41..d0619976d 100644 --- a/bundles/org.simantics.db.procore/src/org/simantics/db/procore/cluster/ResourceTable.java +++ b/bundles/org.simantics.db.procore/src/org/simantics/db/procore/cluster/ResourceTable.java @@ -33,7 +33,8 @@ import org.simantics.db.impl.TableFactory; import org.simantics.db.impl.TableSizeListener; 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; import org.simantics.db.procore.cluster.PredicateTable.Status; @@ -413,7 +414,7 @@ final class ResourceElement { } public static void foreachObject(long[] table, int index, - final ReadGraphImpl graph, final AsyncMultiProcedure procedure, + final ReadGraphImpl graph, final SyncMultiProcedure procedure, final ClusterSupport support, final int pRef, final ClusterI.CompleteTypeEnum pCompleteType, CompleteTable ct, final Modifier modifier) throws DatabaseException { if (DEBUG) @@ -506,7 +507,7 @@ final class ResourceElement { } public static void foreachObject(long[] table, int index, - final ReadGraphImpl graph, final C context, final AsyncContextMultiProcedure procedure, + final ReadGraphImpl graph, final C context, final SyncContextMultiProcedure procedure, final ClusterSupport support, final int pRef, final ClusterI.CompleteTypeEnum pCompleteType, CompleteTable ct, final Modifier modifier) throws DatabaseException { if (DEBUG) @@ -514,7 +515,7 @@ final class ResourceElement { 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 } @@ -543,14 +544,14 @@ final class ResourceElement { ForeachObject t = new ForeachObject(); // CompleteRef is complete object set index. ct.foreachComplete(completeRef, t, null, support, modifier); - procedure.finished(graph); + procedure.finished(graph, context); // graph.state.dec(0); return; // loop finished } // one complete type element ClusterI.CompleteTypeEnum completeType = ClusterTraits.completeReferenceGetType(completeRef); if (pCompleteType != completeType) { - procedure.finished(graph); + procedure.finished(graph, context); // graph.state.dec(0); return; } @@ -562,7 +563,7 @@ final class ResourceElement { int externalRef = ClusterTraits.createForeignReference(clusterIndex, resourceIndex); procedure.execute(graph, context, new ResourceImpl(graph.getResourceSupport(), modifier.execute(externalRef))); } - procedure.finished(graph); + procedure.finished(graph, context); // graph.state.dec(0); return; // loop finished } @@ -570,7 +571,7 @@ final class ResourceElement { long l = table[i]; int p1 = (int) (l >>> 32); if (0 == p1) { - procedure.finished(graph); + procedure.finished(graph, context); // graph.state.dec(0); return; // loop finished, no statements } @@ -588,13 +589,13 @@ final class ResourceElement { long l2 = table[++i]; int p2 = (int) (l2 >>> 32); if (pRef != p2) { - procedure.finished(graph); + procedure.finished(graph, context); // graph.state.dec(0); return; // loop finished, one statements } int o2 = (int)l2; procedure.execute(graph, context, new ResourceImpl(graph.getResourceSupport(), modifier.execute(o2))); - procedure.finished(graph); + procedure.finished(graph, context); // graph.state.dec(0); } @@ -1021,14 +1022,14 @@ public final class ResourceTable extends Table { } public void foreachObject(int resourceIndex, ReadGraphImpl graph, - AsyncMultiProcedure procedure, ClusterSupport support, int pRef, ClusterI.CompleteTypeEnum pCompleteType, CompleteTable ct, Modifier modifier) throws DatabaseException { + SyncMultiProcedure procedure, ClusterSupport support, int pRef, ClusterI.CompleteTypeEnum pCompleteType, CompleteTable ct, Modifier modifier) throws DatabaseException { int realIndex = checkIndexAndGetRealIndex(resourceIndex); ResourceElement.foreachObject(table, realIndex, graph, procedure, support, pRef, pCompleteType, ct, modifier); } public void foreachObject(int resourceIndex, ReadGraphImpl graph, C context, - AsyncContextMultiProcedure procedure, ClusterSupport support, int pRef, ClusterI.CompleteTypeEnum pCompleteType, CompleteTable ct, Modifier modifier) throws DatabaseException { + SyncContextMultiProcedure procedure, ClusterSupport support, int pRef, ClusterI.CompleteTypeEnum pCompleteType, CompleteTable ct, Modifier modifier) throws DatabaseException { int realIndex = checkIndexAndGetRealIndex(resourceIndex); ResourceElement.foreachObject(table, realIndex, graph, context, procedure, support, pRef, pCompleteType, ct, modifier);