--- /dev/null
+package org.simantics.document.linking.adapters;\r
+\r
+import org.simantics.db.ReadGraph;\r
+import org.simantics.db.Resource;\r
+import org.simantics.db.exception.DatabaseException;\r
+import org.simantics.diagram.stubs.DiagramResource;\r
+import org.simantics.modeling.ModelingResources;\r
+\r
+public class DiagramElementAdapter implements SourceObjectAdapter{\r
+ \r
+ @Override\r
+ public Resource getDocumentableResource(ReadGraph graph, Resource selected) throws DatabaseException {\r
+ ModelingResources mr = ModelingResources.getInstance(graph);\r
+ DiagramResource dr = DiagramResource.getInstance(graph);\r
+ if (graph.isInstanceOf(selected, dr.Element)) {\r
+ Resource r = graph.getPossibleObject(selected, mr.ElementToComponent);\r
+ if (r != null)\r
+ return r;\r
+ }\r
+ return selected;\r
+ }\r
+\r
+}\r