--- /dev/null
+package org.simantics.modeling.ui.diagram.monitor;\r
+\r
+import org.simantics.browsing.ui.swt.widgets.impl.ReadFactoryImpl;\r
+import org.simantics.db.ReadGraph;\r
+import org.simantics.db.Resource;\r
+import org.simantics.db.exception.DatabaseException;\r
+import org.simantics.layer0.Layer0;\r
+import org.simantics.operation.Layer0X;\r
+\r
+public class CurrentTemplateFactory extends ReadFactoryImpl<Resource, String> {\r
+\r
+ @Override\r
+ public String perform(ReadGraph graph, Resource monitor) throws DatabaseException {\r
+ \r
+ Layer0 L0 = Layer0.getInstance(graph);\r
+ Layer0X L0X = Layer0X.getInstance(graph);\r
+ Resource template = graph.getPossibleObject(monitor, L0X.ObtainsProperty);\r
+ if (template != null) {\r
+ return graph.getPossibleRelatedAdapter(template, L0.HasLabel, String.class);\r
+ } else {\r
+ return null;\r
+ }\r
+ \r
+ }\r
+ \r
+}\r