--- /dev/null
+package org.simantics.plant3d.actions;
+
+import org.eclipse.jface.action.Action;
+import org.simantics.plant3d.scenegraph.Equipment;
+import org.simantics.plant3d.scenegraph.P3DRootNode;
+import org.simantics.plant3d.utils.ComponentUtils;
+import org.simantics.plant3d.utils.Item;
+import org.simantics.utils.ui.ExceptionUtils;
+
+/**
+ * Action that creates given Equipment.
+ *
+ * @author luukkainen
+ *
+ */
+public class AddEquipmentAction2 extends Action {
+
+ P3DRootNode root;
+ private Item item;
+ private Item nozzleItem;
+
+ public AddEquipmentAction2(P3DRootNode root, Item item) {
+ this(root, item, null);
+ }
+
+ public AddEquipmentAction2(P3DRootNode root, Item item, Item nozzleItem) {
+ this.root = root;
+ this.item = item;
+ setText("Add " + item.getName());
+ }
+
+ @Override
+ public void run() {
+ try {
+ Equipment equipment = null;
+ if (nozzleItem == null)
+ equipment = ComponentUtils.createEquipment(root, item);
+ else
+ equipment = ComponentUtils.createEquipmentWithNozzles(root, item, nozzleItem);
+ root.getNodeMap().commit("Add equipment " + equipment.getName());
+ } catch (Exception e) {
+ ExceptionUtils.logAndShowError("Cannot create equipment",e);
+ }
+ }
+}