]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.debug.ui/src/org/simantics/debug/ui/GraphDebugger.java
Graph debugger: handle case where assertions does not have predicate
[simantics/platform.git] / bundles / org.simantics.debug.ui / src / org / simantics / debug / ui / GraphDebugger.java
index 158c37a360bccc308d7a127c29bd0aa8a9293573..c3b3ab8b94792ea4dc12942eae7455ed26568d91 100644 (file)
@@ -126,7 +126,6 @@ import org.simantics.ui.utils.ResourceAdaptionUtils;
 import org.simantics.utils.Container;
 import org.simantics.utils.FileUtils;
 import org.simantics.utils.datastructures.BijectionMap;
-import org.simantics.utils.datastructures.Callback;
 import org.simantics.utils.strings.AlphanumComparator;
 import org.simantics.utils.ui.ErrorLogger;
 import org.simantics.utils.ui.PathUtils;
@@ -601,14 +600,8 @@ public class GraphDebugger extends Composite {
                             g.denyStatement(s, p, o);
                         }
 
-                    }, new Callback<DatabaseException>() {
-
-                        @Override
-                        public void run(DatabaseException parameter) {
-                            refreshBrowser();
-                        }
-
-                    });
+                    }, parameter -> refreshBrowser()
+                    );
                 } else if (location.startsWith("about:-edit-value")) {
                     String target = location.replace("about:-edit-value", "");
                     final Resource o = links.getRight(target);
@@ -692,13 +685,10 @@ public class GraphDebugger extends Composite {
                                             //modifier.modify( g, htmlEscape( value ) );
                                             modifier.modify( g, value );
                                         }
-                                    }, new Callback<DatabaseException>() {
-                                        @Override
-                                        public void run(DatabaseException parameter) {
-                                            if (parameter != null)
-                                                ErrorLogger.defaultLogError(parameter);
-                                            refreshBrowser();
-                                        }
+                                    }, parameter -> {
+                                        if (parameter != null)
+                                            ErrorLogger.defaultLogError(parameter);
+                                        refreshBrowser();
                                     });
                                     return;
                                 }
@@ -962,11 +952,11 @@ public class GraphDebugger extends Composite {
         try {
             Layer0 L0 = Layer0.getInstance(graph);
             if (graph.isInstanceOf(r, L0.Assertion)) {
-                Resource pred = graph.getSingleObject(r, L0.HasPredicate);
+                Resource pred = graph.getPossibleObject(r, L0.HasPredicate);
                 // Don't know how I encountered this but it seems to be possible in some cases..
                 // Resource obj = graph.getSingleObject(r, L0.HasObject);
                 Resource obj = graph.getPossibleObject(r, L0.HasObject);
-                String tmp = htmlEscape( getResourceName(graph, pred) + " -> " + (obj == null ? "No object ?" : getResourceName(graph, obj)) + " (Assertion)" );
+                String tmp = htmlEscape( (pred == null ? "No predicate ?" : getResourceName(graph, pred)) + " -> " + (obj == null ? "No object ?" : getResourceName(graph, obj)) + " (Assertion)" );
                 name = tmp.substring(0, Math.min(80, tmp.length()));
             } else {
                 String resourceName = getResourceName(graph, r);