1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.kuali.rice.ksb.messaging.serviceexporters;
17
18
19 import org.apache.cxf.Bus;
20 import org.apache.cxf.endpoint.ServerRegistry;
21 import org.kuali.rice.ksb.api.bus.ServiceDefinition;
22 import org.kuali.rice.ksb.api.bus.support.JavaServiceDefinition;
23 import org.kuali.rice.ksb.api.bus.support.RestServiceDefinition;
24 import org.kuali.rice.ksb.api.bus.support.SoapServiceDefinition;
25
26
27
28
29
30 public class ServiceExporterFactory {
31
32 public static ServiceExporter getServiceExporter(ServiceDefinition serviceDefinition, Bus cxfBus, ServerRegistry cxfServerRegistry) {
33
34 if (serviceDefinition instanceof JavaServiceDefinition) {
35 return new HttpInvokerServiceExporter();
36 } else if (serviceDefinition instanceof SoapServiceDefinition) {
37 return new SOAPServiceExporter((SoapServiceDefinition)serviceDefinition, cxfBus, cxfServerRegistry);
38 } else if (serviceDefinition instanceof RestServiceDefinition) {
39 return new RESTServiceExporter((RestServiceDefinition)serviceDefinition, cxfBus, cxfServerRegistry);
40 }
41
42 throw new IllegalArgumentException("ServiceDefinition type not supported " + serviceDefinition);
43 }
44
45
46
47 }