]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.modeling/scl/Simantics/Issue.scl
Improvements to constraint-based issues
[simantics/platform.git] / bundles / org.simantics.modeling / scl / Simantics / Issue.scl
index 79d16ac1b9ca19167f07cee35018089e831152e5..ee7e51e0be85b398c2d2f96cb3cd3c6b01e7f95a 100644 (file)
@@ -1,28 +1,45 @@
-include "Simantics/Entity" hiding (nameOf)\r
-import "Simantics/Model"\r
-import "http://www.simantics.org/Issue-1.2" as ISSUE\r
-\r
-type Issue = Resource\r
-type Severity = Resource\r
-    \r
-issuesOf :: Model -> <ReadGraph> [Issue]\r
-issuesOf model = recurse ISSUE.Issue (toResource model)\r
-  where\r
-    recurse t r = do\r
-        cs = resourceChildrenOf r \r
-        issues = map fromResource $ filter isIssue cs\r
-        issueGrp = filter (not . isIssue) cs\r
-        issues + concatMap (recurse t) issueGrp\r
-    isIssue r = isInstanceOf r ISSUE.Issue\r
-    \r
-importJava "org.simantics.issues.common.IssueUtils" where\r
-    @JavaName newUserIssueForModel\r
-    newUserIssueForModel :: Model -> String -> Severity -> [Resource] -> <WriteGraph> Issue\r
-\r
-userIssueAdvanced :: Model -> String -> Severity -> [Resource] -> <WriteGraph> Issue\r
-userIssueAdvanced model label severity contexts = do\r
-    newUserIssueForModel model label severity contexts\r
-\r
-importJava "org.simantics.issues.common.IssueUtils" where\r
-    @JavaName newUserIssueForModel\r
-    userIssue :: () -> <WriteGraph> Issue
\ No newline at end of file
+include "Simantics/Entity" hiding (nameOf)
+import "Simantics/Model"
+import "UI/Progress"
+import "http://www.simantics.org/Issue-1.2" as ISSUE
+
+type Issue = Resource
+type Severity = Resource
+
+issuesOf :: Model -> <ReadGraph> [Issue]
+issuesOf model = recurse ISSUE.Issue model
+  where
+    recurse t r = do
+        cs = children r
+        issues = filter isIssue cs
+        issueGrp = filter (not . isIssue) cs
+        issues + concatMap (recurse t) issueGrp
+    isIssue r = isInstanceOf r ISSUE.Issue
+
+importJava "org.simantics.issues.common.IssueUtils" where
+    @JavaName newUserIssueForModel
+    newUserIssueForModel :: Model -> String -> Severity -> [Resource] -> <WriteGraph> Issue
+
+userIssueAdvanced :: Model -> String -> Severity -> [Resource] -> <WriteGraph> Issue
+userIssueAdvanced model label severity contexts = do
+    newUserIssueForModel model label severity contexts
+
+importJava "org.simantics.issues.common.IssueUtils" where
+    @JavaName newUserIssueForModel
+    userIssue :: () -> <WriteGraph> Issue
+
+importJava "org.simantics.db" where
+    @JavaName Issue
+    data IssueI
+
+importJava "org.simantics.db.layer0.validation.ValidationUtils" where
+  @JavaName validateConstraintsForDomain
+  validateDomain :: Resource -> <ReadGraph> [IssueI]
+
+importJava "org.simantics.modeling.utils.BatchValidations" where
+  @JavaName runAll
+  runAllBatchValidations :: ProgressMonitor -> Resource -> Resource -> <Proc> ()
+
+importJava "org.simantics.issues.common.RunActiveValidations" where
+  @JavaName run
+  runActiveValidations :: ProgressMonitor -> Resource -> <Proc> ()
\ No newline at end of file