]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.simulation.ui/src/org/simantics/simulation/ui/e4/ExperimentListener.java
Prevent undesirable UI code access when workbench is not running
[simantics/platform.git] / bundles / org.simantics.simulation.ui / src / org / simantics / simulation / ui / e4 / ExperimentListener.java
index 4573b0c822c8194a1e072f0185049c12412cebc0..1f6bdb431448646d35d89ead90888dcd1c8625ca 100644 (file)
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2007, 2010 Association for Decentralized Information Management
+ * Copyright (c) 2007, 2019 Association for Decentralized Information Management
  * in Industry THTH ry.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
@@ -8,6 +8,7 @@
  *
  * Contributors:
  *     VTT Technical Research Centre of Finland - initial API and implementation
+ *     Semantum Oy - gitlab #384
  *******************************************************************************/
 package org.simantics.simulation.ui.e4;
 
@@ -21,21 +22,18 @@ import org.simantics.simulation.experiment.IExperimentListener;
 public class ExperimentListener implements IExperimentListener {
 
     private IEventBroker eventBroker;
-    
+
     public ExperimentListener() {
         eventBroker = E4Workbench.getServiceContext().get(IEventBroker.class);
     }
 
     @Override
     public void stateChanged(final ExperimentState state) {
-        
-        if(!PlatformUI.isWorkbenchRunning()) return;   
-        
-        PlatformUI.getWorkbench().getDisplay().asyncExec(new Runnable() {
+        if (!PlatformUI.isWorkbenchRunning())
+            return;
 
-            @Override
-            public void run() {
-               switch(state) {
+        PlatformUI.getWorkbench().getDisplay().asyncExec(() -> {
+            switch (state) {
                 case RUNNING:
                     eventBroker.post(SimulationEvents.TOPIC_STATE_RUNNING, true);
                     break;
@@ -43,7 +41,6 @@ public class ExperimentListener implements IExperimentListener {
                 default:
                     eventBroker.post(SimulationEvents.TOPIC_STATE_STOPPED, false);
                     break;
-                }
             }
         });
     }