]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.db.layer0/src/org/simantics/db/layer0/variable/StandardGraphChildVariable.java
For PSaaS
[simantics/platform.git] / bundles / org.simantics.db.layer0 / src / org / simantics / db / layer0 / variable / StandardGraphChildVariable.java
index 78fff71c2d44a31696332c96d1c90097aa6a7078..5ab9d50283cb0801a456a3ada386c366be7052f8 100644 (file)
@@ -24,7 +24,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 +107,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;
        }
 
@@ -335,5 +335,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;
+            }
+        };
+    }
        
 }