X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=org.simantics.interop%2Fsrc%2Forg%2Fsimantics%2Finterop%2Fstubs%2FInteropResource.java;h=53ca523079a89c67429402b7950c85de75c5d42c;hb=dc5ff213540b06b8cb88222837d573bff80abb3d;hp=fd1d7ed5d776fb11746743018b864f02bd7962fd;hpb=53e033dd7424799749f7bc170b741ddf6767d33e;p=simantics%2Finterop.git diff --git a/org.simantics.interop/src/org/simantics/interop/stubs/InteropResource.java b/org.simantics.interop/src/org/simantics/interop/stubs/InteropResource.java index fd1d7ed..53ca523 100644 --- a/org.simantics.interop/src/org/simantics/interop/stubs/InteropResource.java +++ b/org.simantics.interop/src/org/simantics/interop/stubs/InteropResource.java @@ -1,78 +1,79 @@ -package org.simantics.interop.stubs; - -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; - -public class InteropResource { - - public final Resource HasDestination; - public final Resource HasImportData; - public final Resource HasSource; - public final Resource INodeType; - public final Resource ImportDataOf; - public final Resource ImportLibrary; - public final Resource InteropBrowseContext; - public final Resource InteropBrowseContext_InteropChildRule; - public final Resource InteropBrowseContext_InteropNode; - - public static class URIs { - public static final String HasDestination = "http://www.simantics.org/Interop-1.0/HasDestination"; - public static final String HasImportData = "http://www.simantics.org/Interop-1.0/HasImportData"; - public static final String HasSource = "http://www.simantics.org/Interop-1.0/HasSource"; - public static final String INodeType = "http://www.simantics.org/Interop-1.0/INodeType"; - public static final String ImportDataOf = "http://www.simantics.org/Interop-1.0/ImportDataOf"; - public static final String ImportLibrary = "http://www.simantics.org/Interop-1.0/ImportLibrary"; - public static final String InteropBrowseContext = "http://www.simantics.org/Interop-1.0/InteropBrowseContext"; - public static final String InteropBrowseContext_InteropChildRule = "http://www.simantics.org/Interop-1.0/InteropBrowseContext/InteropChildRule"; - public static final String InteropBrowseContext_InteropNode = "http://www.simantics.org/Interop-1.0/InteropBrowseContext/InteropNode"; - } - - public static Resource getResourceOrNull(ReadGraph graph, String uri) { - try { - return graph.getResource(uri); - } catch(DatabaseException e) { - System.err.println(e.getMessage()); - return null; - } - } - - public InteropResource(ReadGraph graph) { - HasDestination = getResourceOrNull(graph, URIs.HasDestination); - HasImportData = getResourceOrNull(graph, URIs.HasImportData); - HasSource = getResourceOrNull(graph, URIs.HasSource); - INodeType = getResourceOrNull(graph, URIs.INodeType); - ImportDataOf = getResourceOrNull(graph, URIs.ImportDataOf); - ImportLibrary = getResourceOrNull(graph, URIs.ImportLibrary); - InteropBrowseContext = getResourceOrNull(graph, URIs.InteropBrowseContext); - InteropBrowseContext_InteropChildRule = getResourceOrNull(graph, URIs.InteropBrowseContext_InteropChildRule); - InteropBrowseContext_InteropNode = getResourceOrNull(graph, URIs.InteropBrowseContext_InteropNode); - } - - public static InteropResource getInstance(ReadGraph graph) { - Session session = graph.getSession(); - InteropResource ret = session.peekService(InteropResource.class); - if(ret == null) { - ret = new InteropResource(graph); - session.registerService(InteropResource.class, ret); - } - return ret; - } - - public static InteropResource getInstance(Session session) throws DatabaseException { - InteropResource ret = session.peekService(InteropResource.class); - if(ret == null) { - ret = session.syncRequest(new Read() { - public InteropResource perform(ReadGraph graph) throws DatabaseException { - return new InteropResource(graph); - } - }); - session.registerService(InteropResource.class, ret); - } - return ret; - } - -} - +package org.simantics.interop.stubs; + +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 InteropResource { + + public final Resource HasDestination; + public final Resource HasGeneratorID; + public final Resource HasGeneratorID_Inverse; + public final Resource HasImportData; + public final Resource HasInputResource; + public final Resource HasSource; + public final Resource ImportDataOf; + public final Resource ImportLibrary; + + public static class URIs { + public static final String HasDestination = "http://www.simantics.org/Interop-1.0/HasDestination"; + public static final String HasGeneratorID = "http://www.simantics.org/Interop-1.0/HasGeneratorID"; + public static final String HasGeneratorID_Inverse = "http://www.simantics.org/Interop-1.0/HasGeneratorID/Inverse"; + public static final String HasImportData = "http://www.simantics.org/Interop-1.0/HasImportData"; + public static final String HasInputResource = "http://www.simantics.org/Interop-1.0/HasInputResource"; + public static final String HasSource = "http://www.simantics.org/Interop-1.0/HasSource"; + public static final String ImportDataOf = "http://www.simantics.org/Interop-1.0/ImportDataOf"; + public static final String ImportLibrary = "http://www.simantics.org/Interop-1.0/ImportLibrary"; + } + + public static Resource getResourceOrNull(ReadGraph graph, String uri) { + try { + return graph.getResource(uri); + } catch(DatabaseException e) { + System.err.println(e.getMessage()); + return null; + } + } + + public InteropResource(ReadGraph graph) { + HasDestination = getResourceOrNull(graph, URIs.HasDestination); + HasGeneratorID = getResourceOrNull(graph, URIs.HasGeneratorID); + HasGeneratorID_Inverse = getResourceOrNull(graph, URIs.HasGeneratorID_Inverse); + HasImportData = getResourceOrNull(graph, URIs.HasImportData); + HasInputResource = getResourceOrNull(graph, URIs.HasInputResource); + HasSource = getResourceOrNull(graph, URIs.HasSource); + ImportDataOf = getResourceOrNull(graph, URIs.ImportDataOf); + ImportLibrary = getResourceOrNull(graph, URIs.ImportLibrary); + } + + public static InteropResource getInstance(ReadGraph graph) { + Session session = graph.getSession(); + InteropResource ret = session.peekService(InteropResource.class); + if(ret == null) { + QueryControl qc = graph.getService(QueryControl.class); + ret = new InteropResource(qc.getIndependentGraph(graph)); + session.registerService(InteropResource.class, ret); + } + return ret; + } + + public static InteropResource getInstance(RequestProcessor session) throws DatabaseException { + InteropResource ret = session.peekService(InteropResource.class); + if(ret == null) { + ret = session.syncRequest(new Read() { + public InteropResource perform(ReadGraph graph) throws DatabaseException { + QueryControl qc = graph.getService(QueryControl.class); + return new InteropResource(qc.getIndependentGraph(graph)); + } + }); + session.registerService(InteropResource.class, ret); + } + return ret; + } + +} +