1
2
3
4
5
6
7
8
9
10
11
12
13 package com.eviware.soapui.impl.wsdl.mock.dispatch;
14
15 import java.util.HashMap;
16 import java.util.Map;
17
18 import com.eviware.soapui.config.MockOperationDispatchStyleConfig;
19 import com.eviware.soapui.impl.wsdl.mock.WsdlMockOperation;
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(),
32 new QueryMatchMockOperationDispatcher.Factory() );
33 }
34
35 public static void putFactory( String type, MockOperationDispatchFactory factory )
36 {
37 factories.put( type, factory );
38 }
39
40 public static String[] getDispatchTypes()
41 {
42 return factories.keySet().toArray( new String[factories.size()] );
43 }
44
45 public static MockOperationDispatcher buildDispatcher( String type, WsdlMockOperation mockOperation )
46 {
47 return factories.get( type ).build( mockOperation );
48 }
49 }