/* * Copyright (C) 2006-2016 DLR, Germany * * All rights reserved * * http://www.rcenvironment.de/ */ package de.rcenvironment.components.examples.encrypter.gui; import java.util.List; import java.util.Map; import de.rcenvironment.core.component.model.endpoint.api.EndpointDescription; import de.rcenvironment.core.datamodel.api.DataType; import de.rcenvironment.core.datamodel.api.EndpointType; import de.rcenvironment.core.gui.workflow.editor.properties.EndpointSelectionPane; import de.rcenvironment.core.gui.workflow.editor.properties.WorkflowNodeCommand; import de.rcenvironment.core.gui.workflow.editor.properties.WorkflowNodeCommand.Executor; /** * An adapted EndpointSelectionPane for the Encoder Component. It extends the * {@link EndpointSelectionPane} for working with its own {@link WorkflowNodeCommand}s. This * commands must be set, so that placeholders for ****. * * For using not the default {@link WorkflowNodeCommand}s, the methods executeAddCommand, * executeEditCommand and executeRemoveCommand just have to be overwritten. * * @author Sascha Zur */ public class EncrypterEndpointSelectionPane extends EndpointSelectionPane { public EncrypterEndpointSelectionPane(String title, EndpointType direction, String dynEndpointIdToManage, String[] statEndpointNamesToShow, Executor executor, boolean readOnly) { super(title, direction, dynEndpointIdToManage, new String[] {}, statEndpointNamesToShow, executor, readOnly); } @Override protected void executeAddCommand(String name, DataType type, Map<String, String> metaData) { if (type == DataType.FileReference) { WorkflowNodeCommand command = new EncrypterAddDynamicEndpointCommand(endpointType , dynEndpointIdToManage, name, type, metaData, this); // null = this execute(command); } else { super.executeAddCommand(name, type, metaData); } } @Override protected void executeEditCommand(EndpointDescription oldDescription, EndpointDescription newDescription) { WorkflowNodeCommand command = new EncrypterEditDynamicEndpointCommand(endpointType, oldDescription, newDescription, this); execute(command); } @Override protected void executeRemoveCommand(List<String> names) { WorkflowNodeCommand command = new EncrypterRemoveDynamicEndpointCommand(endpointType , dynEndpointIdToManage, names, null, this); // null = this execute(command); } }