1
2
3
4
5
6
7
8
9
10
11
12
13 package com.eviware.soapui.impl.wsdl.actions.mockresponse;
14
15 import com.eviware.soapui.config.MockResponseConfig;
16 import com.eviware.soapui.impl.wsdl.mock.WsdlMockOperation;
17 import com.eviware.soapui.impl.wsdl.mock.WsdlMockResponse;
18 import com.eviware.soapui.support.UISupport;
19 import com.eviware.soapui.support.action.support.AbstractSoapUIAction;
20
21 /***
22 * Clones a WsdlMockResponse
23 *
24 * @author ole.matzura
25 */
26
27 public class CloneMockResponseAction extends AbstractSoapUIAction<WsdlMockResponse>
28 {
29 public CloneMockResponseAction()
30 {
31 super( "Clone", "Clones this MockResponse" );
32 }
33
34 public void perform( WsdlMockResponse mockResponse, Object param )
35 {
36 String name = UISupport.prompt( "Specify name of cloned MockResponse", getName(), "Copy of "
37 + mockResponse.getName() );
38 if( name == null )
39 return;
40
41 WsdlMockOperation mockOperation = mockResponse.getMockOperation();
42 mockOperation.beforeSave();
43 MockResponseConfig config = mockOperation.getConfig().addNewResponse();
44 config.set( mockResponse.getConfig().copy() );
45 config.setName( name );
46 WsdlMockResponse newResponse = mockOperation.addNewMockResponse( config );
47
48 UISupport.selectAndShow( newResponse );
49 }
50 }