--- /dev/null
+package org.simantics.issues.common;\r
+\r
+import java.util.List;\r
+\r
+import org.simantics.databoard.Bindings;\r
+import org.simantics.db.ReadGraph;\r
+import org.simantics.db.Resource;\r
+import org.simantics.db.common.request.PossibleIndexRoot;\r
+import org.simantics.db.exception.DatabaseException;\r
+import org.simantics.db.layer0.variable.Variable;\r
+import org.simantics.db.layer0.variable.Variables;\r
+import org.simantics.issues.ontology.IssueResource;\r
+import org.simantics.layer0.Layer0;\r
+import org.simantics.scl.reflection.annotations.SCLValue;\r
+\r
+public class All {\r
+ \r
+ @SCLValue(type = "ReadGraph -> Resource -> Variable -> String")\r
+ public static String defaultDescription(ReadGraph graph, Resource converter, Variable context) throws DatabaseException {\r
+ return context.getParent(graph).getLabel(graph);\r
+ }\r
+ \r
+ @SCLValue(type = "a -> b -> c")\r
+ public static Object dependencyBaseRealizationFunction(Object _graph, Object _model) throws DatabaseException {\r
+// ReadGraph graph = (ReadGraph)_graph;\r
+ Resource model = (Resource)_model;\r
+ return model;\r
+// SimulationResource SIMU = SimulationResource.getInstance(graph);\r
+// if(graph.isInstanceOf(model, SIMU.Model))\r
+// return graph.getSingleObject(model, SimulationResource.getInstance(graph).HasConfiguration);\r
+// else return null;\r
+\r
+ }\r
+ \r
+ @SCLValue(type = "ReadGraph -> Resource -> Variable -> String")\r
+ public static String standardIssueSeverity(ReadGraph graph, Resource converter, Variable property) throws DatabaseException {\r
+ Layer0 L0 = Layer0.getInstance(graph);\r
+ IssueResource ISSUE = IssueResource.getInstance(graph);\r
+ Resource issue = property.getParent(graph).getRepresents(graph);\r
+ Resource severity = graph.getPossibleObject(issue, ISSUE.Issue_HasSeverity);\r
+ if (severity == null)\r
+ return "Undefined";\r
+ return graph.getPossibleRelatedValue(severity, L0.HasName, Bindings.STRING);\r
+ }\r
+\r
+ @SCLValue(type = "ReadGraph -> Resource -> Variable -> String")\r
+ public static String standardIssueResource(ReadGraph graph, Resource converter, Variable property) throws DatabaseException {\r
+ Layer0 L0 = Layer0.getInstance(graph);\r
+ List<Resource> contexts = IssueUtils.getContextsForProperty(graph, property);\r
+ if(contexts.isEmpty()) return "";\r
+ Resource context = contexts.get(0);\r
+ String name = graph.getPossibleRelatedValue(context, L0.HasName, Bindings.STRING);\r
+ if((name != null && !name.isEmpty())) return name;\r
+ if(!graph.hasStatement(context)) return "Removed - please run batch validations";\r
+ return context.toString();\r
+ }\r
+\r
+ @SCLValue(type = "ReadGraph -> Resource -> Variable -> String")\r
+ public static String standardIssuePath(ReadGraph graph, Resource converter, Variable property) throws DatabaseException {\r
+ Layer0 L0 = Layer0.getInstance(graph);\r
+ List<Resource> contexts = IssueUtils.getContextsForProperty(graph, property);\r
+ if(contexts.isEmpty()) return "";\r
+ Resource parent = graph.getPossibleObject(contexts.get(0), L0.PartOf);\r
+ if(parent == null) return "";\r
+ Resource issueRoot = Variables.getPossibleIndexRoot(graph, property);\r
+ if(issueRoot == null) return "";\r
+ Resource contextRoot = graph.sync(new PossibleIndexRoot(parent));\r
+ if(contextRoot == null) return "";\r
+ if(issueRoot.equals(contextRoot)) {\r
+ String uri = graph.getURI(parent);\r
+ String contextURI = graph.getURI(contextRoot);\r
+ return IssueUtils.pathString(uri, contextURI.length()+1);\r
+ } else {\r
+ String uri = graph.getURI(parent);\r
+ String modelURI = graph.getURI(graph.getRootLibrary());\r
+ return IssueUtils.pathString(uri, modelURI.length()+1);\r
+ }\r
+ }\r
+ \r
+}\r