Ignore multiple modelled tests via context menu action
[simantics/platform.git] / bundles / org.simantics.tests.modelled.ui / src / org / simantics / tests / modelled / ui / TestsUIUtils.java
index c6bd1c28708d1fed48d642147ebc85994e79c73e..b24f445e23c985e317f652f628e435a0135a3b53 100644 (file)
@@ -1,23 +1,42 @@
-package org.simantics.tests.modelled.ui;\r
-\r
-import java.io.IOException;\r
-\r
-import org.eclipse.e4.ui.model.application.ui.basic.MPart;\r
-import org.simantics.db.Resource;\r
-import org.simantics.db.exception.DatabaseException;\r
-import org.simantics.ui.workbench.e4.E4WorkbenchUtils;\r
-\r
-public class TestsUIUtils {\r
-\r
-    private TestsUIUtils() {\r
-    }\r
-\r
-    public static void runSTSTestAction(Resource test) throws DatabaseException, IOException {\r
-        MPart part = E4WorkbenchUtils.getMPartById(STSTestRunnerView.ID);\r
-        E4WorkbenchUtils.openAndShowPart(part);\r
-        Object obj = part.getObject();\r
-        STSTestRunnerView view = (STSTestRunnerView) obj;\r
-        view.currentTest(test);\r
-        view.execute();\r
-    }\r
-}\r
+package org.simantics.tests.modelled.ui;
+
+import java.io.IOException;
+import java.util.List;
+
+import org.eclipse.e4.ui.model.application.ui.basic.MPart;
+import org.simantics.Simantics;
+import org.simantics.databoard.Bindings;
+import org.simantics.db.Resource;
+import org.simantics.db.WriteGraph;
+import org.simantics.db.exception.DatabaseException;
+import org.simantics.db.request.Write;
+import org.simantics.tests.modelled.ontology.TestsResource;
+import org.simantics.ui.workbench.e4.E4WorkbenchUtils;
+
+public class TestsUIUtils {
+
+    private TestsUIUtils() {
+    }
+
+    public static void runSTSTestAction(Resource test) throws DatabaseException, IOException {
+        MPart part = E4WorkbenchUtils.getMPartById(STSTestRunnerView.ID);
+        E4WorkbenchUtils.openAndShowPart(part);
+        Object obj = part.getObject();
+        STSTestRunnerView view = (STSTestRunnerView) obj;
+        view.currentTest(test);
+        view.execute();
+    }
+    
+    public static void ignoreSTSTestAction(List<Resource> tests) throws DatabaseException {
+        Simantics.getSession().syncRequest(new Write() {
+            
+            @Override
+            public void perform(WriteGraph graph) throws DatabaseException {
+                TestsResource TESTS = TestsResource.getInstance(graph);
+                for (Resource test : tests) {
+                    graph.claimLiteral(test, TESTS.ignore, true, Bindings.BOOLEAN);
+                }
+            }
+        });
+    }
+}