1 package org.simantics.issues.common;
\r
3 import java.util.List;
\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
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
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
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
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
43 return graph.getPossibleRelatedValue(severity, L0.HasName, Bindings.STRING);
\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
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
74 String uri = graph.getURI(parent);
\r
75 String modelURI = graph.getURI(graph.getRootLibrary());
\r
76 return IssueUtils.pathString(uri, modelURI.length()+1);
\r