--- /dev/null
+package org.simantics.diagram.stubs;\r
+\r
+import org.simantics.db.RequestProcessor;\r
+import org.simantics.db.Resource;\r
+import org.simantics.db.ReadGraph;\r
+import org.simantics.db.request.Read;\r
+import org.simantics.db.Session;\r
+import org.simantics.db.exception.DatabaseException;\r
+import org.simantics.db.service.QueryControl;\r
+\r
+public class ImageResource {\r
+ \r
+ public final Resource BitmapImage;\r
+ public final Resource HasAlphaData;\r
+ public final Resource HasAlphaData_Inverse;\r
+ public final Resource HasIcon;\r
+ public final Resource HasIcon_Inverse;\r
+ public final Resource HasImage;\r
+ public final Resource HasImageData;\r
+ public final Resource HasImageData_Inverse;\r
+ public final Resource HasImageDocument;\r
+ public final Resource HasImageDocument_Inverse;\r
+ public final Resource HasImage_Inverse;\r
+ public final Resource HasMatrixImageIndex;\r
+ public final Resource HasMatrixImageIndex_Inverse;\r
+ public final Resource HasMatrixType;\r
+ public final Resource HasMatrixType_Inverse;\r
+ public final Resource HasPhysicalHeight;\r
+ public final Resource HasPhysicalHeight_Inverse;\r
+ public final Resource HasPhysicalWidth;\r
+ public final Resource HasPhysicalWidth_Inverse;\r
+ public final Resource HasPixelHeight;\r
+ public final Resource HasPixelHeight_Inverse;\r
+ public final Resource HasPixelWidth;\r
+ public final Resource HasPixelWidth_Inverse;\r
+ public final Resource HasRGBData;\r
+ public final Resource HasRGBData_Inverse;\r
+ public final Resource HasSVGDocument;\r
+ public final Resource IconLibrary;\r
+ public final Resource Image;\r
+ public final Resource ImageLibrary;\r
+ public final Resource MatrixImage;\r
+ public final Resource SVGImage;\r
+ \r
+ public static class URIs {\r
+ public static final String BitmapImage = "http://www.simantics.org/Image-1.1/BitmapImage";\r
+ public static final String HasAlphaData = "http://www.simantics.org/Image-1.1/HasAlphaData";\r
+ public static final String HasAlphaData_Inverse = "http://www.simantics.org/Image-1.1/HasAlphaData/Inverse";\r
+ public static final String HasIcon = "http://www.simantics.org/Image-1.1/HasIcon";\r
+ public static final String HasIcon_Inverse = "http://www.simantics.org/Image-1.1/HasIcon/Inverse";\r
+ public static final String HasImage = "http://www.simantics.org/Image-1.1/HasImage";\r
+ public static final String HasImageData = "http://www.simantics.org/Image-1.1/HasImageData";\r
+ public static final String HasImageData_Inverse = "http://www.simantics.org/Image-1.1/HasImageData/Inverse";\r
+ public static final String HasImageDocument = "http://www.simantics.org/Image-1.1/HasImageDocument";\r
+ public static final String HasImageDocument_Inverse = "http://www.simantics.org/Image-1.1/HasImageDocument/Inverse";\r
+ public static final String HasImage_Inverse = "http://www.simantics.org/Image-1.1/HasImage/Inverse";\r
+ public static final String HasMatrixImageIndex = "http://www.simantics.org/Image-1.1/HasMatrixImageIndex";\r
+ public static final String HasMatrixImageIndex_Inverse = "http://www.simantics.org/Image-1.1/HasMatrixImageIndex/Inverse";\r
+ public static final String HasMatrixType = "http://www.simantics.org/Image-1.1/HasMatrixType";\r
+ public static final String HasMatrixType_Inverse = "http://www.simantics.org/Image-1.1/HasMatrixType/Inverse";\r
+ public static final String HasPhysicalHeight = "http://www.simantics.org/Image-1.1/HasPhysicalHeight";\r
+ public static final String HasPhysicalHeight_Inverse = "http://www.simantics.org/Image-1.1/HasPhysicalHeight/Inverse";\r
+ public static final String HasPhysicalWidth = "http://www.simantics.org/Image-1.1/HasPhysicalWidth";\r
+ public static final String HasPhysicalWidth_Inverse = "http://www.simantics.org/Image-1.1/HasPhysicalWidth/Inverse";\r
+ public static final String HasPixelHeight = "http://www.simantics.org/Image-1.1/HasPixelHeight";\r
+ public static final String HasPixelHeight_Inverse = "http://www.simantics.org/Image-1.1/HasPixelHeight/Inverse";\r
+ public static final String HasPixelWidth = "http://www.simantics.org/Image-1.1/HasPixelWidth";\r
+ public static final String HasPixelWidth_Inverse = "http://www.simantics.org/Image-1.1/HasPixelWidth/Inverse";\r
+ public static final String HasRGBData = "http://www.simantics.org/Image-1.1/HasRGBData";\r
+ public static final String HasRGBData_Inverse = "http://www.simantics.org/Image-1.1/HasRGBData/Inverse";\r
+ public static final String HasSVGDocument = "http://www.simantics.org/Image-1.1/HasSVGDocument";\r
+ public static final String IconLibrary = "http://www.simantics.org/Image-1.1/IconLibrary";\r
+ public static final String Image = "http://www.simantics.org/Image-1.1/Image";\r
+ public static final String ImageLibrary = "http://www.simantics.org/Image-1.1/ImageLibrary";\r
+ public static final String MatrixImage = "http://www.simantics.org/Image-1.1/MatrixImage";\r
+ public static final String SVGImage = "http://www.simantics.org/Image-1.1/SVGImage";\r
+ }\r
+ \r
+ public static Resource getResourceOrNull(ReadGraph graph, String uri) {\r
+ try {\r
+ return graph.getResource(uri);\r
+ } catch(DatabaseException e) {\r
+ System.err.println(e.getMessage());\r
+ return null;\r
+ }\r
+ }\r
+ \r
+ public ImageResource(ReadGraph graph) {\r
+ BitmapImage = getResourceOrNull(graph, URIs.BitmapImage);\r
+ HasAlphaData = getResourceOrNull(graph, URIs.HasAlphaData);\r
+ HasAlphaData_Inverse = getResourceOrNull(graph, URIs.HasAlphaData_Inverse);\r
+ HasIcon = getResourceOrNull(graph, URIs.HasIcon);\r
+ HasIcon_Inverse = getResourceOrNull(graph, URIs.HasIcon_Inverse);\r
+ HasImage = getResourceOrNull(graph, URIs.HasImage);\r
+ HasImageData = getResourceOrNull(graph, URIs.HasImageData);\r
+ HasImageData_Inverse = getResourceOrNull(graph, URIs.HasImageData_Inverse);\r
+ HasImageDocument = getResourceOrNull(graph, URIs.HasImageDocument);\r
+ HasImageDocument_Inverse = getResourceOrNull(graph, URIs.HasImageDocument_Inverse);\r
+ HasImage_Inverse = getResourceOrNull(graph, URIs.HasImage_Inverse);\r
+ HasMatrixImageIndex = getResourceOrNull(graph, URIs.HasMatrixImageIndex);\r
+ HasMatrixImageIndex_Inverse = getResourceOrNull(graph, URIs.HasMatrixImageIndex_Inverse);\r
+ HasMatrixType = getResourceOrNull(graph, URIs.HasMatrixType);\r
+ HasMatrixType_Inverse = getResourceOrNull(graph, URIs.HasMatrixType_Inverse);\r
+ HasPhysicalHeight = getResourceOrNull(graph, URIs.HasPhysicalHeight);\r
+ HasPhysicalHeight_Inverse = getResourceOrNull(graph, URIs.HasPhysicalHeight_Inverse);\r
+ HasPhysicalWidth = getResourceOrNull(graph, URIs.HasPhysicalWidth);\r
+ HasPhysicalWidth_Inverse = getResourceOrNull(graph, URIs.HasPhysicalWidth_Inverse);\r
+ HasPixelHeight = getResourceOrNull(graph, URIs.HasPixelHeight);\r
+ HasPixelHeight_Inverse = getResourceOrNull(graph, URIs.HasPixelHeight_Inverse);\r
+ HasPixelWidth = getResourceOrNull(graph, URIs.HasPixelWidth);\r
+ HasPixelWidth_Inverse = getResourceOrNull(graph, URIs.HasPixelWidth_Inverse);\r
+ HasRGBData = getResourceOrNull(graph, URIs.HasRGBData);\r
+ HasRGBData_Inverse = getResourceOrNull(graph, URIs.HasRGBData_Inverse);\r
+ HasSVGDocument = getResourceOrNull(graph, URIs.HasSVGDocument);\r
+ IconLibrary = getResourceOrNull(graph, URIs.IconLibrary);\r
+ Image = getResourceOrNull(graph, URIs.Image);\r
+ ImageLibrary = getResourceOrNull(graph, URIs.ImageLibrary);\r
+ MatrixImage = getResourceOrNull(graph, URIs.MatrixImage);\r
+ SVGImage = getResourceOrNull(graph, URIs.SVGImage);\r
+ }\r
+ \r
+ public static ImageResource getInstance(ReadGraph graph) {\r
+ Session session = graph.getSession();\r
+ ImageResource ret = session.peekService(ImageResource.class);\r
+ if(ret == null) {\r
+ QueryControl qc = graph.getService(QueryControl.class);\r
+ ret = new ImageResource(qc.getIndependentGraph(graph));\r
+ session.registerService(ImageResource.class, ret);\r
+ }\r
+ return ret;\r
+ }\r
+ \r
+ public static ImageResource getInstance(RequestProcessor session) throws DatabaseException {\r
+ ImageResource ret = session.peekService(ImageResource.class);\r
+ if(ret == null) {\r
+ ret = session.syncRequest(new Read<ImageResource>() {\r
+ public ImageResource perform(ReadGraph graph) throws DatabaseException {\r
+ QueryControl qc = graph.getService(QueryControl.class);\r
+ return new ImageResource(qc.getIndependentGraph(graph));\r
+ }\r
+ });\r
+ session.registerService(ImageResource.class, ret);\r
+ }\r
+ return ret;\r
+ }\r
+ \r
+}\r
+\r