]> gerrit.simantics Code Review - simantics/platform.git/blob - bundles/org.simantics.modeling.tests/src/org/simantics/modeling/tests/traits/DiagramElementTrait.java
Added missing org.simantics.modeling.tests plug-ins.
[simantics/platform.git] / bundles / org.simantics.modeling.tests / src / org / simantics / modeling / tests / traits / DiagramElementTrait.java
1 package org.simantics.modeling.tests.traits;
2
3 import org.simantics.db.ReadGraph;
4 import org.simantics.db.Resource;
5 import org.simantics.db.common.uri.UnescapedChildMapOfResource;
6 import org.simantics.db.common.utils.NameUtils;
7 import org.simantics.db.exception.DatabaseException;
8 import org.simantics.modeling.ModelingResources;
9
10 public class DiagramElementTrait extends AbstractSingleResourceTrait {
11         
12         public SingleResourceTrait diagram;
13         public String name;
14         
15         public DiagramElementTrait(SingleResourceTrait diagram, String name) {
16                 this.diagram = diagram;
17                 this.name = name;
18         }
19         
20         @Override
21         public Resource getResource(ReadGraph graph) throws DatabaseException {
22                 ModelingResources MOD = ModelingResources.getInstance(graph);
23                 Resource composite = graph.getSingleObject(diagram.getResource(), MOD.DiagramToComposite);
24                 Resource child = graph.sync(new UnescapedChildMapOfResource(composite)).get(name);
25                 if(child == null) throw new DatabaseException("No child " + child + " for " + NameUtils.getSafeName(graph, composite));
26                 return graph.getSingleObject(child, MOD.ComponentToElement);
27         }
28         
29 }