X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=bundles%2Forg.simantics.db.impl%2Fsrc%2Forg%2Fsimantics%2Fdb%2Fimpl%2Fgraph%2FReadGraphImpl.java;h=25438ef1ef3f0d57878c32c3c03def4111c8ca0c;hb=1fb7e00de0895266e08097371c6f84e4322d6530;hp=3337e55b8455d88dd760efbfc19fe0df08e31a50;hpb=ad18bf76b19bec530bc68c6041ab5fb245b8ee4d;p=simantics%2Fplatform.git diff --git a/bundles/org.simantics.db.impl/src/org/simantics/db/impl/graph/ReadGraphImpl.java b/bundles/org.simantics.db.impl/src/org/simantics/db/impl/graph/ReadGraphImpl.java index 3337e55b8..25438ef1e 100644 --- a/bundles/org.simantics.db.impl/src/org/simantics/db/impl/graph/ReadGraphImpl.java +++ b/bundles/org.simantics.db.impl/src/org/simantics/db/impl/graph/ReadGraphImpl.java @@ -137,6 +137,7 @@ import org.simantics.db.impl.procedure.CallWrappedSingleQueryProcedure4; import org.simantics.db.impl.procedure.ResultCallWrappedQueryProcedure4; import org.simantics.db.impl.procedure.ResultCallWrappedSingleQueryProcedure4; import org.simantics.db.impl.query.CacheEntry; +import org.simantics.db.impl.query.QueryCache; import org.simantics.db.impl.query.QueryProcessor; import org.simantics.db.impl.query.QuerySupport; import org.simantics.db.impl.query.TripleIntProcedure; @@ -1896,7 +1897,9 @@ public class ReadGraphImpl implements ReadGraph { assert (request != null); - return processor.query(this, request, parent, null, null); + return QueryCache.resultReadEntry(this, request, parent, null, null); + + //return processor.query(this, request, parent, null, null); // if (parent != null) { // @@ -1948,7 +1951,9 @@ public class ReadGraphImpl implements ReadGraph { ListenerBase listener = procedure != null ? getListenerBase(procedure) : null; - return processor.query(this, request, parent, procedure, listener); + return QueryCache.resultReadEntry(this, request, parent, listener, procedure); + +// return processor.query(this, request, parent, procedure, listener); // if (parent != null || listener != null) { @@ -2079,7 +2084,9 @@ public class ReadGraphImpl implements ReadGraph { final ResultCallWrappedSingleQueryProcedure4 wrapper = new ResultCallWrappedSingleQueryProcedure4( procedure, request); - processor.query(this, request, parent, wrapper, listener); + QueryCache.runnerAsyncReadEntry(this, request, parent, listener, wrapper); + + //processor.query(this, request, parent, wrapper, listener); return wrapper.getResult(); @@ -2147,35 +2154,12 @@ public class ReadGraphImpl implements ReadGraph { assert (request != null); ListenerBase listener = getListenerBase(procedure); + assert(listener == null); - final ResultCallWrappedSingleQueryProcedure4 wrapper = new ResultCallWrappedSingleQueryProcedure4( - procedure, request); - - processor.query(this, request, parent, wrapper, listener); +// final ResultCallWrappedSingleQueryProcedure4 wrapper = new ResultCallWrappedSingleQueryProcedure4( +// procedure, request); -// if (parent != null || listener != null || ((request.getFlags() & RequestFlags.SCHEDULE) > 0)) { -// -// -// } else { -// -// try { -// -//// final ReadGraphImpl newGraph = newSync(); -// processor.tryQuery(this, request, procedure); -//// newGraph.waitAsync(null); -// waitAsyncProcedure(procedure); -// -// } catch (Throwable t) { -// if(Development.DEVELOPMENT) { -// if(Development.getProperty(DevelopmentKeys.WRITEGRAPH_EXCEPTION_STACKTRACES, Bindings.BOOLEAN)) { -// t.printStackTrace(); -// } -// } -// procedure.exception(this, t); -// waitAsyncProcedure(procedure); -// } -// -// } + QueryCache.runnerAsyncReadEntry(this, request, parent, listener, procedure); } @@ -5408,7 +5392,8 @@ public class ReadGraphImpl implements ReadGraph { if (parent != null || listener != null) { try { - processor.query(this, request, parent, procedure,listener); + QueryCache.runnerReadEntry(this, request, parent, listener, procedure); + //processor.query(this, request, parent, procedure,listener); } catch (DatabaseException e) { Logger.defaultLogError(e); // This throwable has already been transferred to procedure at this point - do nothing about it @@ -5518,7 +5503,8 @@ public class ReadGraphImpl implements ReadGraph { if (parent != null || listener != null) { try { - processor.query(this, request, parent, procedure, listener); + QueryCache.runnerAsyncReadEntry(this, request, parent, listener, procedure); + //processor.query(this, request, parent, procedure, listener); } catch (DatabaseException e) { Logger.defaultLogError(e); }