]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.issues.ui/src/org/simantics/issues/ui/handler/UpdateIssuesForOpenDiagrams.java
Preliminary support for purely Variable based dynamic issue sources
[simantics/platform.git] / bundles / org.simantics.issues.ui / src / org / simantics / issues / ui / handler / UpdateIssuesForOpenDiagrams.java
index 9b2040c4b01bf854f753a0f8811414d99d33b936..0f7cec48de62500cab7e84868569aa040d0b053c 100644 (file)
@@ -34,7 +34,6 @@ import org.simantics.browsing.ui.common.ErrorLogger;
 import org.simantics.db.ReadGraph;
 import org.simantics.db.Resource;
 import org.simantics.db.Session;
-import org.simantics.db.common.request.Queries;
 import org.simantics.db.common.request.ReadRequest;
 import org.simantics.db.exception.DatabaseException;
 import org.simantics.db.layer0.request.ActiveModels;
@@ -67,7 +66,7 @@ public class UpdateIssuesForOpenDiagrams extends AbstractHandler {
     }
 
     public static void update(Runnable postValidation) throws DatabaseException, PartInitException {
-        final List<IResourceEditorInput> inputs = new ArrayList<IResourceEditorInput>();
+        final List<IResourceEditorInput> inputs = new ArrayList<>();
         IWorkbenchWindow[] windows = PlatformUI.getWorkbench().getWorkbenchWindows();
         for (IWorkbenchWindow wb : windows) {
             IWorkbenchPage pages[] = wb.getPages();
@@ -82,9 +81,9 @@ public class UpdateIssuesForOpenDiagrams extends AbstractHandler {
             }
         }
 
-        final Set<Resource> compositesToValidate = new TreeSet<Resource>();
-        final Collection<BatchIssueSource> validations = new ArrayList<BatchIssueSource>();
-        final Collection<Resource> activeModels = new ArrayList<Resource>();
+        final Set<Resource> compositesToValidate = new TreeSet<>();
+        final Collection<BatchIssueSource> validations = new ArrayList<>();
+        final Collection<Resource> activeModels = new ArrayList<>();
        final BatchIssueValidationContext context = new BatchIssueValidationContext();
 
         try {
@@ -98,11 +97,9 @@ public class UpdateIssuesForOpenDiagrams extends AbstractHandler {
                         activeModels.addAll(session.syncRequest(new ActiveModels(project)));
                         if(activeModels.size() != 1) return;
 
-                        Collection<Resource> activeSources = session.syncRequest(new SelectedModelBatchIssueSources(activeModels.iterator().next()));
-                        for(Resource source : activeSources) {
-                            BatchIssueSource bis = session.syncRequest(Queries.adapt(source, BatchIssueSource.class));
-                            validations.add(bis);
-                        }
+                        RunActiveValidations.toBatchIssueSources(session,
+                                session.syncRequest(new SelectedModelBatchIssueSources(activeModels.iterator().next())),
+                                validations);
 
                         session.syncRequest(new ReadRequest() {
                             @Override