X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=bundles%2Forg.simantics.issues.ui%2Fsrc%2Forg%2Fsimantics%2Fissues%2Fui%2Fhandler%2FRunActiveValidations.java;fp=bundles%2Forg.simantics.issues.ui%2Fsrc%2Forg%2Fsimantics%2Fissues%2Fui%2Fhandler%2FRunActiveValidations.java;h=94c886582e9326e4474c6a2081a98692bfad4928;hb=0ffcb1180dcccf28e66a391338885be224ba1c47;hp=0ab0ef98cb75b824978d0ca3743ecd2cad225f7e;hpb=342a2b006b88330280060c16c2ab50374468a4c6;p=simantics%2Fplatform.git diff --git a/bundles/org.simantics.issues.ui/src/org/simantics/issues/ui/handler/RunActiveValidations.java b/bundles/org.simantics.issues.ui/src/org/simantics/issues/ui/handler/RunActiveValidations.java index 0ab0ef98c..94c886582 100644 --- a/bundles/org.simantics.issues.ui/src/org/simantics/issues/ui/handler/RunActiveValidations.java +++ b/bundles/org.simantics.issues.ui/src/org/simantics/issues/ui/handler/RunActiveValidations.java @@ -57,12 +57,25 @@ public class RunActiveValidations extends AbstractHandler { @Override public Object execute(ExecutionEvent event) throws ExecutionException { - Runnable postValidation = null; - run(postValidation); + try { + run(); + } catch (DatabaseException e) { + throw new ExecutionException("Error while running active validations", e); + } return null; } + + public static void run() throws DatabaseException { + Resource model = Simantics.getSession().syncRequest(new PossibleActiveModel(Simantics.getProjectResource())); + if(model != null) + run(null); + } + + public static void run(Resource model) { + run(model, null); + } - public void run(Runnable postValidation) { + public static void run(Resource model, Runnable postValidation) { final Session session = Simantics.getSession(); @@ -77,8 +90,6 @@ public class RunActiveValidations extends AbstractHandler { @Override public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException { try { - Resource model = session.sync(new PossibleActiveModel(Simantics.getProjectResource())); - if(model == null) return; toBatchIssueSources(session, session.syncRequest(new SelectedModelBatchIssueSources(model)),