X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=bundles%2Forg.simantics.db.layer0%2Fsrc%2Forg%2Fsimantics%2Fdb%2Flayer0%2Fvariable%2FStandardGraphPropertyVariable.java;h=2dcb6e00ab08871f296c7af6d5a498115edf7d60;hb=68a9ec79344f44499f9a92c95ee81b8b052a22e7;hp=13977a0e5a4397be7e2a063c75fe9b77aba9aa7c;hpb=0ae2b770234dfc3cbb18bd38f324125cf0faca07;p=simantics%2Fplatform.git 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 13977a0e5..2dcb6e00a 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,13 +15,14 @@ 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.DatatypeNotFoundException; import org.simantics.db.exception.ValidationException; +import org.simantics.db.exception.VariableException; +import org.simantics.db.layer0.exception.InvalidVariableException; import org.simantics.db.layer0.exception.MissingVariableValueException; import org.simantics.db.layer0.exception.PendingVariableException; -import org.simantics.db.layer0.exception.VariableException; import org.simantics.db.layer0.function.All; import org.simantics.db.layer0.request.PropertyInfo; import org.simantics.db.layer0.request.PropertyInfoRequest; @@ -29,9 +30,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 +123,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 +142,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); } } @@ -157,7 +161,7 @@ public class StandardGraphPropertyVariable extends AbstractPropertyVariable { @Override public Resource getRepresents(ReadGraph graph) throws DatabaseException { if(represents == null) - throw new VariableException("Variable is not represented by any resource (URI=" + getPossibleURI(graph) + ")."); + throw new InvalidVariableException("Variable is not represented by any resource (URI=" + getPossibleURI(graph) + ")."); return represents; // return graph.getSingleObject(parentResource, property.predicate); } @@ -175,7 +179,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 +194,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); } } @@ -231,9 +235,9 @@ public class StandardGraphPropertyVariable extends AbstractPropertyVariable { if (type == null) { String uri = this.getPossibleURI(graph); if (uri != null) - throw new DatabaseException("No data type for " + uri); + throw new DatatypeNotFoundException("No data type for " + uri); else - throw new DatabaseException("No data type for " + this.getIdentifier()); + throw new DatatypeNotFoundException("No data type for " + this.getIdentifier()); } return type; @@ -304,8 +308,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; } @@ -401,7 +405,9 @@ public class StandardGraphPropertyVariable extends AbstractPropertyVariable { protected VariableMap getPossibleChildVariableMap(ReadGraph graph) throws DatabaseException { if(represents == null) return All.standardPropertyDomainChildren; - return graph.getPossibleRelatedValue2(represents, Layer0.getInstance(graph).domainChildren, this); + Resource domainChildren = Layer0.getInstance(graph).domainChildren; + return graph.getPossibleRelatedValue2(represents, domainChildren, + new StandardGraphPropertyVariable(graph, this, domainChildren)); } protected VariableMap getPossiblePropertyVariableMap(ReadGraph graph) throws DatabaseException {