import java.util.HashMap;
import java.util.Map;
+import org.simantics.db.impl.BlockingAsyncProcedure;
import org.simantics.db.impl.query.CacheEntry;
import org.simantics.db.impl.query.QueryProcessor.SessionTask;
public static final HashMap<AsyncBarrierImpl, CacheEntry<?>> entryMap = new HashMap<>();
public static final HashMap<AsyncBarrierImpl, Throwable> restartMap = new HashMap<>();
public static final HashMap<AsyncBarrierImpl, Throwable> startMap = new HashMap<>();
+ public static final HashMap<BlockingAsyncProcedure, Throwable> baps = new HashMap<>();
+ synchronized public static void registerBAP(BlockingAsyncProcedure bap) {
+ baps.put(bap, new Exception());
+ }
+
+ synchronized public static void unregisterBAP(BlockingAsyncProcedure bap) {
+ baps.remove(bap);
+ }
+
+ synchronized public static void printBAPS() {
+ for(BlockingAsyncProcedure bap : baps.keySet()) {
+ Throwable e = baps.get(bap);
+ System.err.println("BlockingAsyncProcedure");
+ System.err.println("-key: " + bap.key);
+ System.err.println("-queryGraph: " + bap.queryGraph);
+ System.err.println("-callerGraph: " + bap.callerGraph);
+ System.err.println("-procedure: " + bap.procedure);
+ System.err.println("-pendingTaskSupport: " + bap.pendingTaskSupport);
+ System.err.println("-result: " + bap.result);
+ System.err.println("-exception: " + bap.exception);
+ e.printStackTrace();
+ }
+ }
+
public static void trace(AsyncBarrierImpl barrier, CacheEntry<?> entry) {
if (RESTART_GUARD) {