From 85c1daf4b3d4a48613e0c61c359cb8aac2157f01 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Hannu=20Niemist=C3=B6?= Date: Mon, 5 Mar 2018 16:46:30 +0200 Subject: [PATCH] Tried to improve the implementation of getPossibleDomainProperty refs #7800 Change-Id: Ife7ed9a2c7ec556194987b34c3301e6ea8e0e7bc --- .../org/simantics/db/layer0/function/All.java | 2 ++ .../StandardGraphPropertyVariable.java | 18 ++++++++++-------- 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/bundles/org.simantics.db.layer0/src/org/simantics/db/layer0/function/All.java b/bundles/org.simantics.db.layer0/src/org/simantics/db/layer0/function/All.java index 08ed3edf2..604faa69e 100644 --- a/bundles/org.simantics.db.layer0/src/org/simantics/db/layer0/function/All.java +++ b/bundles/org.simantics.db.layer0/src/org/simantics/db/layer0/function/All.java @@ -608,6 +608,8 @@ public class All { public Variable getVariable(ReadGraph graph, Variable context, String name) throws DatabaseException { Variable parent = context.getParent(graph); Resource container = parent.getPossibleRepresents(graph); + if(container == null) + return null; Map methods = graph.syncRequest(new UnescapedMethodMapOfResource(container)); Resource predicate = methods.get(name); if(predicate != null) { diff --git a/bundles/org.simantics.db.layer0/src/org/simantics/db/layer0/variable/StandardGraphPropertyVariable.java b/bundles/org.simantics.db.layer0/src/org/simantics/db/layer0/variable/StandardGraphPropertyVariable.java index 9d7fded69..582277c90 100644 --- a/bundles/org.simantics.db.layer0/src/org/simantics/db/layer0/variable/StandardGraphPropertyVariable.java +++ b/bundles/org.simantics.db.layer0/src/org/simantics/db/layer0/variable/StandardGraphPropertyVariable.java @@ -15,7 +15,6 @@ import org.simantics.db.ReadGraph; import org.simantics.db.Resource; import org.simantics.db.WriteGraph; import org.simantics.db.common.procedure.adapter.TransientCacheAsyncListener; -import org.simantics.db.common.utils.Logger; import org.simantics.db.common.validation.L0Validations; import org.simantics.db.exception.DatabaseException; import org.simantics.db.exception.ValidationException; @@ -29,9 +28,12 @@ import org.simantics.db.layer0.util.Layer0Utils; import org.simantics.layer0.Layer0; import org.simantics.utils.Development; import org.simantics.utils.datastructures.Pair; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; public class StandardGraphPropertyVariable extends AbstractPropertyVariable { - + private static final Logger LOGGER = LoggerFactory.getLogger(StandardGraphPropertyVariable.class); + protected static final PropertyInfo NO_PROPERTY = new PropertyInfo(null, null, false, Collections. emptySet(), null, null, null, null, null, null, Collections.> emptyMap(), @@ -119,7 +121,7 @@ public class StandardGraphPropertyVariable extends AbstractPropertyVariable { if(Development.DEVELOPMENT) { String error = L0Validations.checkValueType(graph, parentResource, property.predicate); if(error != null) { - Logger.defaultLogError(new ValidationException(error)); + LOGGER.error(error); //throw new ValidationException(error); } } @@ -138,7 +140,7 @@ public class StandardGraphPropertyVariable extends AbstractPropertyVariable { if(Development.DEVELOPMENT) { String error = L0Validations.checkValueType(graph, parentResource, property.predicate); if(error != null) { - Logger.defaultLogError(new ValidationException(error)); + LOGGER.error(error); throw new ValidationException(error); } } @@ -175,7 +177,7 @@ public class StandardGraphPropertyVariable extends AbstractPropertyVariable { if(Development.DEVELOPMENT) { String error = L0Validations.checkValueType(graph, parentResource, property.predicate); if(error != null) { - Logger.defaultLogError(new ValidationException(error)); + LOGGER.error(error); //throw new ValidationException(error); } } @@ -190,7 +192,7 @@ public class StandardGraphPropertyVariable extends AbstractPropertyVariable { if(Development.DEVELOPMENT) { String error = L0Validations.checkValueType(graph, parentResource, property.predicate); if(error != null) { - Logger.defaultLogError(new ValidationException(error)); + LOGGER.error(error); throw new ValidationException(error); } } @@ -304,8 +306,8 @@ public class StandardGraphPropertyVariable extends AbstractPropertyVariable { return valueMap.getVariable(graph, this, name); } catch (DatabaseException e) { return null; - } catch (Throwable t) { - System.err.println("err: " + getURI(graph) + " # " + name); + } catch (Exception t) { + LOGGER.error("getPossibleDomainProperty is implemented incorrectly, but returns null on Exception for backward compatibility. URI="+getURI(graph)+", name="+name+".", t); return null; } -- 2.43.2