Log some information about missing property in SCLLabelRule 22/2322/1
authorHannu Niemistö <hannu.niemisto@semantum.fi>
Wed, 17 Oct 2018 10:16:47 +0000 (13:16 +0300)
committerHannu Niemistö <hannu.niemisto@semantum.fi>
Wed, 17 Oct 2018 10:16:47 +0000 (13:16 +0300)
Change-Id: I6237c54f3760603a1184c015d81de99f1302a3ae

bundles/org.simantics.modeling/src/org/simantics/modeling/adapters/SCLLabelRule.java

index e0bff0fe126331208d1331f58de18381e66bba3f..243ef4d3693c74545b9aec74f521d551555aaeda 100644 (file)
@@ -14,8 +14,11 @@ import org.simantics.db.layer0.variable.Variables;
 import org.simantics.modeling.ModelingResources;
 import org.simantics.scl.runtime.SCLContext;
 import org.simantics.scl.runtime.function.Function1;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 public class SCLLabelRule implements LabelRule {
+    private static final Logger LOGGER = LoggerFactory.getLogger(SCLLabelRule.class);
 
     private Resource rule;
     
@@ -35,7 +38,10 @@ public class SCLLabelRule implements LabelRule {
         Variable ruleVariable = Variables.getVariable(graph, rule);
 
         Function1<Object,List<String>> getLabels = ruleVariable.getPossiblePropertyValue(graph, MOD.SCLLabelRule_getLabels);
-        if(getLabels == null) return Collections.emptyMap();
+        if(getLabels == null) {
+            LOGGER.warn("Didn't find value for subject={}, predicate={}.", rule, ModelingResources.URIs.SCLLabelRule_getLabels);
+            return Collections.emptyMap();
+        }
 
         SCLContext sclContext = SCLContext.getCurrent();
         Object oldGraph = sclContext.get("graph");
@@ -48,6 +54,7 @@ public class SCLLabelRule implements LabelRule {
             }
             return result;
         } catch (Throwable t) {
+            LOGGER.error("Calculating label failed.", t);
                throw new DatabaseException(t);
         } finally {
             sclContext.put("graph", oldGraph);