1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.openehealth.ipf.platform.camel.ihe.xds;
17
18 import org.openehealth.ipf.commons.ihe.ws.*;
19 import org.openehealth.ipf.commons.ihe.xds.core.audit.XdsAuditDataset;
20 import org.openehealth.ipf.platform.camel.ihe.ws.AbstractWebService;
21 import org.openehealth.ipf.platform.camel.ihe.ws.AbstractWsComponent;
22 import org.openehealth.ipf.platform.camel.ihe.ws.AbstractWsEndpoint;
23
24 import java.util.Map;
25
26
27
28
29
30
31
32 public abstract class XdsEndpoint<AuditDatasetType extends XdsAuditDataset>
33 extends AbstractWsEndpoint<AuditDatasetType, WsTransactionConfiguration<AuditDatasetType>> {
34
35 protected XdsEndpoint(
36 String endpointUri,
37 String address,
38 AbstractWsComponent<AuditDatasetType, WsTransactionConfiguration<AuditDatasetType>, ? extends WsInteractionId<WsTransactionConfiguration<AuditDatasetType>>> component,
39 Map<String, Object> parameters, Class<? extends AbstractWebService> serviceClass) {
40 super(endpointUri, address, component, parameters, serviceClass);
41 }
42
43 @Override
44 public JaxWsClientFactory<AuditDatasetType> getJaxWsClientFactory() {
45 return new JaxWsRequestClientFactory<>(
46 getComponent().getWsTransactionConfiguration(),
47 getServiceUrl(),
48 isAudit() ? getClientAuditStrategy() : null,
49 getAuditContext(),
50 getCustomInterceptors(),
51 getFeatures(),
52 getProperties(),
53 getCorrelator());
54 }
55
56
57 @Override
58 public JaxWsServiceFactory<AuditDatasetType> getJaxWsServiceFactory() {
59 return new JaxWsRequestServiceFactory<>(
60 getComponent().getWsTransactionConfiguration(),
61 getServiceAddress(),
62 isAudit() ? getComponent().getServerAuditStrategy() : null,
63 getAuditContext(),
64 getCustomInterceptors(),
65 getRejectionHandlingStrategy());
66 }
67 }