package org.insightech.er.editor.view.action.testdata;
import java.util.ArrayList;
import java.util.List;
import org.eclipse.jface.dialogs.IDialogConstants;
import org.eclipse.swt.widgets.Event;
import org.eclipse.ui.PlatformUI;
import org.insightech.er.Activator;
import org.insightech.er.ImageKey;
import org.insightech.er.ResourceString;
import org.insightech.er.editor.ERDiagramEditor;
import org.insightech.er.editor.controller.command.testdata.ChangeTestDataCommand;
import org.insightech.er.editor.model.ERDiagram;
import org.insightech.er.editor.model.testdata.TestData;
import org.insightech.er.editor.view.action.AbstractBaseAction;
import org.insightech.er.editor.view.dialog.testdata.TestDataManageDialog;
public class TestDataCreateAction extends AbstractBaseAction {
public static final String ID = TestDataCreateAction.class.getName();
public TestDataCreateAction(ERDiagramEditor editor) {
super(ID, ResourceString
.getResourceString("action.title.testdata.create"), editor);
this.setImageDescriptor(Activator
.getImageDescriptor(ImageKey.TEST_DATA));
}
/**
* {@inheritDoc}
*/
@Override
public void execute(Event event) {
ERDiagram diagram = this.getDiagram();
List<TestData> testDataList = diagram.getDiagramContents()
.getTestDataList();
List<TestData> copyTestDataList = new ArrayList<TestData>();
for (TestData testData : testDataList) {
copyTestDataList.add(testData.clone());
}
TestDataManageDialog dialog = new TestDataManageDialog(PlatformUI
.getWorkbench().getActiveWorkbenchWindow().getShell(), this
.getEditorPart(), diagram, copyTestDataList);
if (dialog.open() == IDialogConstants.OK_ID) {
ChangeTestDataCommand command = new ChangeTestDataCommand(diagram,
copyTestDataList);
this.execute(command);
}
}
}