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 import org.openehealth.ipf.platform.camel.ihe.ws.AbstractWsProducer;
24
25 import java.util.Map;
26
27
28
29
30
31
32
33 public class XdsAsyncResponseEndpoint<AuditDatasetType extends XdsAuditDataset> extends AbstractWsEndpoint<AuditDatasetType, WsTransactionConfiguration<AuditDatasetType>> {
34
35 public XdsAsyncResponseEndpoint(
36 String endpointUri,
37 String address,
38 AbstractWsComponent<AuditDatasetType, WsTransactionConfiguration<AuditDatasetType>, ? extends WsInteractionId<WsTransactionConfiguration<AuditDatasetType>>> component,
39 Map<String, Object> parameters,
40 Class<? extends AbstractWebService> serviceClass) {
41 super(endpointUri, address, component, parameters, serviceClass);
42 }
43
44 @Override
45 public JaxWsClientFactory<AuditDatasetType> getJaxWsClientFactory() {
46 return null;
47 }
48
49
50 @Override
51 public JaxWsServiceFactory<AuditDatasetType> getJaxWsServiceFactory() {
52 return new JaxWsAsyncResponseServiceFactory<>(
53 getComponent().getWsTransactionConfiguration(),
54 getServiceAddress(),
55 isAudit() ? getComponent().getServerAuditStrategy() : null,
56 getAuditContext(),
57 getCustomInterceptors(),
58 getCorrelator());
59 }
60
61 @Override
62 public AbstractWsProducer<AuditDatasetType, WsTransactionConfiguration<AuditDatasetType>, ?, ?> getProducer(AbstractWsEndpoint<AuditDatasetType, WsTransactionConfiguration<AuditDatasetType>> endpoint,
63 JaxWsClientFactory<AuditDatasetType> clientFactory) {
64 throw new IllegalStateException("No producer support for asynchronous response endpoints");
65 }
66 }