1
2
3
4
5
6
7
8
9
10
11
12
13 package com.eviware.soapui.support.dnd.handlers;
14
15 import com.eviware.soapui.SoapUI;
16 import com.eviware.soapui.impl.wsdl.WsdlRequest;
17 import com.eviware.soapui.impl.wsdl.actions.request.AddRequestToMockServiceAction;
18 import com.eviware.soapui.impl.wsdl.mock.WsdlMockOperation;
19 import com.eviware.soapui.support.UISupport;
20 import com.eviware.soapui.support.action.SoapUIAction;
21
22 public class RequestToMockOperationDropHandler extends AbstractAfterModelItemDropHandler<WsdlRequest, WsdlMockOperation>
23 {
24 public RequestToMockOperationDropHandler()
25 {
26 super( WsdlRequest.class, WsdlMockOperation.class );
27 }
28
29 @Override
30 boolean canCopyAfter( WsdlRequest source, WsdlMockOperation target )
31 {
32 return source.getOperation() == target.getOperation();
33 }
34
35 @Override
36 boolean canMoveAfter( WsdlRequest source, WsdlMockOperation target )
37 {
38 return source.getOperation() == target.getOperation();
39 }
40
41 @Override
42 boolean copyAfter( WsdlRequest source, WsdlMockOperation target )
43 {
44 return addRequestToMockOperation( source, target );
45 }
46
47 private boolean addRequestToMockOperation( WsdlRequest request, WsdlMockOperation mockOperation )
48 {
49 if( !UISupport.confirm( "Add request to MockOperation [" + mockOperation.getName() + "]", "Add Request" ))
50 return false;
51
52 SoapUIAction<WsdlRequest> action = SoapUI.getActionRegistry().getAction( AddRequestToMockServiceAction.SOAPUI_ACTION_ID );
53 ((AddRequestToMockServiceAction)action).perform( request, mockOperation );
54 return true;
55 }
56
57 @Override
58 boolean moveAfter( WsdlRequest source, WsdlMockOperation target )
59 {
60 return addRequestToMockOperation( source, target );
61 }
62
63 @Override
64 String getCopyAfterInfo( WsdlRequest source, WsdlMockOperation target )
65 {
66 return "Add Request [" + source.getName() + "] to MockOperation [" + target.getName() + "]";
67 }
68
69 @Override
70 String getMoveAfterInfo( WsdlRequest source, WsdlMockOperation target )
71 {
72 return getCopyAfterInfo( source, target );
73 }
74 }