View Javadoc

1   /*
2    *  soapUI Pro, copyright (C) 2007 eviware software ab 
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  }