X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=bundles%2Forg.simantics.db.layer0%2Fsrc%2Forg%2Fsimantics%2Fdb%2Flayer0%2Fvariable%2FStandardGraphChildVariable.java;h=bd0184e86af9f413931f512d223b6be1e234dcf7;hb=15af8a20abe8b2ba24b52c9da8bce6c92351dc43;hp=cffd74727c8000ed8e84cb15dfc582480702c106;hpb=10e20331b5323ca47bdcfa0e12739cf543cf370a;p=simantics%2Fplatform.git diff --git a/bundles/org.simantics.db.layer0/src/org/simantics/db/layer0/variable/StandardGraphChildVariable.java b/bundles/org.simantics.db.layer0/src/org/simantics/db/layer0/variable/StandardGraphChildVariable.java index cffd74727..bd0184e86 100644 --- a/bundles/org.simantics.db.layer0/src/org/simantics/db/layer0/variable/StandardGraphChildVariable.java +++ b/bundles/org.simantics.db.layer0/src/org/simantics/db/layer0/variable/StandardGraphChildVariable.java @@ -13,7 +13,6 @@ import org.simantics.db.common.procedure.adapter.TransientCacheAsyncListener; import org.simantics.db.exception.AssumptionException; import org.simantics.db.exception.DatabaseException; import org.simantics.db.layer0.exception.InvalidVariableException; -import org.simantics.db.layer0.exception.VariableException; import org.simantics.db.layer0.function.All; import org.simantics.db.layer0.request.ClassificationsRequest; import org.simantics.db.layer0.request.VariableURI; @@ -24,7 +23,7 @@ import org.simantics.db.layer0.variable.Variables.Role; import org.simantics.layer0.Layer0; import org.simantics.simulator.variable.exceptions.NodeManagerException; -public class StandardGraphChildVariable extends AbstractChildVariable { +public class StandardGraphChildVariable extends AbstractChildVariable implements ProxyVariableSupport { /* * Extension points @@ -107,7 +106,7 @@ public class StandardGraphChildVariable extends AbstractChildVariable { return node.support.manager.getName(node.node); } String unescapedName = graph.getPossibleRelatedValue(resource, graph.getService(Layer0.class).HasName, Bindings.STRING); - if(unescapedName == null) return "r" + resource.getResourceId(); + if(unescapedName == null) return VariableUtils.unnamedResourceName(resource); return unescapedName; } @@ -150,7 +149,7 @@ public class StandardGraphChildVariable extends AbstractChildVariable { @Override final public Resource getRepresents(ReadGraph graph) throws DatabaseException { if(resource == 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 resource; // Layer0X L0X = Layer0X.getInstance(graph); // Resource represents = graph.getPossibleObject(resource, L0X.Represents); @@ -335,5 +334,20 @@ public class StandardGraphChildVariable extends AbstractChildVariable { public Resource getPossiblePredicateResource(ReadGraph graph) throws DatabaseException { return null; } - + + @Override + public Variable attachTo(ReadGraph graph, Variable parent) { + return new StandardGraphChildVariable(parent, node, resource); + } + + @Override + public Variable attachToRenamed(ReadGraph graph, Variable parent, String name) { + return new StandardGraphChildVariable(parent, node, resource) { + @Override + public String getName(ReadGraph graph) throws DatabaseException { + return name; + } + }; + } + }