--- /dev/null
+package org.simantics.modeling.utils;\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
+/**\r
+ * Utilities for dealing with diagram monitors.\r
+ * \r
+ * @author Tuukka Lehtonen\r
+ */\r
+public final class Monitors {\r
+\r
+ public static Resource getMonitoredComponent(ReadGraph graph, Resource monitor) throws DatabaseException {\r
+ DiagramResource DIA = DiagramResource.getInstance(graph);\r
+ Resource component = graph.getPossibleObject(monitor, DIA.HasMonitorComponent);\r
+ return component;\r
+ }\r
+\r
+ public static Resource getMonitoredElement(ReadGraph graph, Resource monitor) throws DatabaseException {\r
+ Resource component = getMonitoredComponent(graph, monitor);\r
+ if (component == null)\r
+ return null;\r
+ ModelingResources MOD = ModelingResources.getInstance(graph);\r
+ Resource element = graph.getPossibleObject(component, MOD.ComponentToElement);\r
+ return element;\r
+ }\r
+\r
+}\r