View Javadoc

1   /*
2    *  soapUI, copyright (C) 2004-2009 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.teststeps.WsdlTestStep;
17  
18  public class TestStepToTestStepDropHandler extends AbstractBeforeAfterModelItemDropHandler<WsdlTestStep, WsdlTestStep>
19  {
20  	public TestStepToTestStepDropHandler()
21  	{
22  		super( WsdlTestStep.class, WsdlTestStep.class );
23  	}
24  
25  	boolean copyAfter( WsdlTestStep source, WsdlTestStep target )
26  	{
27  		return DragAndDropSupport.copyTestStep( source, target.getTestCase(), target.getTestCase().getIndexOfTestStep(
28  				target ) + 1 );
29  	}
30  
31  	boolean moveAfter( WsdlTestStep source, WsdlTestStep target )
32  	{
33  		return DragAndDropSupport.moveTestStep( source, target.getTestCase(), target.getTestCase().getIndexOfTestStep(
34  				target ) + 1 );
35  	}
36  
37  	@Override
38  	boolean canCopyAfter( WsdlTestStep source, WsdlTestStep target )
39  	{
40  		return !SoapUI.getTestMonitor().hasRunningTest( target.getTestCase() );
41  	}
42  
43  	@Override
44  	boolean canMoveAfter( WsdlTestStep source, WsdlTestStep target )
45  	{
46  		return source != target;
47  	}
48  
49  	@Override
50  	String getCopyAfterInfo( WsdlTestStep source, WsdlTestStep target )
51  	{
52  		return source.getTestCase() == target.getTestCase() ? "Copy TestStep [" + source.getName()
53  				+ "] within TestCase [" + target.getTestCase().getName() + "]" : "Copy TestStep [" + source.getName()
54  				+ "] to TestCase [" + target.getTestCase().getName() + "]";
55  	}
56  
57  	@Override
58  	String getMoveAfterInfo( WsdlTestStep source, WsdlTestStep target )
59  	{
60  		return source.getTestCase() == target.getTestCase() ? "Move TestStep [" + source.getName()
61  				+ "] within TestCase [" + target.getTestCase().getName() + "]" : "Move TestStep [" + source.getName()
62  				+ "] to TestCase [" + target.getTestCase().getName() + "]";
63  	}
64  
65  	@Override
66  	boolean canCopyBefore( WsdlTestStep source, WsdlTestStep target )
67  	{
68  		return true;
69  	}
70  
71  	@Override
72  	boolean canMoveBefore( WsdlTestStep source, WsdlTestStep target )
73  	{
74  		return source != target;
75  	}
76  
77  	@Override
78  	boolean copyBefore( WsdlTestStep source, WsdlTestStep target )
79  	{
80  		return DragAndDropSupport.copyTestStep( source, target.getTestCase(), target.getTestCase().getIndexOfTestStep(
81  				target ) );
82  	}
83  
84  	@Override
85  	String getCopyBeforeInfo( WsdlTestStep source, WsdlTestStep target )
86  	{
87  		return getCopyAfterInfo( source, target );
88  	}
89  
90  	@Override
91  	String getMoveBeforeInfo( WsdlTestStep source, WsdlTestStep target )
92  	{
93  		return getMoveAfterInfo( source, target );
94  	}
95  
96  	@Override
97  	boolean moveBefore( WsdlTestStep source, WsdlTestStep target )
98  	{
99  		return DragAndDropSupport.moveTestStep( source, target.getTestCase(), target.getTestCase().getIndexOfTestStep(
100 				target ) );
101 	}
102 }