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
20 import com.eviware.soapui.impl.wsdl.WsdlOperation;
21 import com.eviware.soapui.impl.wsdl.WsdlRequest;
22 import com.eviware.soapui.support.UISupport;
23
24 /***
25 * Clones a WsdlRequest
26 *
27 * @author Ole.Matzura
28 */
29
30 public class CloneRequestAction extends AbstractAction
31 {
32 private final WsdlRequest request;
33
34 public CloneRequestAction( WsdlRequest request )
35 {
36 super( "Clone Request" );
37 this.request = request;
38 putValue( Action.SHORT_DESCRIPTION, "Creates a copy of this request" );
39 putValue( Action.SMALL_ICON, UISupport.createImageIcon("/clone_request.gif"));
40 putValue( Action.ACCELERATOR_KEY, UISupport.getKeyStroke( "F9" ));
41 }
42
43 public void actionPerformed(ActionEvent e)
44 {
45 String name = UISupport.prompt( "Specify name of cloned request", "Clone Request", "Copy of " + request.getName() );
46 if( name == null ) return;
47
48 WsdlRequest newRequest = ((WsdlOperation)request.getOperation()).addNewRequest( name );
49 request.copyTo( newRequest );
50
51 UISupport.selectAndShow( newRequest );
52 }
53 }