X-Git-Url: https://gerrit.simantics.org/r/gitweb?p=simantics%2Fplatform.git;a=blobdiff_plain;f=bundles%2Forg.simantics.db.common%2Fsrc%2Forg%2Fsimantics%2Fdb%2Fcommon%2Frequest%2FAsyncReadRequest.java;h=4b92bbea1e0ac239dfd6102ad4268b1b7ac45fd7;hp=7f35618f871710a3ef77e71b33dbfa310e8d2ebd;hb=HEAD;hpb=0ae2b770234dfc3cbb18bd38f324125cf0faca07 diff --git a/bundles/org.simantics.db.common/src/org/simantics/db/common/request/AsyncReadRequest.java b/bundles/org.simantics.db.common/src/org/simantics/db/common/request/AsyncReadRequest.java index 7f35618f8..4b92bbea1 100644 --- a/bundles/org.simantics.db.common/src/org/simantics/db/common/request/AsyncReadRequest.java +++ b/bundles/org.simantics.db.common/src/org/simantics/db/common/request/AsyncReadRequest.java @@ -12,6 +12,7 @@ package org.simantics.db.common.request; import org.simantics.db.AsyncReadGraph; +import org.simantics.db.exception.DatabaseException; import org.simantics.db.procedure.AsyncProcedure; import org.simantics.db.request.AsyncRead; @@ -19,8 +20,12 @@ public abstract class AsyncReadRequest implements AsyncRead { @Override final public void perform(AsyncReadGraph graph, AsyncProcedure procedure) { - run(graph); - procedure.execute(graph, null); + try { + run(graph); + procedure.execute(graph, null); + } catch (DatabaseException e) { + procedure.exception(graph, e); + } } @Override @@ -33,6 +38,6 @@ public abstract class AsyncReadRequest implements AsyncRead { return hashCode(); } - public abstract void run(AsyncReadGraph graph); + public abstract void run(AsyncReadGraph graph) throws DatabaseException; }