View Javadoc

1   /*
2    *  soapUI, copyright (C) 2004-2010 eviware.com 
3    *
4    *  soapUI is free software; you can redistribute it and/or modify it under the 
5    *  terms of version 2.1 of the GNU Lesser General Public License as published by 
6    *  the Free Software Foundation.
7    *
8    *  soapUI is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without 
9    *  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.support.dnd.handlers;
14  
15  import com.eviware.soapui.SoapUI;
16  import com.eviware.soapui.impl.wsdl.actions.mockresponse.AddMockResponseToTestCaseAction;
17  import com.eviware.soapui.impl.wsdl.mock.WsdlMockResponse;
18  import com.eviware.soapui.model.tree.nodes.support.WsdlTestStepsModelItem;
19  import com.eviware.soapui.support.action.SoapUIAction;
20  
21  public class MockResponseToTestStepsDropHandler extends
22  		AbstractAfterModelItemDropHandler<WsdlMockResponse, WsdlTestStepsModelItem>
23  {
24  	public MockResponseToTestStepsDropHandler()
25  	{
26  		super( WsdlMockResponse.class, WsdlTestStepsModelItem.class );
27  	}
28  
29  	@Override
30  	boolean canCopyAfter( WsdlMockResponse source, WsdlTestStepsModelItem target )
31  	{
32  		return source.getMockOperation().getMockService().getProject() == target.getTestCase().getTestSuite()
33  				.getProject();
34  	}
35  
36  	@Override
37  	boolean canMoveAfter( WsdlMockResponse source, WsdlTestStepsModelItem target )
38  	{
39  		return canCopyAfter( source, target );
40  	}
41  
42  	@Override
43  	boolean copyAfter( WsdlMockResponse source, WsdlTestStepsModelItem target )
44  	{
45  		SoapUIAction<WsdlMockResponse> action = SoapUI.getActionRegistry().getAction(
46  				AddMockResponseToTestCaseAction.SOAPUI_ACTION_ID );
47  		AddMockResponseToTestCaseAction a = ( AddMockResponseToTestCaseAction )action;
48  
49  		a.addMockResponseToTestCase( source, target.getTestCase(), 0 );
50  		return true;
51  	}
52  
53  	@Override
54  	boolean moveAfter( WsdlMockResponse source, WsdlTestStepsModelItem target )
55  	{
56  		return copyAfter( source, target );
57  	}
58  
59  	@Override
60  	String getCopyAfterInfo( WsdlMockResponse source, WsdlTestStepsModelItem target )
61  	{
62  		return "Add MockResponse TestStep to beginning of TestCase [" + target.getName() + "]";
63  	}
64  
65  	@Override
66  	String getMoveAfterInfo( WsdlMockResponse source, WsdlTestStepsModelItem target )
67  	{
68  		return getCopyAfterInfo( source, target );
69  	}
70  }