1
2
3
4
5
6
7
8
9
10
11
12
13 package com.eviware.soapui.impl.wsdl.actions.request;
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.WsdlOperation;
23 import com.eviware.soapui.impl.wsdl.WsdlRequest;
24
25 /***
26 * Clones a WsdlRequest
27 *
28 * @author Ole.Matzura
29 */
30
31 public class CloneRequestAction extends AbstractAction
32 {
33 private final WsdlRequest request;
34
35 public CloneRequestAction( WsdlRequest request )
36 {
37 super( "Clone Request" );
38 this.request = request;
39 putValue( Action.SHORT_DESCRIPTION, "Creates a copy of this request" );
40 putValue( Action.SMALL_ICON, SoapUI.createImageIcon("/clone_request.gif"));
41 }
42
43 public void actionPerformed(ActionEvent e)
44 {
45 String name = (String) JOptionPane.showInputDialog( SoapUI.getInstance().getFrame(), "Specify name of cloned request",
46 "Clone Request", JOptionPane.QUESTION_MESSAGE, null, null,
47 "Copy of " + request.getName() );
48 if( name == null ) return;
49
50 WsdlRequest newRequest = ((WsdlOperation)request.getOperation()).addNewRequest( name );
51 newRequest.setEncoding( request.getEncoding() );
52 newRequest.setEndpoint( request.getEndpoint() );
53 newRequest.setRequest( request.getRequestContent() );
54
55 SoapUI.getInstance().selectModelItem( newRequest );
56 SoapUI.getInstance().showTab( newRequest );
57 }
58
59 }