1
2
3
4
5
6
7
8
9
10
11
12
13 package com.eviware.soapui.impl.wsdl.actions.operation;
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.settings.WsdlSettings;
23 import com.eviware.soapui.support.UISupport;
24
25 /***
26 * Adds a new WsdlRequest to a WsdlOperation
27 *
28 * @author Ole.Matzura
29 */
30
31 public class NewRequestAction extends AbstractAction
32 {
33 private final WsdlOperation operation;
34
35 public NewRequestAction( WsdlOperation operation )
36 {
37 super( "New request" );
38 this.operation = operation;
39 putValue( Action.SHORT_DESCRIPTION, "Creates a new request for this operation" );
40 putValue( Action.ACCELERATOR_KEY, UISupport.getKeyStroke( "menu N" ));
41 }
42
43 public void actionPerformed(ActionEvent e)
44 {
45 String name = UISupport.prompt( "Specify name of request", "New request", "Request " + (operation.getRequestCount()+1) );
46 if( name == null ) return;
47
48 boolean createOptional = operation.getSettings().getBoolean(WsdlSettings.XML_GENERATION_ALWAYS_INCLUDE_OPTIONAL_ELEMENTS);
49 if (!createOptional)
50 createOptional = UISupport.confirm( "Create optional elements in schema?", "Create Request" );
51
52 WsdlRequest newRequest = operation.addNewRequest( name );
53 String requestContent = operation.createRequest( createOptional );
54 if(requestContent != null)
55 {
56 newRequest.setRequestContent( requestContent );
57 }
58
59 UISupport.showDesktopPanel( newRequest );
60 }
61 }