View Javadoc

1   /*
2    *  soapui, copyright (C) 2005 Ole Matzura / eviware.com 
3    *
4    *  SoapUI is free software; you can redistribute it and/or modify it under the 
5    *  terms of the GNU Lesser General Public License as published by the Free Software Foundation; 
6    *  either version 2.1 of the License, or (at your option) any later version.
7    *
8    *  SoapUI is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without 
9    *  even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 
10   *  See the GNU Lesser General Public License for more details at gnu.org.
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  }