1
2
3
4
5
6
7
8
9
10
11
12
13 package com.eviware.soapui.impl.wsdl.actions.mockservice;
14
15 import com.eviware.soapui.impl.wsdl.mock.WsdlMockService;
16 import com.eviware.soapui.impl.wsdl.support.HelpUrls;
17 import com.eviware.soapui.support.UISupport;
18 import com.eviware.soapui.support.action.support.AbstractSoapUIAction;
19 import com.eviware.x.form.XFormDialog;
20 import com.eviware.x.form.support.ADialogBuilder;
21 import com.eviware.x.form.support.AField;
22 import com.eviware.x.form.support.AForm;
23 import com.eviware.x.form.support.AField.AFieldType;
24
25 /***
26 * Displays the options for the specified WsdlMockService
27 *
28 * @author ole.matzura
29 */
30
31 public class MockServiceOptionsAction extends AbstractSoapUIAction<WsdlMockService>
32 {
33 private XFormDialog dialog;
34
35 public MockServiceOptionsAction()
36 {
37 super( "Options", "Sets options for this MockService" );
38 }
39
40 public void perform( WsdlMockService mockService, Object param )
41 {
42 if( dialog == null )
43 dialog = ADialogBuilder.buildDialog( OptionsForm.class );
44
45 dialog.setValue( OptionsForm.PATH, mockService.getPath() );
46 dialog.setIntValue( OptionsForm.PORT, mockService.getPort() );
47
48 boolean enabled = mockService.getMockRunner() == null;
49
50 dialog.getFormField( OptionsForm.PATH ).setEnabled( enabled );
51 dialog.getFormField( OptionsForm.PORT ).setEnabled( enabled );
52
53 if( dialog.show() )
54 {
55 mockService.setPath( dialog.getValue( OptionsForm.PATH ) );
56 mockService.setPort( dialog.getIntValue( OptionsForm.PORT, mockService.getPort() ) );
57 }
58 }
59
60 @AForm( name="MockService Options", description="Set options for this MockService",
61 helpUrl=HelpUrls.MOCKSERVICEOPTIONS_HELP_URL, icon=UISupport.OPTIONS_ICON_PATH )
62 private class OptionsForm
63 {
64 @AField( name="Path", description="The path this MockService will mount on")
65 public final static String PATH = "Path";
66
67 @AField( name="Port", description="The port this MockService will mount on", type=AFieldType.INT )
68 public final static String PORT = "Port";
69 }
70 }