]> gerrit.simantics Code Review - simantics/platform.git/blob - bundles/org.simantics.document.ui.ontology/src/org/simantics/document/ui/DocumentUIResource.java
7c5b0f4559e520d83077c26b75f32b053f35f2a4
[simantics/platform.git] / bundles / org.simantics.document.ui.ontology / src / org / simantics / document / ui / DocumentUIResource.java
1 package org.simantics.document.ui;\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 DocumentUIResource {\r
12     \r
13     public final Resource Alternative;\r
14     public final Resource BrowseContext;\r
15     public final Resource Browser;\r
16     public final Resource CSSEditorContribution;\r
17     public final Resource Content;\r
18     public final Resource DocumentNotOldTest;\r
19     public final Resource DocumentOldTest;\r
20     public final Resource DocumentTabContribution;\r
21     public final Resource DocumentTabContributionType;\r
22     public final Resource Editor;\r
23     public final Resource Functions;\r
24     public final Resource Functions_boldModifier;\r
25     public final Resource Functions_bulletListModifier;\r
26     public final Resource Functions_canCreateDocument;\r
27     public final Resource Functions_editorLoaded;\r
28     public final Resource Functions_fontModifier;\r
29     public final Resource Functions_hasDocument;\r
30     public final Resource Functions_header1Modifier;\r
31     public final Resource Functions_header2Modifier;\r
32     public final Resource Functions_header3Modifier;\r
33     public final Resource Functions_header4Modifier;\r
34     public final Resource Functions_horizontalRulerModifier;\r
35     public final Resource Functions_imageModifier;\r
36     public final Resource Functions_indentModifier;\r
37     public final Resource Functions_isWikitext;\r
38     public final Resource Functions_italicModifier;\r
39     public final Resource Functions_linkModifier;\r
40     public final Resource Functions_noDocumentText;\r
41     public final Resource Functions_numberedListModifier;\r
42     public final Resource Functions_onCreateDocumentButton;\r
43     public final Resource Functions_onDeleteDocumentButton;\r
44     public final Resource Functions_selectedDocumentPart;\r
45     public final Resource Functions_strikethroughModifier;\r
46     public final Resource Functions_styleModifier;\r
47     public final Resource Functions_tableModifier;\r
48     public final Resource Functions_underlineModifier;\r
49     public final Resource Functions_viewInputChanged;\r
50     public final Resource Functions_wikitextModifier;\r
51     public final Resource NoDocument;\r
52     public final Resource Sash;\r
53     public final Resource SearchContribution;\r
54     public final Resource SearchFunction;\r
55     public final Resource View;\r
56     public final Resource WikitextContribution;\r
57     public final Resource WikitextContribution_View;\r
58     public final Resource WikitextContribution_View_Text;\r
59     public final Resource WikitextContribution_View_TextContainer;\r
60         \r
61     public static class URIs {\r
62         public static final String Alternative = "http://www.simantics.org/DocumentUI-1.1/Alternative";\r
63         public static final String BrowseContext = "http://www.simantics.org/DocumentUI-1.1/BrowseContext";\r
64         public static final String Browser = "http://www.simantics.org/DocumentUI-1.1/Browser";\r
65         public static final String CSSEditorContribution = "http://www.simantics.org/DocumentUI-1.1/CSSEditorContribution";\r
66         public static final String Content = "http://www.simantics.org/DocumentUI-1.1/Content";\r
67         public static final String DocumentNotOldTest = "http://www.simantics.org/DocumentUI-1.1/DocumentNotOldTest";\r
68         public static final String DocumentOldTest = "http://www.simantics.org/DocumentUI-1.1/DocumentOldTest";\r
69         public static final String DocumentTabContribution = "http://www.simantics.org/DocumentUI-1.1/DocumentTabContribution";\r
70         public static final String DocumentTabContributionType = "http://www.simantics.org/DocumentUI-1.1/DocumentTabContributionType";\r
71         public static final String Editor = "http://www.simantics.org/DocumentUI-1.1/Editor";\r
72         public static final String Functions = "http://www.simantics.org/DocumentUI-1.1/Functions";\r
73         public static final String Functions_boldModifier = "http://www.simantics.org/DocumentUI-1.1/Functions/boldModifier";\r
74         public static final String Functions_bulletListModifier = "http://www.simantics.org/DocumentUI-1.1/Functions/bulletListModifier";\r
75         public static final String Functions_canCreateDocument = "http://www.simantics.org/DocumentUI-1.1/Functions/canCreateDocument";\r
76         public static final String Functions_editorLoaded = "http://www.simantics.org/DocumentUI-1.1/Functions/editorLoaded";\r
77         public static final String Functions_fontModifier = "http://www.simantics.org/DocumentUI-1.1/Functions/fontModifier";\r
78         public static final String Functions_hasDocument = "http://www.simantics.org/DocumentUI-1.1/Functions/hasDocument";\r
79         public static final String Functions_header1Modifier = "http://www.simantics.org/DocumentUI-1.1/Functions/header1Modifier";\r
80         public static final String Functions_header2Modifier = "http://www.simantics.org/DocumentUI-1.1/Functions/header2Modifier";\r
81         public static final String Functions_header3Modifier = "http://www.simantics.org/DocumentUI-1.1/Functions/header3Modifier";\r
82         public static final String Functions_header4Modifier = "http://www.simantics.org/DocumentUI-1.1/Functions/header4Modifier";\r
83         public static final String Functions_horizontalRulerModifier = "http://www.simantics.org/DocumentUI-1.1/Functions/horizontalRulerModifier";\r
84         public static final String Functions_imageModifier = "http://www.simantics.org/DocumentUI-1.1/Functions/imageModifier";\r
85         public static final String Functions_indentModifier = "http://www.simantics.org/DocumentUI-1.1/Functions/indentModifier";\r
86         public static final String Functions_isWikitext = "http://www.simantics.org/DocumentUI-1.1/Functions/isWikitext";\r
87         public static final String Functions_italicModifier = "http://www.simantics.org/DocumentUI-1.1/Functions/italicModifier";\r
88         public static final String Functions_linkModifier = "http://www.simantics.org/DocumentUI-1.1/Functions/linkModifier";\r
89         public static final String Functions_noDocumentText = "http://www.simantics.org/DocumentUI-1.1/Functions/noDocumentText";\r
90         public static final String Functions_numberedListModifier = "http://www.simantics.org/DocumentUI-1.1/Functions/numberedListModifier";\r
91         public static final String Functions_onCreateDocumentButton = "http://www.simantics.org/DocumentUI-1.1/Functions/onCreateDocumentButton";\r
92         public static final String Functions_onDeleteDocumentButton = "http://www.simantics.org/DocumentUI-1.1/Functions/onDeleteDocumentButton";\r
93         public static final String Functions_selectedDocumentPart = "http://www.simantics.org/DocumentUI-1.1/Functions/selectedDocumentPart";\r
94         public static final String Functions_strikethroughModifier = "http://www.simantics.org/DocumentUI-1.1/Functions/strikethroughModifier";\r
95         public static final String Functions_styleModifier = "http://www.simantics.org/DocumentUI-1.1/Functions/styleModifier";\r
96         public static final String Functions_tableModifier = "http://www.simantics.org/DocumentUI-1.1/Functions/tableModifier";\r
97         public static final String Functions_underlineModifier = "http://www.simantics.org/DocumentUI-1.1/Functions/underlineModifier";\r
98         public static final String Functions_viewInputChanged = "http://www.simantics.org/DocumentUI-1.1/Functions/viewInputChanged";\r
99         public static final String Functions_wikitextModifier = "http://www.simantics.org/DocumentUI-1.1/Functions/wikitextModifier";\r
100         public static final String NoDocument = "http://www.simantics.org/DocumentUI-1.1/NoDocument";\r
101         public static final String Sash = "http://www.simantics.org/DocumentUI-1.1/Sash";\r
102         public static final String SearchContribution = "http://www.simantics.org/DocumentUI-1.1/SearchContribution";\r
103         public static final String SearchFunction = "http://www.simantics.org/DocumentUI-1.1/SearchFunction";\r
104         public static final String View = "http://www.simantics.org/DocumentUI-1.1/View";\r
105         public static final String WikitextContribution = "http://www.simantics.org/DocumentUI-1.1/WikitextContribution";\r
106         public static final String WikitextContribution_View = "http://www.simantics.org/DocumentUI-1.1/WikitextContribution/View";\r
107         public static final String WikitextContribution_View_Text = "http://www.simantics.org/DocumentUI-1.1/WikitextContribution/View/Text";\r
108         public static final String WikitextContribution_View_TextContainer = "http://www.simantics.org/DocumentUI-1.1/WikitextContribution/View/TextContainer";\r
109     }\r
110     \r
111     public static Resource getResourceOrNull(ReadGraph graph, String uri) {\r
112         try {\r
113             return graph.getResource(uri);\r
114         } catch(DatabaseException e) {\r
115             System.err.println(e.getMessage());\r
116             return null;\r
117         }\r
118     }\r
119     \r
120     public DocumentUIResource(ReadGraph graph) {\r
121         Alternative = getResourceOrNull(graph, URIs.Alternative);\r
122         BrowseContext = getResourceOrNull(graph, URIs.BrowseContext);\r
123         Browser = getResourceOrNull(graph, URIs.Browser);\r
124         CSSEditorContribution = getResourceOrNull(graph, URIs.CSSEditorContribution);\r
125         Content = getResourceOrNull(graph, URIs.Content);\r
126         DocumentNotOldTest = getResourceOrNull(graph, URIs.DocumentNotOldTest);\r
127         DocumentOldTest = getResourceOrNull(graph, URIs.DocumentOldTest);\r
128         DocumentTabContribution = getResourceOrNull(graph, URIs.DocumentTabContribution);\r
129         DocumentTabContributionType = getResourceOrNull(graph, URIs.DocumentTabContributionType);\r
130         Editor = getResourceOrNull(graph, URIs.Editor);\r
131         Functions = getResourceOrNull(graph, URIs.Functions);\r
132         Functions_boldModifier = getResourceOrNull(graph, URIs.Functions_boldModifier);\r
133         Functions_bulletListModifier = getResourceOrNull(graph, URIs.Functions_bulletListModifier);\r
134         Functions_canCreateDocument = getResourceOrNull(graph, URIs.Functions_canCreateDocument);\r
135         Functions_editorLoaded = getResourceOrNull(graph, URIs.Functions_editorLoaded);\r
136         Functions_fontModifier = getResourceOrNull(graph, URIs.Functions_fontModifier);\r
137         Functions_hasDocument = getResourceOrNull(graph, URIs.Functions_hasDocument);\r
138         Functions_header1Modifier = getResourceOrNull(graph, URIs.Functions_header1Modifier);\r
139         Functions_header2Modifier = getResourceOrNull(graph, URIs.Functions_header2Modifier);\r
140         Functions_header3Modifier = getResourceOrNull(graph, URIs.Functions_header3Modifier);\r
141         Functions_header4Modifier = getResourceOrNull(graph, URIs.Functions_header4Modifier);\r
142         Functions_horizontalRulerModifier = getResourceOrNull(graph, URIs.Functions_horizontalRulerModifier);\r
143         Functions_imageModifier = getResourceOrNull(graph, URIs.Functions_imageModifier);\r
144         Functions_indentModifier = getResourceOrNull(graph, URIs.Functions_indentModifier);\r
145         Functions_isWikitext = getResourceOrNull(graph, URIs.Functions_isWikitext);\r
146         Functions_italicModifier = getResourceOrNull(graph, URIs.Functions_italicModifier);\r
147         Functions_linkModifier = getResourceOrNull(graph, URIs.Functions_linkModifier);\r
148         Functions_noDocumentText = getResourceOrNull(graph, URIs.Functions_noDocumentText);\r
149         Functions_numberedListModifier = getResourceOrNull(graph, URIs.Functions_numberedListModifier);\r
150         Functions_onCreateDocumentButton = getResourceOrNull(graph, URIs.Functions_onCreateDocumentButton);\r
151         Functions_onDeleteDocumentButton = getResourceOrNull(graph, URIs.Functions_onDeleteDocumentButton);\r
152         Functions_selectedDocumentPart = getResourceOrNull(graph, URIs.Functions_selectedDocumentPart);\r
153         Functions_strikethroughModifier = getResourceOrNull(graph, URIs.Functions_strikethroughModifier);\r
154         Functions_styleModifier = getResourceOrNull(graph, URIs.Functions_styleModifier);\r
155         Functions_tableModifier = getResourceOrNull(graph, URIs.Functions_tableModifier);\r
156         Functions_underlineModifier = getResourceOrNull(graph, URIs.Functions_underlineModifier);\r
157         Functions_viewInputChanged = getResourceOrNull(graph, URIs.Functions_viewInputChanged);\r
158         Functions_wikitextModifier = getResourceOrNull(graph, URIs.Functions_wikitextModifier);\r
159         NoDocument = getResourceOrNull(graph, URIs.NoDocument);\r
160         Sash = getResourceOrNull(graph, URIs.Sash);\r
161         SearchContribution = getResourceOrNull(graph, URIs.SearchContribution);\r
162         SearchFunction = getResourceOrNull(graph, URIs.SearchFunction);\r
163         View = getResourceOrNull(graph, URIs.View);\r
164         WikitextContribution = getResourceOrNull(graph, URIs.WikitextContribution);\r
165         WikitextContribution_View = getResourceOrNull(graph, URIs.WikitextContribution_View);\r
166         WikitextContribution_View_Text = getResourceOrNull(graph, URIs.WikitextContribution_View_Text);\r
167         WikitextContribution_View_TextContainer = getResourceOrNull(graph, URIs.WikitextContribution_View_TextContainer);\r
168     }\r
169     \r
170     public static DocumentUIResource getInstance(ReadGraph graph) {\r
171         Session session = graph.getSession();\r
172         DocumentUIResource ret = session.peekService(DocumentUIResource.class);\r
173         if(ret == null) {\r
174             QueryControl qc = graph.getService(QueryControl.class);\r
175             ret = new DocumentUIResource(qc.getIndependentGraph(graph));\r
176             session.registerService(DocumentUIResource.class, ret);\r
177         }\r
178         return ret;\r
179     }\r
180     \r
181     public static DocumentUIResource getInstance(RequestProcessor session) throws DatabaseException {\r
182         DocumentUIResource ret = session.peekService(DocumentUIResource.class);\r
183         if(ret == null) {\r
184             ret = session.syncRequest(new Read<DocumentUIResource>() {\r
185                 public DocumentUIResource perform(ReadGraph graph) throws DatabaseException {\r
186                     QueryControl qc = graph.getService(QueryControl.class);\r
187                     return new DocumentUIResource(qc.getIndependentGraph(graph));\r
188                 }\r
189             });\r
190             session.registerService(DocumentUIResource.class, ret);\r
191         }\r
192         return ret;\r
193     }\r
194     \r
195 }\r
196 \r