1
2
3
4
5
6
7
8
9
10
11
12
13 package com.eviware.soapui.model.tree.nodes;
14
15 import java.util.ArrayList;
16 import java.util.List;
17
18 import com.eviware.soapui.model.mock.MockOperation;
19 import com.eviware.soapui.model.mock.MockResponse;
20 import com.eviware.soapui.model.tree.AbstractModelItemTreeNode;
21 import com.eviware.soapui.model.tree.SoapUITreeModel;
22 import com.eviware.soapui.model.tree.SoapUITreeNode;
23
24 /***
25 * SoapUITreeNode for TestStep implementations
26 *
27 * @author Ole.Matzura
28 */
29
30 public class MockOperationTreeNode extends AbstractModelItemTreeNode<MockOperation>
31 {
32 private List<MockResponseTreeNode> mockResponseNodes = new ArrayList<MockResponseTreeNode>();
33
34 public MockOperationTreeNode( MockOperation mockOperation, SoapUITreeModel treeModel )
35 {
36 super( mockOperation, mockOperation.getMockService(), treeModel );
37
38 for( int c = 0; c < mockOperation.getMockResponseCount(); c++ )
39 {
40 MockResponse mockResponse = mockOperation.getMockResponseAt( c );
41 mockResponseNodes.add( new MockResponseTreeNode( mockResponse, getTreeModel() ) );
42 }
43
44 treeModel.mapModelItems( mockResponseNodes );
45 }
46
47 @Override
48 public void release()
49 {
50 super.release();
51
52 for( MockResponseTreeNode treeNode : mockResponseNodes )
53 treeNode.release();
54 }
55
56 public int getChildCount()
57 {
58 return mockResponseNodes.size();
59 }
60
61 public int getIndexOfChild( Object child )
62 {
63 return mockResponseNodes.indexOf( child );
64 }
65
66 public SoapUITreeNode getChildNode( int index )
67 {
68 return mockResponseNodes.get( index );
69 }
70
71 public void mockResponseAdded( MockResponse mockResponse )
72 {
73 MockResponseTreeNode treeNode = new MockResponseTreeNode( mockResponse, getTreeModel() );
74 mockResponseNodes.add( treeNode );
75 getTreeModel().notifyNodeInserted( treeNode );
76 }
77
78 public void mockResponseRemoved( MockResponse mockResponse )
79 {
80 SoapUITreeNode treeNode = getTreeModel().getTreeNode( mockResponse );
81 if( mockResponseNodes.contains( treeNode ) )
82 {
83 getTreeModel().notifyNodeRemoved( treeNode );
84 mockResponseNodes.remove( treeNode );
85 }
86 else
87 throw new RuntimeException( "Removing unkown mockResponse; " + mockResponse.getName() );
88 }
89 }