--- /dev/null
+package org.simantics.modeling.ui.diagram.monitor;\r
+\r
+import org.simantics.browsing.ui.swt.widgets.impl.ModifyComboListenerImpl;\r
+import org.simantics.db.Resource;\r
+import org.simantics.db.WriteGraph;\r
+import org.simantics.db.exception.DatabaseException;\r
+import org.simantics.operation.Layer0X;\r
+\r
+public class TemplateModifier extends ModifyComboListenerImpl<Resource, Resource> {\r
+\r
+ @Override\r
+ public void applySelection(WriteGraph graph, Resource monitor, Resource template) throws DatabaseException {\r
+ Layer0X L0X = Layer0X.getInstance(graph);\r
+ Resource exist = graph.getPossibleObject(monitor, L0X.ObtainsProperty);\r
+ if (template.equals(exist))\r
+ return;\r
+ graph.markUndoPoint();\r
+ graph.deny(monitor, L0X.ObtainsProperty);\r
+ graph.claim(monitor, L0X.ObtainsProperty1, null, template);\r
+ }\r
+\r
+}
\ No newline at end of file