/* * Copyright (C) 2006-2016 DLR, Germany * * All rights reserved * * http://www.rcenvironment.de/ */ package de.rcenvironment.core.gui.workflow.editor.commands.endpoint; import java.util.Map; import de.rcenvironment.core.datamodel.api.DataType; import de.rcenvironment.core.gui.workflow.editor.properties.Refreshable; /** * Adds one single input and two outputs - one with the same name as the input and one with the same * name as the input + given suffix. * * @author Doreen Seider */ public class AddDynamicInputWithOutputsCommand extends AddDynamicInputWithOutputCommand { private final String addDynOutputId; private final String nameSuffix; private Map<String, String> metaDataOutputWithSuffix; public AddDynamicInputWithOutputsCommand(String dynamicEndpointId, String addDynOutputId, String outputNameSuffix, String name, DataType type, Map<String, String> metaData, Refreshable... panes) { super(dynamicEndpointId, name, type, metaData, panes); this.addDynOutputId = addDynOutputId; this.nameSuffix = outputNameSuffix; } @Override public void execute() { InputWithOutputsCommandUtils.addOutputWithSuffix(getProperties(), addDynOutputId, name, type, nameSuffix, metaDataOutputWithSuffix); super.execute(); } @Override public void undo() { InputWithOutputsCommandUtils.removeOutputWithSuffix(getProperties(), name, nameSuffix); super.undo(); } public void setMetaDataOutputWithSuffix(Map<String, String> metaDataOutputWithSuffix) { this.metaDataOutputWithSuffix = metaDataOutputWithSuffix; } }