1
2
3
4
5
6
7
8
9
10
11
12
13 package com.eviware.soapui.impl.wsdl.teststeps.actions;
14
15 import java.awt.event.ActionEvent;
16
17 import javax.swing.AbstractAction;
18 import javax.swing.Action;
19 import javax.swing.JOptionPane;
20
21 import com.eviware.soapui.SoapUI;
22 import com.eviware.soapui.impl.wsdl.WsdlTestCase;
23 import com.eviware.soapui.impl.wsdl.teststeps.WsdlTestRequest;
24 import com.eviware.soapui.impl.wsdl.teststeps.WsdlTestRequestStep;
25
26 /***
27 * Clones a WsdlTestRequestStep
28 *
29 * @author Ole.Matzura
30 */
31
32 public class CloneTestRequestStepAction extends AbstractAction
33 {
34 private final WsdlTestRequestStep testStep;
35
36 public CloneTestRequestStepAction( WsdlTestRequestStep testStep )
37 {
38 super( "Clone" );
39 this.testStep = testStep;
40 putValue( Action.SHORT_DESCRIPTION, "Creates a copy of this request" );
41 putValue( Action.SMALL_ICON, SoapUI.createImageIcon( "/clone_request.gif"));
42 }
43
44 public void actionPerformed(ActionEvent e)
45 {
46 WsdlTestRequest request = testStep.getTestRequest();
47
48 String name = (String) JOptionPane.showInputDialog( SoapUI.getInstance().getFrame(),
49 "Clone Test Request Step", "Specify name of cloned request step",
50 JOptionPane.QUESTION_MESSAGE, null, null, "Copy of " + request.getName() );
51 if( name == null ) return;
52
53 WsdlTestCase testCase = (WsdlTestCase) testStep.getTestCase();
54 WsdlTestRequestStep newRequest = (WsdlTestRequestStep) testCase.cloneStep( testStep, name );
55
56 SoapUI.getInstance().selectModelItem( newRequest );
57 SoapUI.getInstance().showTab( newRequest );
58 }
59
60 }