View Javadoc

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