]> gerrit.simantics Code Review - simantics/platform.git/blob - bundles/org.simantics.issues.common/src/org/simantics/issues/common/All.java
Migrated source code from Simantics SVN
[simantics/platform.git] / bundles / org.simantics.issues.common / src / org / simantics / issues / common / All.java
1 package org.simantics.issues.common;\r
2 \r
3 import java.util.List;\r
4 \r
5 import org.simantics.databoard.Bindings;\r
6 import org.simantics.db.ReadGraph;\r
7 import org.simantics.db.Resource;\r
8 import org.simantics.db.common.request.PossibleIndexRoot;\r
9 import org.simantics.db.exception.DatabaseException;\r
10 import org.simantics.db.layer0.variable.Variable;\r
11 import org.simantics.db.layer0.variable.Variables;\r
12 import org.simantics.issues.ontology.IssueResource;\r
13 import org.simantics.layer0.Layer0;\r
14 import org.simantics.scl.reflection.annotations.SCLValue;\r
15 \r
16 public class All {\r
17         \r
18     @SCLValue(type = "ReadGraph -> Resource -> Variable -> String")\r
19     public static String defaultDescription(ReadGraph graph, Resource converter, Variable context) throws DatabaseException {\r
20         return context.getParent(graph).getLabel(graph);\r
21     }\r
22     \r
23     @SCLValue(type = "a -> b -> c")\r
24     public static Object dependencyBaseRealizationFunction(Object _graph, Object _model) throws DatabaseException {\r
25 //        ReadGraph graph = (ReadGraph)_graph;\r
26         Resource model = (Resource)_model;\r
27         return model;\r
28 //        SimulationResource SIMU = SimulationResource.getInstance(graph);\r
29 //        if(graph.isInstanceOf(model, SIMU.Model))\r
30 //            return graph.getSingleObject(model, SimulationResource.getInstance(graph).HasConfiguration);\r
31 //        else return null;\r
32 \r
33     }\r
34     \r
35     @SCLValue(type = "ReadGraph -> Resource -> Variable -> String")\r
36     public static String standardIssueSeverity(ReadGraph graph, Resource converter, Variable property) throws DatabaseException {\r
37         Layer0 L0 = Layer0.getInstance(graph);\r
38         IssueResource ISSUE = IssueResource.getInstance(graph);\r
39         Resource issue = property.getParent(graph).getRepresents(graph);\r
40         Resource severity = graph.getPossibleObject(issue, ISSUE.Issue_HasSeverity);\r
41         if (severity == null)\r
42                 return "Undefined";\r
43         return graph.getPossibleRelatedValue(severity, L0.HasName, Bindings.STRING);\r
44     }\r
45 \r
46     @SCLValue(type = "ReadGraph -> Resource -> Variable -> String")\r
47     public static String standardIssueResource(ReadGraph graph, Resource converter, Variable property) throws DatabaseException {\r
48         Layer0 L0 = Layer0.getInstance(graph);\r
49         List<Resource> contexts = IssueUtils.getContextsForProperty(graph, property);\r
50         if(contexts.isEmpty()) return "";\r
51         Resource context = contexts.get(0);\r
52         String name = graph.getPossibleRelatedValue(context, L0.HasName, Bindings.STRING);\r
53         if((name != null && !name.isEmpty())) return name;\r
54         if(!graph.hasStatement(context)) return "Removed - please run batch validations";\r
55         return context.toString();\r
56     }\r
57 \r
58     @SCLValue(type = "ReadGraph -> Resource -> Variable -> String")\r
59     public static String standardIssuePath(ReadGraph graph, Resource converter, Variable property) throws DatabaseException {\r
60         Layer0 L0 = Layer0.getInstance(graph);\r
61         List<Resource> contexts = IssueUtils.getContextsForProperty(graph, property);\r
62         if(contexts.isEmpty()) return "";\r
63         Resource parent = graph.getPossibleObject(contexts.get(0), L0.PartOf);\r
64         if(parent == null) return "";\r
65         Resource issueRoot = Variables.getPossibleIndexRoot(graph, property);\r
66         if(issueRoot == null) return "";\r
67         Resource contextRoot = graph.sync(new PossibleIndexRoot(parent));\r
68         if(contextRoot == null) return "";\r
69         if(issueRoot.equals(contextRoot)) {\r
70                 String uri = graph.getURI(parent);\r
71                 String contextURI = graph.getURI(contextRoot);\r
72                 return IssueUtils.pathString(uri, contextURI.length()+1);\r
73         } else {\r
74                 String uri = graph.getURI(parent);\r
75                 String modelURI = graph.getURI(graph.getRootLibrary());\r
76                 return IssueUtils.pathString(uri, modelURI.length()+1);\r
77         }\r
78     }\r
79      \r
80 }\r