/* * Copyright (C) 2006-2016 DLR, Germany * * All rights reserved * * http://www.rcenvironment.de/ */ package de.rcenvironment.core.gui.workflow.editor.commands; import org.eclipse.gef.commands.Command; import de.rcenvironment.core.component.workflow.model.api.WorkflowDescription; /** * Command to draw or remove connections via double click. * * @author Oliver Seebach * */ public class ConnectionEditCommand extends Command { private WorkflowDescription originalWorkflowDescription; private WorkflowDescription editedWorkflowDescription; private WorkflowDescription memorizedWorkflowDescription; public ConnectionEditCommand(WorkflowDescription originalWorkflowDescription, WorkflowDescription editedWorkflowDescription) { this.originalWorkflowDescription = originalWorkflowDescription; this.editedWorkflowDescription = editedWorkflowDescription; } @Override public void execute() { memorizedWorkflowDescription = originalWorkflowDescription.clone(); redo(); } @Override public void undo() { originalWorkflowDescription.replaceConnections(memorizedWorkflowDescription.getConnections()); } @Override public void redo() { originalWorkflowDescription.replaceConnections(editedWorkflowDescription.getConnections()); } }