X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=bundles%2Forg.simantics.scl.runtime%2Fsrc%2Forg%2Fsimantics%2Fscl%2Fruntime%2Freporting%2FSCLReporting.java;fp=bundles%2Forg.simantics.scl.runtime%2Fsrc%2Forg%2Fsimantics%2Fscl%2Fruntime%2Freporting%2FSCLReporting.java;h=97ef75f8b498e0d6a7382c7f84e626d0ceac8ee9;hb=79b952a1ea3ae3f299c6d7aa612a98b7ae5db51a;hp=bf3d6c68fb468d40f9dcd748cac00eb79f277648;hpb=a427b57e3a01be7ae767c9518144f96143df83f1;p=simantics%2Fplatform.git diff --git a/bundles/org.simantics.scl.runtime/src/org/simantics/scl/runtime/reporting/SCLReporting.java b/bundles/org.simantics.scl.runtime/src/org/simantics/scl/runtime/reporting/SCLReporting.java index bf3d6c68f..97ef75f8b 100644 --- a/bundles/org.simantics.scl.runtime/src/org/simantics/scl/runtime/reporting/SCLReporting.java +++ b/bundles/org.simantics.scl.runtime/src/org/simantics/scl/runtime/reporting/SCLReporting.java @@ -113,4 +113,19 @@ public class SCLReporting { context.put(SCLReportingHandler.REPORTING_HANDLER, handler); } } + + public static Object printingToLogging(Function proc) { + SCLContext context = SCLContext.getCurrent(); + SCLReportingHandler handler = (SCLReportingHandler)context.get(SCLReportingHandler.REPORTING_HANDLER); + if(handler == null) + handler = SCLReportingHandler.DEFAULT; + + context.put(SCLReportingHandler.REPORTING_HANDLER, SCLReportingHandler.DEFAULT); + + try { + return proc.apply(Tuple0.INSTANCE); + } finally { + context.put(SCLReportingHandler.REPORTING_HANDLER, handler); + } + } }