1 package fi.vtt.simantics.procore.internal;
\r
3 import java.util.HashSet;
\r
4 import java.util.Set;
\r
6 import org.simantics.db.impl.query.CacheEntry;
\r
7 import org.simantics.db.impl.query.CacheEntryBase;
\r
8 import org.simantics.db.impl.service.QueryDebug;
\r
9 import org.simantics.db.request.AsyncMultiRead;
\r
10 import org.simantics.db.request.AsyncRead;
\r
11 import org.simantics.db.request.MultiRead;
\r
12 import org.simantics.db.request.Read;
\r
14 public class QueryDebugImpl implements QueryDebug {
\r
16 final private SessionImplSocket session;
\r
18 QueryDebugImpl(SessionImplSocket session) {
\r
19 this.session = session;
\r
23 public Set<CacheEntry> getParents(AsyncRead request) {
\r
24 HashSet<CacheEntry> result = new HashSet<CacheEntry>();
\r
25 CacheEntryBase entry = session.queryProvider2.asyncReadMap.get(request);
\r
27 for(CacheEntry parent : entry.getParents(session.queryProvider2)) result.add(parent);
\r
33 public Set<CacheEntry> getParents(AsyncMultiRead request) {
\r
34 HashSet<CacheEntry> result = new HashSet<CacheEntry>();
\r
35 CacheEntryBase entry = session.queryProvider2.asyncMultiReadMap.get(request);
\r
37 for(CacheEntry parent : entry.getParents(session.queryProvider2)) result.add(parent);
\r
43 public Set<CacheEntry> getParents(Read request) {
\r
44 HashSet<CacheEntry> result = new HashSet<CacheEntry>();
\r
45 CacheEntryBase entry = session.queryProvider2.readMap.get(request);
\r
47 for(CacheEntry parent : entry.getParents(session.queryProvider2)) result.add(parent);
\r
53 public Set<CacheEntry> getParents(MultiRead request) {
\r
54 HashSet<CacheEntry> result = new HashSet<CacheEntry>();
\r
55 CacheEntryBase entry = session.queryProvider2.multiReadMap.get(request);
\r
57 for(CacheEntry parent : entry.getParents(session.queryProvider2)) result.add(parent);
\r