]> gerrit.simantics Code Review - simantics/platform.git/blob - bundles/org.simantics.image.ontology/src/org/simantics/diagram/stubs/ImageResource.java
Migrated source code from Simantics SVN
[simantics/platform.git] / bundles / org.simantics.image.ontology / src / org / simantics / diagram / stubs / ImageResource.java
1 package org.simantics.diagram.stubs;\r
2 \r
3 import org.simantics.db.RequestProcessor;\r
4 import org.simantics.db.Resource;\r
5 import org.simantics.db.ReadGraph;\r
6 import org.simantics.db.request.Read;\r
7 import org.simantics.db.Session;\r
8 import org.simantics.db.exception.DatabaseException;\r
9 import org.simantics.db.service.QueryControl;\r
10 \r
11 public class ImageResource {\r
12     \r
13     public final Resource BitmapImage;\r
14     public final Resource HasAlphaData;\r
15     public final Resource HasAlphaData_Inverse;\r
16     public final Resource HasIcon;\r
17     public final Resource HasIcon_Inverse;\r
18     public final Resource HasImage;\r
19     public final Resource HasImageData;\r
20     public final Resource HasImageData_Inverse;\r
21     public final Resource HasImageDocument;\r
22     public final Resource HasImageDocument_Inverse;\r
23     public final Resource HasImage_Inverse;\r
24     public final Resource HasMatrixImageIndex;\r
25     public final Resource HasMatrixImageIndex_Inverse;\r
26     public final Resource HasMatrixType;\r
27     public final Resource HasMatrixType_Inverse;\r
28     public final Resource HasPhysicalHeight;\r
29     public final Resource HasPhysicalHeight_Inverse;\r
30     public final Resource HasPhysicalWidth;\r
31     public final Resource HasPhysicalWidth_Inverse;\r
32     public final Resource HasPixelHeight;\r
33     public final Resource HasPixelHeight_Inverse;\r
34     public final Resource HasPixelWidth;\r
35     public final Resource HasPixelWidth_Inverse;\r
36     public final Resource HasRGBData;\r
37     public final Resource HasRGBData_Inverse;\r
38     public final Resource HasSVGDocument;\r
39     public final Resource IconLibrary;\r
40     public final Resource Image;\r
41     public final Resource ImageLibrary;\r
42     public final Resource MatrixImage;\r
43     public final Resource SVGImage;\r
44         \r
45     public static class URIs {\r
46         public static final String BitmapImage = "http://www.simantics.org/Image-1.1/BitmapImage";\r
47         public static final String HasAlphaData = "http://www.simantics.org/Image-1.1/HasAlphaData";\r
48         public static final String HasAlphaData_Inverse = "http://www.simantics.org/Image-1.1/HasAlphaData/Inverse";\r
49         public static final String HasIcon = "http://www.simantics.org/Image-1.1/HasIcon";\r
50         public static final String HasIcon_Inverse = "http://www.simantics.org/Image-1.1/HasIcon/Inverse";\r
51         public static final String HasImage = "http://www.simantics.org/Image-1.1/HasImage";\r
52         public static final String HasImageData = "http://www.simantics.org/Image-1.1/HasImageData";\r
53         public static final String HasImageData_Inverse = "http://www.simantics.org/Image-1.1/HasImageData/Inverse";\r
54         public static final String HasImageDocument = "http://www.simantics.org/Image-1.1/HasImageDocument";\r
55         public static final String HasImageDocument_Inverse = "http://www.simantics.org/Image-1.1/HasImageDocument/Inverse";\r
56         public static final String HasImage_Inverse = "http://www.simantics.org/Image-1.1/HasImage/Inverse";\r
57         public static final String HasMatrixImageIndex = "http://www.simantics.org/Image-1.1/HasMatrixImageIndex";\r
58         public static final String HasMatrixImageIndex_Inverse = "http://www.simantics.org/Image-1.1/HasMatrixImageIndex/Inverse";\r
59         public static final String HasMatrixType = "http://www.simantics.org/Image-1.1/HasMatrixType";\r
60         public static final String HasMatrixType_Inverse = "http://www.simantics.org/Image-1.1/HasMatrixType/Inverse";\r
61         public static final String HasPhysicalHeight = "http://www.simantics.org/Image-1.1/HasPhysicalHeight";\r
62         public static final String HasPhysicalHeight_Inverse = "http://www.simantics.org/Image-1.1/HasPhysicalHeight/Inverse";\r
63         public static final String HasPhysicalWidth = "http://www.simantics.org/Image-1.1/HasPhysicalWidth";\r
64         public static final String HasPhysicalWidth_Inverse = "http://www.simantics.org/Image-1.1/HasPhysicalWidth/Inverse";\r
65         public static final String HasPixelHeight = "http://www.simantics.org/Image-1.1/HasPixelHeight";\r
66         public static final String HasPixelHeight_Inverse = "http://www.simantics.org/Image-1.1/HasPixelHeight/Inverse";\r
67         public static final String HasPixelWidth = "http://www.simantics.org/Image-1.1/HasPixelWidth";\r
68         public static final String HasPixelWidth_Inverse = "http://www.simantics.org/Image-1.1/HasPixelWidth/Inverse";\r
69         public static final String HasRGBData = "http://www.simantics.org/Image-1.1/HasRGBData";\r
70         public static final String HasRGBData_Inverse = "http://www.simantics.org/Image-1.1/HasRGBData/Inverse";\r
71         public static final String HasSVGDocument = "http://www.simantics.org/Image-1.1/HasSVGDocument";\r
72         public static final String IconLibrary = "http://www.simantics.org/Image-1.1/IconLibrary";\r
73         public static final String Image = "http://www.simantics.org/Image-1.1/Image";\r
74         public static final String ImageLibrary = "http://www.simantics.org/Image-1.1/ImageLibrary";\r
75         public static final String MatrixImage = "http://www.simantics.org/Image-1.1/MatrixImage";\r
76         public static final String SVGImage = "http://www.simantics.org/Image-1.1/SVGImage";\r
77     }\r
78     \r
79     public static Resource getResourceOrNull(ReadGraph graph, String uri) {\r
80         try {\r
81             return graph.getResource(uri);\r
82         } catch(DatabaseException e) {\r
83             System.err.println(e.getMessage());\r
84             return null;\r
85         }\r
86     }\r
87     \r
88     public ImageResource(ReadGraph graph) {\r
89         BitmapImage = getResourceOrNull(graph, URIs.BitmapImage);\r
90         HasAlphaData = getResourceOrNull(graph, URIs.HasAlphaData);\r
91         HasAlphaData_Inverse = getResourceOrNull(graph, URIs.HasAlphaData_Inverse);\r
92         HasIcon = getResourceOrNull(graph, URIs.HasIcon);\r
93         HasIcon_Inverse = getResourceOrNull(graph, URIs.HasIcon_Inverse);\r
94         HasImage = getResourceOrNull(graph, URIs.HasImage);\r
95         HasImageData = getResourceOrNull(graph, URIs.HasImageData);\r
96         HasImageData_Inverse = getResourceOrNull(graph, URIs.HasImageData_Inverse);\r
97         HasImageDocument = getResourceOrNull(graph, URIs.HasImageDocument);\r
98         HasImageDocument_Inverse = getResourceOrNull(graph, URIs.HasImageDocument_Inverse);\r
99         HasImage_Inverse = getResourceOrNull(graph, URIs.HasImage_Inverse);\r
100         HasMatrixImageIndex = getResourceOrNull(graph, URIs.HasMatrixImageIndex);\r
101         HasMatrixImageIndex_Inverse = getResourceOrNull(graph, URIs.HasMatrixImageIndex_Inverse);\r
102         HasMatrixType = getResourceOrNull(graph, URIs.HasMatrixType);\r
103         HasMatrixType_Inverse = getResourceOrNull(graph, URIs.HasMatrixType_Inverse);\r
104         HasPhysicalHeight = getResourceOrNull(graph, URIs.HasPhysicalHeight);\r
105         HasPhysicalHeight_Inverse = getResourceOrNull(graph, URIs.HasPhysicalHeight_Inverse);\r
106         HasPhysicalWidth = getResourceOrNull(graph, URIs.HasPhysicalWidth);\r
107         HasPhysicalWidth_Inverse = getResourceOrNull(graph, URIs.HasPhysicalWidth_Inverse);\r
108         HasPixelHeight = getResourceOrNull(graph, URIs.HasPixelHeight);\r
109         HasPixelHeight_Inverse = getResourceOrNull(graph, URIs.HasPixelHeight_Inverse);\r
110         HasPixelWidth = getResourceOrNull(graph, URIs.HasPixelWidth);\r
111         HasPixelWidth_Inverse = getResourceOrNull(graph, URIs.HasPixelWidth_Inverse);\r
112         HasRGBData = getResourceOrNull(graph, URIs.HasRGBData);\r
113         HasRGBData_Inverse = getResourceOrNull(graph, URIs.HasRGBData_Inverse);\r
114         HasSVGDocument = getResourceOrNull(graph, URIs.HasSVGDocument);\r
115         IconLibrary = getResourceOrNull(graph, URIs.IconLibrary);\r
116         Image = getResourceOrNull(graph, URIs.Image);\r
117         ImageLibrary = getResourceOrNull(graph, URIs.ImageLibrary);\r
118         MatrixImage = getResourceOrNull(graph, URIs.MatrixImage);\r
119         SVGImage = getResourceOrNull(graph, URIs.SVGImage);\r
120     }\r
121     \r
122     public static ImageResource getInstance(ReadGraph graph) {\r
123         Session session = graph.getSession();\r
124         ImageResource ret = session.peekService(ImageResource.class);\r
125         if(ret == null) {\r
126             QueryControl qc = graph.getService(QueryControl.class);\r
127             ret = new ImageResource(qc.getIndependentGraph(graph));\r
128             session.registerService(ImageResource.class, ret);\r
129         }\r
130         return ret;\r
131     }\r
132     \r
133     public static ImageResource getInstance(RequestProcessor session) throws DatabaseException {\r
134         ImageResource ret = session.peekService(ImageResource.class);\r
135         if(ret == null) {\r
136             ret = session.syncRequest(new Read<ImageResource>() {\r
137                 public ImageResource perform(ReadGraph graph) throws DatabaseException {\r
138                     QueryControl qc = graph.getService(QueryControl.class);\r
139                     return new ImageResource(qc.getIndependentGraph(graph));\r
140                 }\r
141             });\r
142             session.registerService(ImageResource.class, ret);\r
143         }\r
144         return ret;\r
145     }\r
146     \r
147 }\r
148 \r