1
2
3
4
5
6
7
8
9
10
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.WsdlProject;
18 import com.eviware.soapui.impl.wsdl.actions.mockservice.CloneMockServiceAction;
19 import com.eviware.soapui.impl.wsdl.mock.WsdlMockService;
20 import com.eviware.soapui.support.UISupport;
21 import com.eviware.soapui.support.action.SoapUIAction;
22
23 public class MockServiceToProjectDropHandler extends AbstractAfterModelItemDropHandler<WsdlMockService, WsdlProject>
24 {
25 public MockServiceToProjectDropHandler()
26 {
27 super( WsdlMockService.class, WsdlProject.class );
28 }
29
30 @Override
31 boolean canCopyAfter( WsdlMockService source, WsdlProject target )
32 {
33 return true;
34 }
35
36 @Override
37 boolean canMoveAfter( WsdlMockService source, WsdlProject target )
38 {
39 return source.getProject() != target;
40 }
41
42 @Override
43 boolean copyAfter( WsdlMockService source, WsdlProject target )
44 {
45 SoapUIAction<WsdlMockService> action = SoapUI.getActionRegistry().getAction( CloneMockServiceAction.SOAPUI_ACTION_ID );
46 CloneMockServiceAction a = ( CloneMockServiceAction ) action;
47
48 String name = UISupport.prompt( "Specify name for copied MockService", "Copy MockService", "Copy of " + source.getName() );
49 if( name == null )
50 return false;
51
52 if( source.getProject() == target )
53 {
54 a.cloneMockServiceWithinProject( source, name, target );
55 }
56 else
57 {
58 a.cloneToAnotherProject( source, target.getName(), name );
59 }
60
61 return true;
62 }
63
64 @Override
65 boolean moveAfter( WsdlMockService source, WsdlProject target )
66 {
67 SoapUIAction<WsdlMockService> action = SoapUI.getActionRegistry().getAction( CloneMockServiceAction.SOAPUI_ACTION_ID );
68 CloneMockServiceAction a = ( CloneMockServiceAction ) action;
69
70 String name = UISupport.prompt( "Specify name for moved MockService", "Move MockService", source.getName() );
71 if( name == null )
72 return false;
73
74 if( a.cloneToAnotherProject( source, target.getName(), name ) == null )
75 return false;
76
77 source.getProject().removeMockService( source );
78 return true;
79 }
80
81 @Override
82 String getCopyAfterInfo( WsdlMockService source, WsdlProject target )
83 {
84 return "Copy MockService [" + source.getName() + "] to Project [" + target.getName() + "]";
85 }
86
87 @Override
88 String getMoveAfterInfo( WsdlMockService source, WsdlProject target )
89 {
90 return "Move MockService [" + source.getName() + "] to Project [" + target.getName() + "]";
91 }
92
93
94 }