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