]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.browsing.ui.swt/src/org/simantics/browsing/ui/swt/widgets/ModelBrowser.java
Removed jsonValues since there already is Data/Json
[simantics/platform.git] / bundles / org.simantics.browsing.ui.swt / src / org / simantics / browsing / ui / swt / widgets / ModelBrowser.java
index eb48bdd3c76807e15d811f5379957f065d7a9d6a..c8744f2634e3fb3bc1ce911672c2b2de6fe93616 100644 (file)
@@ -19,7 +19,9 @@ import java.util.Map;
 import java.util.Set;
 
 import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Display;
 import org.eclipse.ui.IWorkbenchSite;
+import org.simantics.Simantics;
 import org.simantics.browsing.ui.NodeContext;
 import org.simantics.browsing.ui.common.ErrorLogger;
 import org.simantics.browsing.ui.model.InvalidContribution;
@@ -33,7 +35,6 @@ import org.simantics.db.exception.DatabaseException;
 import org.simantics.db.exception.ResourceNotFoundException;
 import org.simantics.db.procedure.Procedure;
 import org.simantics.db.request.Read;
-import org.simantics.ui.SimanticsUI;
 import org.simantics.utils.ui.ExceptionUtils;
 
 public class ModelBrowser extends GraphExplorerComposite {
@@ -62,10 +63,10 @@ public class ModelBrowser extends GraphExplorerComposite {
 
     protected static Set<String> loadBrowseContexts(final Set<String> browseContexts) {
         try {
-            return SimanticsUI.getSession().syncRequest(new Read<Set<String>>() {
+            return Simantics.getSession().syncRequest(new Read<Set<String>>() {
                 @Override
                 public Set<String> perform(ReadGraph graph) throws DatabaseException {
-                    Collection<Resource> browseContextResources = new ArrayList<Resource>(browseContexts.size());
+                    Collection<Resource> browseContextResources = new ArrayList<>(browseContexts.size());
                     for (String browseContext : browseContexts) {
                         try {
                             browseContextResources.add(graph.getResource(browseContext));
@@ -77,7 +78,7 @@ public class ModelBrowser extends GraphExplorerComposite {
                         }
                     }
                     Collection<Resource> allBrowseContextResources = BrowseContext.findSubcontexts(graph, browseContextResources);
-                    Set<String> result = new HashSet<String>();
+                    Set<String> result = new HashSet<>();
                     for (Resource r : allBrowseContextResources)
                         result.add(graph.getURI(r));
                     return result;
@@ -99,10 +100,10 @@ public class ModelBrowser extends GraphExplorerComposite {
         this.hideComparatorSelector = true;
         this.hideViewpointSelector = true;
 
-        SimanticsUI.getSession().asyncRequest(new ReadRequest() {
+        Simantics.getSession().asyncRequest(new ReadRequest() {
             @Override
             public void run(ReadGraph graph) throws DatabaseException { 
-                ArrayList<Resource> browseContexts = new ArrayList<Resource>();
+                ArrayList<Resource> browseContexts = new ArrayList<>();
                 for (String uri : _browseContexts) {
                     Resource browseContext = graph.getPossibleResource(uri);
                     if (browseContext != null)
@@ -122,7 +123,7 @@ public class ModelBrowser extends GraphExplorerComposite {
         if (target == null)
             return;
 
-        SimanticsUI.getSession().asyncRequest(new Read<Runnable>() {
+        Simantics.getSession().asyncRequest(new Read<Runnable>() {
             @Override
             public Runnable perform(ReadGraph graph) throws DatabaseException {
                 if (dndBrowseContext == null)
@@ -132,8 +133,10 @@ public class ModelBrowser extends GraphExplorerComposite {
         }, new Procedure<Runnable>() {
             @Override
             public void execute(Runnable result) {
-                if (result != null)
-                    result.run();
+                Display.getDefault().asyncExec(() -> {
+                    if (!Display.getCurrent().isDisposed() && result != null)
+                        result.run();
+                });
             }
 
             @Override