X-Git-Url: https://gerrit.simantics.org/r/gitweb?p=simantics%2Fplatform.git;a=blobdiff_plain;f=bundles%2Forg.simantics.tests.modelled.ui.ontology%2Fsrc%2Forg%2Fsimantics%2Ftests%2Fmodelled%2Fui%2Fontology%2FTestsUIResource.java;fp=bundles%2Forg.simantics.tests.modelled.ui.ontology%2Fsrc%2Forg%2Fsimantics%2Ftests%2Fmodelled%2Fui%2Fontology%2FTestsUIResource.java;h=4aa14a70a5bce5dfe949e64e9cad4cc8e2b4f524;hp=0000000000000000000000000000000000000000;hb=3b5069d0d30e7de27f73d88d5e89d29052291a34;hpb=bf75fd9740858140eac90c18f0bca0aea3893248 diff --git a/bundles/org.simantics.tests.modelled.ui.ontology/src/org/simantics/tests/modelled/ui/ontology/TestsUIResource.java b/bundles/org.simantics.tests.modelled.ui.ontology/src/org/simantics/tests/modelled/ui/ontology/TestsUIResource.java new file mode 100644 index 000000000..4aa14a70a --- /dev/null +++ b/bundles/org.simantics.tests.modelled.ui.ontology/src/org/simantics/tests/modelled/ui/ontology/TestsUIResource.java @@ -0,0 +1,100 @@ +package org.simantics.tests.modelled.ui.ontology; + +import org.simantics.db.RequestProcessor; +import org.simantics.db.Resource; +import org.simantics.db.ReadGraph; +import org.simantics.db.request.Read; +import org.simantics.db.Session; +import org.simantics.db.exception.DatabaseException; +import org.simantics.db.service.QueryControl; + +public class TestsUIResource { + + public final Resource BrowseContext; + public final Resource Contributions; + public final Resource Contributions_ModuleImage; + public final Resource Contributions_NewSTSSuite; + public final Resource Contributions_NewSTSTest; + public final Resource Contributions_STSSuites; + public final Resource Contributions_STSTests; + public final Resource ModelingActionContext; + public final Resource ModelingActionContext_Actions; + public final Resource ModelingActionContext_Actions_NewSTSSuite; + public final Resource ModelingActionContext_Actions_NewSTSTest; + public final Resource ModelingActionContext_Actions_RunSTSTest; + public final Resource SCLMain; + public final Resource testImage; + public final Resource testSuiteImage; + + public static class URIs { + public static final String BrowseContext = "http://www.simantics.org/TestsUI-1.0/BrowseContext"; + public static final String Contributions = "http://www.simantics.org/TestsUI-1.0/Contributions"; + public static final String Contributions_ModuleImage = "http://www.simantics.org/TestsUI-1.0/Contributions/ModuleImage"; + public static final String Contributions_NewSTSSuite = "http://www.simantics.org/TestsUI-1.0/Contributions/NewSTSSuite"; + public static final String Contributions_NewSTSTest = "http://www.simantics.org/TestsUI-1.0/Contributions/NewSTSTest"; + public static final String Contributions_STSSuites = "http://www.simantics.org/TestsUI-1.0/Contributions/STSSuites"; + public static final String Contributions_STSTests = "http://www.simantics.org/TestsUI-1.0/Contributions/STSTests"; + public static final String ModelingActionContext = "http://www.simantics.org/TestsUI-1.0/ModelingActionContext"; + public static final String ModelingActionContext_Actions = "http://www.simantics.org/TestsUI-1.0/ModelingActionContext/Actions"; + public static final String ModelingActionContext_Actions_NewSTSSuite = "http://www.simantics.org/TestsUI-1.0/ModelingActionContext/Actions/NewSTSSuite"; + public static final String ModelingActionContext_Actions_NewSTSTest = "http://www.simantics.org/TestsUI-1.0/ModelingActionContext/Actions/NewSTSTest"; + public static final String ModelingActionContext_Actions_RunSTSTest = "http://www.simantics.org/TestsUI-1.0/ModelingActionContext/Actions/RunSTSTest"; + public static final String SCLMain = "http://www.simantics.org/TestsUI-1.0/SCLMain"; + public static final String testImage = "http://www.simantics.org/TestsUI-1.0/testImage"; + public static final String testSuiteImage = "http://www.simantics.org/TestsUI-1.0/testSuiteImage"; + } + + public static Resource getResourceOrNull(ReadGraph graph, String uri) { + try { + return graph.getResource(uri); + } catch(DatabaseException e) { + System.err.println(e.getMessage()); + return null; + } + } + + public TestsUIResource(ReadGraph graph) { + BrowseContext = getResourceOrNull(graph, URIs.BrowseContext); + Contributions = getResourceOrNull(graph, URIs.Contributions); + Contributions_ModuleImage = getResourceOrNull(graph, URIs.Contributions_ModuleImage); + Contributions_NewSTSSuite = getResourceOrNull(graph, URIs.Contributions_NewSTSSuite); + Contributions_NewSTSTest = getResourceOrNull(graph, URIs.Contributions_NewSTSTest); + Contributions_STSSuites = getResourceOrNull(graph, URIs.Contributions_STSSuites); + Contributions_STSTests = getResourceOrNull(graph, URIs.Contributions_STSTests); + ModelingActionContext = getResourceOrNull(graph, URIs.ModelingActionContext); + ModelingActionContext_Actions = getResourceOrNull(graph, URIs.ModelingActionContext_Actions); + ModelingActionContext_Actions_NewSTSSuite = getResourceOrNull(graph, URIs.ModelingActionContext_Actions_NewSTSSuite); + ModelingActionContext_Actions_NewSTSTest = getResourceOrNull(graph, URIs.ModelingActionContext_Actions_NewSTSTest); + ModelingActionContext_Actions_RunSTSTest = getResourceOrNull(graph, URIs.ModelingActionContext_Actions_RunSTSTest); + SCLMain = getResourceOrNull(graph, URIs.SCLMain); + testImage = getResourceOrNull(graph, URIs.testImage); + testSuiteImage = getResourceOrNull(graph, URIs.testSuiteImage); + } + + public static TestsUIResource getInstance(ReadGraph graph) { + Session session = graph.getSession(); + TestsUIResource ret = session.peekService(TestsUIResource.class); + if(ret == null) { + QueryControl qc = graph.getService(QueryControl.class); + ret = new TestsUIResource(qc.getIndependentGraph(graph)); + session.registerService(TestsUIResource.class, ret); + } + return ret; + } + + public static TestsUIResource getInstance(RequestProcessor session) throws DatabaseException { + TestsUIResource ret = session.peekService(TestsUIResource.class); + if(ret == null) { + ret = session.syncRequest(new Read() { + public TestsUIResource perform(ReadGraph graph) throws DatabaseException { + QueryControl qc = graph.getService(QueryControl.class); + return new TestsUIResource(qc.getIndependentGraph(graph)); + } + }); + session.registerService(TestsUIResource.class, ret); + } + return ret; + } + +} +