]> gerrit.simantics Code Review - simantics/platform.git/blob - bundles/org.simantics.issues.ui.ontology/src/org/simantics/issues/ui/ontology/IssueUIResource.java
Preliminary support for purely Variable based dynamic issue sources
[simantics/platform.git] / bundles / org.simantics.issues.ui.ontology / src / org / simantics / issues / ui / ontology / IssueUIResource.java
1 package org.simantics.issues.ui.ontology;
2
3 import org.simantics.db.RequestProcessor;
4 import org.simantics.db.Resource;
5 import org.simantics.db.ReadGraph;
6 import org.simantics.db.request.Read;
7 import org.simantics.db.Session;
8 import org.simantics.db.exception.DatabaseException;
9 import org.simantics.db.service.QueryControl;
10
11 public class IssueUIResource {
12     
13     public final Resource ActionContext;
14     public final Resource Actions;
15     public final Resource Actions_Hide;
16     public final Resource Actions_Resolve;
17     public final Resource Actions_SetSeverityAction;
18     public final Resource Actions_SetSeverityAction_HasSeverity;
19     public final Resource Actions_SetSeverityAction_HasSeverity_Inverse;
20     public final Resource Actions_SeverityActionCategory;
21     public final Resource Actions_Unhide;
22     public final Resource Actions_Unresolve;
23     public final Resource BatchIssueSourceBrowseContext;
24     public final Resource BatchIssueSourceBrowseContext_IssueSourceCheckRule;
25     public final Resource Functions;
26     public final Resource Functions_activeModel;
27     public final Resource Functions_issueSourceSelected;
28     public final Resource IssueBrowseContext;
29     public final Resource IssueBrowseContext_DynamicIssueHierarchyNode;
30     public final Resource IssueBrowseContext_DynamicIssueSourceHierarchyRule;
31     public final Resource IssueBrowseContext_DynamicIssueSourceRule;
32     public final Resource IssueBrowseContext_ErrorFolder;
33     public final Resource IssueBrowseContext_FatalFolder;
34     public final Resource IssueBrowseContext_InfoFolder;
35     public final Resource IssueBrowseContext_Issue;
36     public final Resource IssueBrowseContext_IssueContextDropAction;
37     public final Resource IssueBrowseContext_IssueImageDecorationRule;
38     public final Resource IssueBrowseContext_IssueImageRule;
39     public final Resource IssueBrowseContext_IssueLabelDecorationRule;
40     public final Resource IssueBrowseContext_IssueLabelRule;
41     public final Resource IssueBrowseContext_NoteFolder;
42     public final Resource IssueBrowseContext_SeverityChildRule;
43     public final Resource IssueBrowseContext_SeverityChildRule_HasSeverity;
44     public final Resource IssueBrowseContext_SeverityChildRule_HasSeverity_Inverse;
45     public final Resource IssueBrowseContext_SeverityFolderLabelRule;
46     public final Resource IssueBrowseContext_SeverityFolderLabelRule_HasSeverity;
47     public final Resource IssueBrowseContext_SeverityFolderLabelRule_HasSeverity_Inverse;
48     public final Resource IssueBrowseContext_SeverityFolderRule;
49     public final Resource IssueBrowseContext_SeverityFolderRule_HasSeverity;
50     public final Resource IssueBrowseContext_SeverityFolderRule_HasSeverity_Inverse;
51     public final Resource IssueBrowseContext_UnknownFolder;
52     public final Resource IssueBrowseContext_UserIssueTest;
53     public final Resource IssueBrowseContext_WarningFolder;
54     public final Resource IssueView;
55     public final Resource IssueView_Active;
56     public final Resource IssueView_Active_Explorer;
57     public final Resource IssueView_Batch;
58     public final Resource IssueView_BatchColumn;
59     public final Resource IssueView_Batch_Explorer;
60     public final Resource IssueView_Description;
61     public final Resource IssueView_Path;
62     public final Resource IssueView_Resource;
63     public final Resource ShowHiddenIssues;
64     public final Resource ShowHiddenIssues_Inverse;
65     public final Resource ShowNormalIssues;
66     public final Resource ShowNormalIssues_Inverse;
67     public final Resource ShowUserIssues;
68     public final Resource ShowUserIssues_Inverse;
69         
70     public static class URIs {
71         public static final String ActionContext = "http://www.simantics.org/IssueUI-1.1/ActionContext";
72         public static final String Actions = "http://www.simantics.org/IssueUI-1.1/Actions";
73         public static final String Actions_Hide = "http://www.simantics.org/IssueUI-1.1/Actions/Hide";
74         public static final String Actions_Resolve = "http://www.simantics.org/IssueUI-1.1/Actions/Resolve";
75         public static final String Actions_SetSeverityAction = "http://www.simantics.org/IssueUI-1.1/Actions/SetSeverityAction";
76         public static final String Actions_SetSeverityAction_HasSeverity = "http://www.simantics.org/IssueUI-1.1/Actions/SetSeverityAction/HasSeverity";
77         public static final String Actions_SetSeverityAction_HasSeverity_Inverse = "http://www.simantics.org/IssueUI-1.1/Actions/SetSeverityAction/HasSeverity/Inverse";
78         public static final String Actions_SeverityActionCategory = "http://www.simantics.org/IssueUI-1.1/Actions/SeverityActionCategory";
79         public static final String Actions_Unhide = "http://www.simantics.org/IssueUI-1.1/Actions/Unhide";
80         public static final String Actions_Unresolve = "http://www.simantics.org/IssueUI-1.1/Actions/Unresolve";
81         public static final String BatchIssueSourceBrowseContext = "http://www.simantics.org/IssueUI-1.1/BatchIssueSourceBrowseContext";
82         public static final String BatchIssueSourceBrowseContext_IssueSourceCheckRule = "http://www.simantics.org/IssueUI-1.1/BatchIssueSourceBrowseContext/IssueSourceCheckRule";
83         public static final String Functions = "http://www.simantics.org/IssueUI-1.1/Functions";
84         public static final String Functions_activeModel = "http://www.simantics.org/IssueUI-1.1/Functions/activeModel";
85         public static final String Functions_issueSourceSelected = "http://www.simantics.org/IssueUI-1.1/Functions/issueSourceSelected";
86         public static final String IssueBrowseContext = "http://www.simantics.org/IssueUI-1.1/IssueBrowseContext";
87         public static final String IssueBrowseContext_DynamicIssueHierarchyNode = "http://www.simantics.org/IssueUI-1.1/IssueBrowseContext/DynamicIssueHierarchyNode";
88         public static final String IssueBrowseContext_DynamicIssueSourceHierarchyRule = "http://www.simantics.org/IssueUI-1.1/IssueBrowseContext/DynamicIssueSourceHierarchyRule";
89         public static final String IssueBrowseContext_DynamicIssueSourceRule = "http://www.simantics.org/IssueUI-1.1/IssueBrowseContext/DynamicIssueSourceRule";
90         public static final String IssueBrowseContext_ErrorFolder = "http://www.simantics.org/IssueUI-1.1/IssueBrowseContext/ErrorFolder";
91         public static final String IssueBrowseContext_FatalFolder = "http://www.simantics.org/IssueUI-1.1/IssueBrowseContext/FatalFolder";
92         public static final String IssueBrowseContext_InfoFolder = "http://www.simantics.org/IssueUI-1.1/IssueBrowseContext/InfoFolder";
93         public static final String IssueBrowseContext_Issue = "http://www.simantics.org/IssueUI-1.1/IssueBrowseContext/Issue";
94         public static final String IssueBrowseContext_IssueContextDropAction = "http://www.simantics.org/IssueUI-1.1/IssueBrowseContext/IssueContextDropAction";
95         public static final String IssueBrowseContext_IssueImageDecorationRule = "http://www.simantics.org/IssueUI-1.1/IssueBrowseContext/IssueImageDecorationRule";
96         public static final String IssueBrowseContext_IssueImageRule = "http://www.simantics.org/IssueUI-1.1/IssueBrowseContext/IssueImageRule";
97         public static final String IssueBrowseContext_IssueLabelDecorationRule = "http://www.simantics.org/IssueUI-1.1/IssueBrowseContext/IssueLabelDecorationRule";
98         public static final String IssueBrowseContext_IssueLabelRule = "http://www.simantics.org/IssueUI-1.1/IssueBrowseContext/IssueLabelRule";
99         public static final String IssueBrowseContext_NoteFolder = "http://www.simantics.org/IssueUI-1.1/IssueBrowseContext/NoteFolder";
100         public static final String IssueBrowseContext_SeverityChildRule = "http://www.simantics.org/IssueUI-1.1/IssueBrowseContext/SeverityChildRule";
101         public static final String IssueBrowseContext_SeverityChildRule_HasSeverity = "http://www.simantics.org/IssueUI-1.1/IssueBrowseContext/SeverityChildRule/HasSeverity";
102         public static final String IssueBrowseContext_SeverityChildRule_HasSeverity_Inverse = "http://www.simantics.org/IssueUI-1.1/IssueBrowseContext/SeverityChildRule/HasSeverity/Inverse";
103         public static final String IssueBrowseContext_SeverityFolderLabelRule = "http://www.simantics.org/IssueUI-1.1/IssueBrowseContext/SeverityFolderLabelRule";
104         public static final String IssueBrowseContext_SeverityFolderLabelRule_HasSeverity = "http://www.simantics.org/IssueUI-1.1/IssueBrowseContext/SeverityFolderLabelRule/HasSeverity";
105         public static final String IssueBrowseContext_SeverityFolderLabelRule_HasSeverity_Inverse = "http://www.simantics.org/IssueUI-1.1/IssueBrowseContext/SeverityFolderLabelRule/HasSeverity/Inverse";
106         public static final String IssueBrowseContext_SeverityFolderRule = "http://www.simantics.org/IssueUI-1.1/IssueBrowseContext/SeverityFolderRule";
107         public static final String IssueBrowseContext_SeverityFolderRule_HasSeverity = "http://www.simantics.org/IssueUI-1.1/IssueBrowseContext/SeverityFolderRule/HasSeverity";
108         public static final String IssueBrowseContext_SeverityFolderRule_HasSeverity_Inverse = "http://www.simantics.org/IssueUI-1.1/IssueBrowseContext/SeverityFolderRule/HasSeverity/Inverse";
109         public static final String IssueBrowseContext_UnknownFolder = "http://www.simantics.org/IssueUI-1.1/IssueBrowseContext/UnknownFolder";
110         public static final String IssueBrowseContext_UserIssueTest = "http://www.simantics.org/IssueUI-1.1/IssueBrowseContext/UserIssueTest";
111         public static final String IssueBrowseContext_WarningFolder = "http://www.simantics.org/IssueUI-1.1/IssueBrowseContext/WarningFolder";
112         public static final String IssueView = "http://www.simantics.org/IssueUI-1.1/IssueView";
113         public static final String IssueView_Active = "http://www.simantics.org/IssueUI-1.1/IssueView/Active";
114         public static final String IssueView_Active_Explorer = "http://www.simantics.org/IssueUI-1.1/IssueView/Active/Explorer";
115         public static final String IssueView_Batch = "http://www.simantics.org/IssueUI-1.1/IssueView/Batch";
116         public static final String IssueView_BatchColumn = "http://www.simantics.org/IssueUI-1.1/IssueView/BatchColumn";
117         public static final String IssueView_Batch_Explorer = "http://www.simantics.org/IssueUI-1.1/IssueView/Batch/Explorer";
118         public static final String IssueView_Description = "http://www.simantics.org/IssueUI-1.1/IssueView/Description";
119         public static final String IssueView_Path = "http://www.simantics.org/IssueUI-1.1/IssueView/Path";
120         public static final String IssueView_Resource = "http://www.simantics.org/IssueUI-1.1/IssueView/Resource";
121         public static final String ShowHiddenIssues = "http://www.simantics.org/IssueUI-1.1/ShowHiddenIssues";
122         public static final String ShowHiddenIssues_Inverse = "http://www.simantics.org/IssueUI-1.1/ShowHiddenIssues/Inverse";
123         public static final String ShowNormalIssues = "http://www.simantics.org/IssueUI-1.1/ShowNormalIssues";
124         public static final String ShowNormalIssues_Inverse = "http://www.simantics.org/IssueUI-1.1/ShowNormalIssues/Inverse";
125         public static final String ShowUserIssues = "http://www.simantics.org/IssueUI-1.1/ShowUserIssues";
126         public static final String ShowUserIssues_Inverse = "http://www.simantics.org/IssueUI-1.1/ShowUserIssues/Inverse";
127     }
128     
129     public static Resource getResourceOrNull(ReadGraph graph, String uri) {
130         try {
131             return graph.getResource(uri);
132         } catch(DatabaseException e) {
133             System.err.println(e.getMessage());
134             return null;
135         }
136     }
137     
138     public IssueUIResource(ReadGraph graph) {
139         ActionContext = getResourceOrNull(graph, URIs.ActionContext);
140         Actions = getResourceOrNull(graph, URIs.Actions);
141         Actions_Hide = getResourceOrNull(graph, URIs.Actions_Hide);
142         Actions_Resolve = getResourceOrNull(graph, URIs.Actions_Resolve);
143         Actions_SetSeverityAction = getResourceOrNull(graph, URIs.Actions_SetSeverityAction);
144         Actions_SetSeverityAction_HasSeverity = getResourceOrNull(graph, URIs.Actions_SetSeverityAction_HasSeverity);
145         Actions_SetSeverityAction_HasSeverity_Inverse = getResourceOrNull(graph, URIs.Actions_SetSeverityAction_HasSeverity_Inverse);
146         Actions_SeverityActionCategory = getResourceOrNull(graph, URIs.Actions_SeverityActionCategory);
147         Actions_Unhide = getResourceOrNull(graph, URIs.Actions_Unhide);
148         Actions_Unresolve = getResourceOrNull(graph, URIs.Actions_Unresolve);
149         BatchIssueSourceBrowseContext = getResourceOrNull(graph, URIs.BatchIssueSourceBrowseContext);
150         BatchIssueSourceBrowseContext_IssueSourceCheckRule = getResourceOrNull(graph, URIs.BatchIssueSourceBrowseContext_IssueSourceCheckRule);
151         Functions = getResourceOrNull(graph, URIs.Functions);
152         Functions_activeModel = getResourceOrNull(graph, URIs.Functions_activeModel);
153         Functions_issueSourceSelected = getResourceOrNull(graph, URIs.Functions_issueSourceSelected);
154         IssueBrowseContext = getResourceOrNull(graph, URIs.IssueBrowseContext);
155         IssueBrowseContext_DynamicIssueHierarchyNode = getResourceOrNull(graph, URIs.IssueBrowseContext_DynamicIssueHierarchyNode);
156         IssueBrowseContext_DynamicIssueSourceHierarchyRule = getResourceOrNull(graph, URIs.IssueBrowseContext_DynamicIssueSourceHierarchyRule);
157         IssueBrowseContext_DynamicIssueSourceRule = getResourceOrNull(graph, URIs.IssueBrowseContext_DynamicIssueSourceRule);
158         IssueBrowseContext_ErrorFolder = getResourceOrNull(graph, URIs.IssueBrowseContext_ErrorFolder);
159         IssueBrowseContext_FatalFolder = getResourceOrNull(graph, URIs.IssueBrowseContext_FatalFolder);
160         IssueBrowseContext_InfoFolder = getResourceOrNull(graph, URIs.IssueBrowseContext_InfoFolder);
161         IssueBrowseContext_Issue = getResourceOrNull(graph, URIs.IssueBrowseContext_Issue);
162         IssueBrowseContext_IssueContextDropAction = getResourceOrNull(graph, URIs.IssueBrowseContext_IssueContextDropAction);
163         IssueBrowseContext_IssueImageDecorationRule = getResourceOrNull(graph, URIs.IssueBrowseContext_IssueImageDecorationRule);
164         IssueBrowseContext_IssueImageRule = getResourceOrNull(graph, URIs.IssueBrowseContext_IssueImageRule);
165         IssueBrowseContext_IssueLabelDecorationRule = getResourceOrNull(graph, URIs.IssueBrowseContext_IssueLabelDecorationRule);
166         IssueBrowseContext_IssueLabelRule = getResourceOrNull(graph, URIs.IssueBrowseContext_IssueLabelRule);
167         IssueBrowseContext_NoteFolder = getResourceOrNull(graph, URIs.IssueBrowseContext_NoteFolder);
168         IssueBrowseContext_SeverityChildRule = getResourceOrNull(graph, URIs.IssueBrowseContext_SeverityChildRule);
169         IssueBrowseContext_SeverityChildRule_HasSeverity = getResourceOrNull(graph, URIs.IssueBrowseContext_SeverityChildRule_HasSeverity);
170         IssueBrowseContext_SeverityChildRule_HasSeverity_Inverse = getResourceOrNull(graph, URIs.IssueBrowseContext_SeverityChildRule_HasSeverity_Inverse);
171         IssueBrowseContext_SeverityFolderLabelRule = getResourceOrNull(graph, URIs.IssueBrowseContext_SeverityFolderLabelRule);
172         IssueBrowseContext_SeverityFolderLabelRule_HasSeverity = getResourceOrNull(graph, URIs.IssueBrowseContext_SeverityFolderLabelRule_HasSeverity);
173         IssueBrowseContext_SeverityFolderLabelRule_HasSeverity_Inverse = getResourceOrNull(graph, URIs.IssueBrowseContext_SeverityFolderLabelRule_HasSeverity_Inverse);
174         IssueBrowseContext_SeverityFolderRule = getResourceOrNull(graph, URIs.IssueBrowseContext_SeverityFolderRule);
175         IssueBrowseContext_SeverityFolderRule_HasSeverity = getResourceOrNull(graph, URIs.IssueBrowseContext_SeverityFolderRule_HasSeverity);
176         IssueBrowseContext_SeverityFolderRule_HasSeverity_Inverse = getResourceOrNull(graph, URIs.IssueBrowseContext_SeverityFolderRule_HasSeverity_Inverse);
177         IssueBrowseContext_UnknownFolder = getResourceOrNull(graph, URIs.IssueBrowseContext_UnknownFolder);
178         IssueBrowseContext_UserIssueTest = getResourceOrNull(graph, URIs.IssueBrowseContext_UserIssueTest);
179         IssueBrowseContext_WarningFolder = getResourceOrNull(graph, URIs.IssueBrowseContext_WarningFolder);
180         IssueView = getResourceOrNull(graph, URIs.IssueView);
181         IssueView_Active = getResourceOrNull(graph, URIs.IssueView_Active);
182         IssueView_Active_Explorer = getResourceOrNull(graph, URIs.IssueView_Active_Explorer);
183         IssueView_Batch = getResourceOrNull(graph, URIs.IssueView_Batch);
184         IssueView_BatchColumn = getResourceOrNull(graph, URIs.IssueView_BatchColumn);
185         IssueView_Batch_Explorer = getResourceOrNull(graph, URIs.IssueView_Batch_Explorer);
186         IssueView_Description = getResourceOrNull(graph, URIs.IssueView_Description);
187         IssueView_Path = getResourceOrNull(graph, URIs.IssueView_Path);
188         IssueView_Resource = getResourceOrNull(graph, URIs.IssueView_Resource);
189         ShowHiddenIssues = getResourceOrNull(graph, URIs.ShowHiddenIssues);
190         ShowHiddenIssues_Inverse = getResourceOrNull(graph, URIs.ShowHiddenIssues_Inverse);
191         ShowNormalIssues = getResourceOrNull(graph, URIs.ShowNormalIssues);
192         ShowNormalIssues_Inverse = getResourceOrNull(graph, URIs.ShowNormalIssues_Inverse);
193         ShowUserIssues = getResourceOrNull(graph, URIs.ShowUserIssues);
194         ShowUserIssues_Inverse = getResourceOrNull(graph, URIs.ShowUserIssues_Inverse);
195     }
196     
197     public static IssueUIResource getInstance(ReadGraph graph) {
198         Session session = graph.getSession();
199         IssueUIResource ret = session.peekService(IssueUIResource.class);
200         if(ret == null) {
201             QueryControl qc = graph.getService(QueryControl.class);
202             ret = new IssueUIResource(qc.getIndependentGraph(graph));
203             session.registerService(IssueUIResource.class, ret);
204         }
205         return ret;
206     }
207     
208     public static IssueUIResource getInstance(RequestProcessor session) throws DatabaseException {
209         IssueUIResource ret = session.peekService(IssueUIResource.class);
210         if(ret == null) {
211             ret = session.syncRequest(new Read<IssueUIResource>() {
212                 public IssueUIResource perform(ReadGraph graph) throws DatabaseException {
213                     QueryControl qc = graph.getService(QueryControl.class);
214                     return new IssueUIResource(qc.getIndependentGraph(graph));
215                 }
216             });
217             session.registerService(IssueUIResource.class, ret);
218         }
219         return ret;
220     }
221     
222 }
223