import java.util.ArrayList;
import org.simantics.db.AsyncReadGraph;
+import org.simantics.db.ReadGraph;
import org.simantics.db.common.exception.DebugException;
import org.simantics.db.exception.DatabaseException;
import org.simantics.db.impl.graph.ReadGraphImpl;
-import org.simantics.db.impl.query.QueryProcessor.AsyncBarrier;
import org.simantics.db.procedure.AsyncMultiProcedure;
+import org.simantics.db.procedure.SyncMultiProcedure;
import org.simantics.db.request.MultiRead;
import org.simantics.db.request.RequestFlags;
-import org.simantics.utils.datastructures.Pair;
-final public class MultiReadEntry<T> extends CacheEntryBase<AsyncMultiProcedure<T>> {
+final public class MultiReadEntry<T> extends CacheEntryBase<SyncMultiProcedure<T>> {
protected MultiRead<T> request;
setResult(null);
}
- synchronized public void finish(AsyncReadGraph graph) {
+ synchronized public void finish(ReadGraph graph) {
assert(isPending());
- ArrayList<Pair<AsyncMultiProcedure<T>, AsyncBarrier>> p = null;
-
- synchronized(this) {
+ synchronized(this) {
setReady();
}
try {
- request.perform(graph , new AsyncMultiProcedure<T>() {
+ request.perform(graph , new SyncMultiProcedure<T>() {
@Override
- public void execute(AsyncReadGraph graph, T result) {
+ public void execute(ReadGraph graph, T result) {
addOrSet(result);
}
- public void finished(AsyncReadGraph graph) {
+ public void finished(ReadGraph graph) {
finish(graph);
};
@Override
- public void exception(AsyncReadGraph graph, Throwable t) {
+ public void exception(ReadGraph graph, Throwable t) {
except(t);
}
}
@Override
- public Object performFromCache(ReadGraphImpl graph, AsyncMultiProcedure<T> proc) {
+ public Object performFromCache(ReadGraphImpl graph, SyncMultiProcedure<T> proc) {
if(isExcepted()) {
}
//@Override
- public Object compute(ReadGraphImpl graph, AsyncMultiProcedure<T> procedure) throws DatabaseException {
+ public Object compute(ReadGraphImpl graph, SyncMultiProcedure<T> procedure) throws DatabaseException {
return graph.processor.cache.performQuery(graph, request, this, procedure);
}