]> gerrit.simantics Code Review - simantics/platform.git/commitdiff
Removed logging of PendingVariableExceptions from LabelContribution 22/322/1
authorTuukka Lehtonen <tuukka.lehtonen@semantum.fi>
Thu, 2 Feb 2017 11:22:03 +0000 (13:22 +0200)
committerTuukka Lehtonen <tuukka.lehtonen@semantum.fi>
Thu, 2 Feb 2017 11:22:03 +0000 (13:22 +0200)
org.simantics.browsing.ui.model.labels.LabelContribution.getLabel used
to log all DatabaseExceptions which filled logs with very uninformative
PendingVariableException prints in normal operation.
PendingVariableExceptions are expected to happen in this context and
therefore should simply be ignored by returning empty labeling results.

refs #7011

Change-Id: Iec164d65682da038646c9fbfbee074016546095e

bundles/org.simantics.browsing.ui.model/src/org/simantics/browsing/ui/model/labels/LabelContribution.java

index e8a7b62227db8d40ab51bb5ea978af1bb20dc322..25f0d054d5b55670c934940c993048fbcb728c79 100644 (file)
@@ -24,6 +24,7 @@ import org.simantics.browsing.ui.model.tests.Test;
 import org.simantics.browsing.ui.model.visuals.VisualsContribution;
 import org.simantics.db.ReadGraph;
 import org.simantics.db.exception.DatabaseException;
+import org.simantics.db.layer0.exception.PendingVariableException;
 
 /**
  * Produces labels for nodes of given node type.
@@ -31,7 +32,7 @@ import org.simantics.db.exception.DatabaseException;
  */
 public class LabelContribution extends VisualsContribution {
     LabelRule labelRule;
-    
+
     public LabelContribution(NodeType nodeType, Test test, LabelRule labelRule, double priority) throws InvalidContribution {
         super(nodeType, test, priority);
         if(!labelRule.isCompatible(
@@ -40,7 +41,7 @@ public class LabelContribution extends VisualsContribution {
             throw new InvalidContribution("Label rule is not compatible with the content type.");
         this.labelRule = labelRule;
     }
-       
+
     /**
      * Returns a label for the node or null, if contribution is
      * not suitable for the input.
@@ -48,15 +49,15 @@ public class LabelContribution extends VisualsContribution {
     public Map<String, String> getLabel(ReadGraph graph, NodeContext context) {
         Object content = context.getConstant(BuiltinKeys.INPUT);
         try {
-            if(test == null || test.test(graph, content))            
+            if(test == null || test.test(graph, content))
                 return labelRule.getLabel(graph, content);
             else
                 return null;
+        } catch(PendingVariableException e) {
+            return Collections.singletonMap(ColumnKeys.SINGLE, "");
         } catch(DatabaseException e) {
             ErrorLogger.defaultLogError(e);
-               //Logger.defaultLogError(e);
-            // TODO reconsider
             return Collections.singletonMap(ColumnKeys.SINGLE, "");
         }
-    }    
+    }
 }