X-Git-Url: https://gerrit.simantics.org/r/gitweb?p=simantics%2Fplatform.git;a=blobdiff_plain;f=bundles%2Forg.simantics.db.testing%2Fsrc%2Forg%2Fsimantics%2Fdb%2Ftesting%2Fcommon%2FTestBase.java;h=1068fc2f50366ae19a72f8a3029534b86f2c7993;hp=574ab95f6ab7a09b876ba7098a5f4027f0a05156;hb=0d9b90834ce56b292c00b1a39850ed842c3e4d42;hpb=e5db6157fd8722c946613d4e46d7aaf6bfa92609 diff --git a/bundles/org.simantics.db.testing/src/org/simantics/db/testing/common/TestBase.java b/bundles/org.simantics.db.testing/src/org/simantics/db/testing/common/TestBase.java index 574ab95f6..1068fc2f5 100644 --- a/bundles/org.simantics.db.testing/src/org/simantics/db/testing/common/TestBase.java +++ b/bundles/org.simantics.db.testing/src/org/simantics/db/testing/common/TestBase.java @@ -20,6 +20,7 @@ import org.eclipse.core.runtime.Platform; import org.junit.After; import org.junit.Before; import org.simantics.SimanticsPlatform; +import org.simantics.db.AsyncReadGraph; import org.simantics.db.ReadGraph; import org.simantics.db.Resource; import org.simantics.db.Session; @@ -30,6 +31,8 @@ import org.simantics.db.common.utils.Logger; import org.simantics.db.exception.DatabaseException; import org.simantics.db.exception.ServiceNotFoundException; import org.simantics.db.management.SessionContext; +import org.simantics.db.procedure.AsyncProcedure; +import org.simantics.db.request.AsyncRead; import org.simantics.db.request.Read; import org.simantics.db.service.LifecycleSupport; import org.simantics.db.testing.impl.Configuration; @@ -145,9 +148,46 @@ abstract public class TestBase /*extends TestCase*/ { } + protected abstract class AsyncReadQuery implements AsyncRead { + protected Result result = null; + + public abstract void run(AsyncReadGraph graph) throws Throwable; + + @Override + public void perform(AsyncReadGraph graph, AsyncProcedure procedure) { + try { + run(graph); + } catch(Throwable t) { + if (DEBUG) { + new Exception().printStackTrace(); + t.printStackTrace(); + } + if (null == exception2) + exception2 = t; + } + } + + } + protected abstract class TestReadRequest extends ReadQuery { } + protected abstract class TestAsyncReadRequest extends AsyncReadQuery { + + @Override + public int getFlags() { + // TODO Auto-generated method stub + return 0; + } + + @Override + public int threadHash() { + // TODO Auto-generated method stub + return 0; + } + + } + protected abstract class WriteOnlyQuery extends WriteOnlyRequest {