1
2
3
4
5
6
7
8
9
10
11
12
13 package com.eviware.soapui.impl.wsdl.mock.dispatch;
14
15 import com.eviware.soapui.config.MockOperationDispatchStyleConfig;
16 import com.eviware.soapui.impl.wsdl.mock.WsdlMockOperation;
17
18 import java.util.HashMap;
19 import java.util.Map;
20
21 public class MockOperationDispatchRegistry
22 {
23 private static Map<String, MockOperationDispatchFactory> factories = new HashMap<String, MockOperationDispatchFactory>();
24
25 static
26 {
27 putFactory( MockOperationDispatchStyleConfig.SEQUENCE.toString(), new SequenceMockOperationDispatcher.Factory() );
28 putFactory( MockOperationDispatchStyleConfig.RANDOM.toString(), new RandomMockOperationDispatcher.Factory() );
29 putFactory( MockOperationDispatchStyleConfig.SCRIPT.toString(), new ScriptMockOperationDispatcher.Factory() );
30 putFactory( MockOperationDispatchStyleConfig.XPATH.toString(), new XPathMockOperationDispatcher.Factory() );
31 putFactory( MockOperationDispatchStyleConfig.QUERY_MATCH.toString(), new QueryMatchMockOperationDispatcher.Factory() );
32 }
33
34 public static void putFactory( String type, MockOperationDispatchFactory factory )
35 {
36 factories.put( type, factory );
37 }
38
39 public static String[] getDispatchTypes()
40 {
41 return factories.keySet().toArray( new String[factories.size()] );
42 }
43
44 public static MockOperationDispatcher buildDispatcher( String type, WsdlMockOperation mockOperation )
45 {
46 return factories.get( type ).build( mockOperation );
47 }
48 }