01: /*
02: * soapUI, copyright (C) 2004-2007 eviware.com
03: *
04: * soapUI is free software; you can redistribute it and/or modify it under the
05: * terms of version 2.1 of the GNU Lesser General Public License as published by
06: * the Free Software Foundation.
07: *
08: * soapUI is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without
09: * even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
10: * See the GNU Lesser General Public License for more details at gnu.org.
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
28: AbstractSoapUIAction<WsdlMockResponse> {
29: public CloneMockResponseAction() {
30: super ("Clone", "Clones this MockResponse");
31: }
32:
33: public void perform(WsdlMockResponse mockResponse, Object param) {
34: String name = UISupport.prompt(
35: "Specify name of cloned MockResponse", getName(),
36: "Copy of " + mockResponse.getName());
37: if (name == null)
38: return;
39:
40: WsdlMockOperation mockOperation = mockResponse
41: .getMockOperation();
42: mockOperation.onSave();
43: MockResponseConfig config = mockOperation.getConfig()
44: .addNewResponse();
45: config.set(mockResponse.getConfig().copy());
46: config.setName(name);
47: WsdlMockResponse newResponse = mockOperation
48: .addNewMockResponse(config);
49:
50: UISupport.selectAndShow(newResponse);
51: }
52: }
|