]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.db.procore/src/fi/vtt/simantics/procore/internal/QueryDebugImpl.java
Multiple reader thread support for db client
[simantics/platform.git] / bundles / org.simantics.db.procore / src / fi / vtt / simantics / procore / internal / QueryDebugImpl.java
index bc4f4ffa2a795704673c0171b4a9d5c958432a9e..2974c90258fa87dd2a94b12a40df828f223e2e73 100644 (file)
@@ -1,62 +1,62 @@
-package fi.vtt.simantics.procore.internal;\r
-\r
-import java.util.HashSet;\r
-import java.util.Set;\r
-\r
-import org.simantics.db.impl.query.CacheEntry;\r
-import org.simantics.db.impl.query.CacheEntryBase;\r
-import org.simantics.db.impl.service.QueryDebug;\r
-import org.simantics.db.request.AsyncMultiRead;\r
-import org.simantics.db.request.AsyncRead;\r
-import org.simantics.db.request.MultiRead;\r
-import org.simantics.db.request.Read;\r
-\r
-public class QueryDebugImpl implements QueryDebug {\r
-       \r
-       final private SessionImplSocket session;\r
-       \r
-       QueryDebugImpl(SessionImplSocket session) {\r
-               this.session = session;\r
-       }\r
-\r
-    @Override\r
-    public Set<CacheEntry> getParents(AsyncRead request) {\r
-        HashSet<CacheEntry> result = new HashSet<CacheEntry>();\r
-        CacheEntryBase entry = session.queryProvider2.asyncReadMap.get(request);\r
-        if(entry != null) {\r
-            for(CacheEntry parent : entry.getParents(session.queryProvider2)) result.add(parent);\r
-        }\r
-        return result;\r
-    }\r
-\r
-    @Override\r
-    public Set<CacheEntry> getParents(AsyncMultiRead request) {\r
-        HashSet<CacheEntry> result = new HashSet<CacheEntry>();\r
-        CacheEntryBase entry = session.queryProvider2.asyncMultiReadMap.get(request);\r
-        if(entry != null) {\r
-            for(CacheEntry parent : entry.getParents(session.queryProvider2)) result.add(parent);\r
-        }\r
-        return result;\r
-    }\r
-\r
-    @Override\r
-    public Set<CacheEntry> getParents(Read request) {\r
-        HashSet<CacheEntry> result = new HashSet<CacheEntry>();\r
-        CacheEntryBase entry = session.queryProvider2.readMap.get(request);\r
-        if(entry != null) {\r
-            for(CacheEntry parent : entry.getParents(session.queryProvider2)) result.add(parent);\r
-        }\r
-        return result;\r
-    }\r
-\r
-    @Override\r
-    public Set<CacheEntry> getParents(MultiRead request) {\r
-        HashSet<CacheEntry> result = new HashSet<CacheEntry>();\r
-        CacheEntryBase entry = session.queryProvider2.multiReadMap.get(request);\r
-        if(entry != null) {\r
-            for(CacheEntry parent : entry.getParents(session.queryProvider2)) result.add(parent);\r
-        }\r
-        return result;\r
-    }\r
-\r
-}\r
+package fi.vtt.simantics.procore.internal;
+
+import java.util.HashSet;
+import java.util.Set;
+
+import org.simantics.db.impl.query.CacheEntry;
+import org.simantics.db.impl.query.CacheEntryBase;
+import org.simantics.db.impl.service.QueryDebug;
+import org.simantics.db.request.AsyncMultiRead;
+import org.simantics.db.request.AsyncRead;
+import org.simantics.db.request.MultiRead;
+import org.simantics.db.request.Read;
+
+public class QueryDebugImpl implements QueryDebug {
+       
+       final private SessionImplSocket session;
+       
+       QueryDebugImpl(SessionImplSocket session) {
+               this.session = session;
+       }
+
+    @Override
+    public Set<CacheEntry> getParents(AsyncRead<?> request) {
+        HashSet<CacheEntry> result = new HashSet<CacheEntry>();
+        CacheEntryBase<?> entry = session.queryProvider2.cache.entryAsyncRead(session.queryProvider2, request);
+        if(entry != null) {
+            for(CacheEntry parent : entry.getParents(session.queryProvider2)) result.add(parent);
+        }
+        return result;
+    }
+
+    @Override
+    public Set<CacheEntry> getParents(AsyncMultiRead<?> request) {
+        HashSet<CacheEntry> result = new HashSet<CacheEntry>();
+        CacheEntryBase<?> entry = session.queryProvider2.cache.entryAsyncMultiRead(session.queryProvider2, request);
+        if(entry != null) {
+            for(CacheEntry parent : entry.getParents(session.queryProvider2)) result.add(parent);
+        }
+        return result;
+    }
+
+    @Override
+    public Set<CacheEntry> getParents(Read<?> request) {
+        HashSet<CacheEntry> result = new HashSet<CacheEntry>();
+        CacheEntryBase<?> entry = session.queryProvider2.cache.entryRead(session.queryProvider2, request);
+        if(entry != null) {
+            for(CacheEntry parent : entry.getParents(session.queryProvider2)) result.add(parent);
+        }
+        return result;
+    }
+
+    @Override
+    public Set<CacheEntry> getParents(MultiRead<?> request) {
+        HashSet<CacheEntry> result = new HashSet<CacheEntry>();
+        CacheEntryBase<?> entry = session.queryProvider2.cache.entryMultiRead(session.queryProvider2, request);
+        if(entry != null) {
+            for(CacheEntry parent : entry.getParents(session.queryProvider2)) result.add(parent);
+        }
+        return result;
+    }
+
+}