1
2
3
4
5
6
7
8
9
10
11
12
13 package com.eviware.soapui.impl.wsdl.actions.project;
14
15 import java.awt.event.ActionEvent;
16
17 import javax.swing.AbstractAction;
18 import javax.swing.Action;
19
20 import com.eviware.soapui.SoapUI;
21 import com.eviware.soapui.impl.wsdl.WsdlProject;
22 import com.eviware.soapui.model.iface.Interface;
23 import com.eviware.soapui.support.UISupport;
24
25 /***
26 * Adds a WsdlInterface to a WsdlProject from a URL
27 *
28 * @author Ole.Matzura
29 */
30
31 public class AddInterfaceActionFromURL extends AbstractAction
32 {
33 private final WsdlProject project;
34
35 public AddInterfaceActionFromURL( WsdlProject project )
36 {
37 super( "Add WSDL from URL" );
38 this.project = project;
39 putValue( Action.SHORT_DESCRIPTION, "Adds all interfaces in a specified WSDL URL to the current project" );
40 putValue( Action.ACCELERATOR_KEY, UISupport.getKeyStroke( "menu U" ));
41 }
42
43 public void actionPerformed(ActionEvent e)
44 {
45 String url = UISupport.prompt( "Enter WSDL URL", "Add WSDL from URL", "" );
46 if( url == null ) return;
47
48 try
49 {
50 Boolean createRequests = UISupport.confirmOrCancel( "Create default requests for all operations", "Import WSDL" );
51 if( createRequests == null )
52 return;
53
54 Interface[] ifaces = project.importWsdl(url, createRequests);
55 if (ifaces.length > 0)
56 SoapUI.selectModelItem(ifaces[0]);
57 }
58 catch (Exception ex)
59 {
60 UISupport.showErrorMessage( ex.getMessage() + ":" + ex.getCause() );
61 }
62 }
63 }