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 import com.eviware.soapui.support.XmlUtils;
25
26 /***
27 * Recreates a WsdlRequest from its WsdlOperations schema definition
28 *
29 * @author Ole.Matzura
30 */
31
32 public class RecreateRequestAction extends AbstractAction
33 {
34 private final WsdlRequest request;
35
36 public RecreateRequestAction( WsdlRequest request )
37 {
38 super( "Recreate request" );
39 this.request = request;
40 putValue( Action.SMALL_ICON, SoapUI.createImageIcon( "/recreate_request.gif"));
41 putValue( Action.SHORT_DESCRIPTION, "Recreates a default request from the schema" );
42 }
43
44 public void actionPerformed(ActionEvent e)
45 {
46 boolean createOptional = JOptionPane.showConfirmDialog( SoapUI.getInstance().getFrame(),
47 "Create optional elements in schema?", "Recreate Request", JOptionPane.YES_NO_OPTION ) == JOptionPane.YES_OPTION;
48
49 String req = ((WsdlOperation)request.getOperation()).createRequest( createOptional );
50
51 if( request.getRequestContent() != null && request.getRequestContent().trim().length() > 0 )
52 {
53 int option = JOptionPane.showConfirmDialog( SoapUI.getInstance().getFrame(),
54 "Keep existing values", "Recreate Request", JOptionPane.YES_NO_OPTION );
55
56 if( option == JOptionPane.YES_OPTION )
57 {
58 req = XmlUtils.transferValues( request.getRequestContent(), req );
59 }
60 }
61
62 request.setRequest( req );
63 }
64 }