1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.openehealth.ipf.platform.camel.ihe.xds.iti38;
17
18 import org.apache.camel.Endpoint;
19 import org.openehealth.ipf.commons.ihe.ws.JaxWsClientFactory;
20 import org.openehealth.ipf.commons.ihe.ws.WsTransactionConfiguration;
21 import org.openehealth.ipf.commons.ihe.xds.core.audit.XdsQueryAuditDataset;
22 import org.openehealth.ipf.commons.ihe.xds.core.stub.ebrs30.query.AdhocQueryRequest;
23 import org.openehealth.ipf.commons.ihe.xds.core.stub.ebrs30.query.AdhocQueryResponse;
24 import org.openehealth.ipf.platform.camel.ihe.ws.AbstractWebService;
25 import org.openehealth.ipf.platform.camel.ihe.ws.AbstractWsEndpoint;
26 import org.openehealth.ipf.platform.camel.ihe.ws.AbstractWsProducer;
27 import org.openehealth.ipf.platform.camel.ihe.ws.SimpleWsProducer;
28 import org.openehealth.ipf.platform.camel.ihe.xds.XdsComponent;
29 import org.openehealth.ipf.platform.camel.ihe.xds.XdsEndpoint;
30
31 import java.util.Map;
32
33 import static org.openehealth.ipf.commons.ihe.xds.XCA.Interactions.ITI_38;
34
35
36
37
38 public class Iti38Component extends XdsComponent<XdsQueryAuditDataset> {
39
40
41 public Iti38Component() {
42 super(ITI_38);
43 }
44
45 @Override
46 protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) {
47 return new XdsEndpoint<XdsQueryAuditDataset>(uri, remaining, this, parameters, null) {
48 @Override
49 public AbstractWsProducer<XdsQueryAuditDataset, WsTransactionConfiguration<XdsQueryAuditDataset>, ?, ?> getProducer(AbstractWsEndpoint<XdsQueryAuditDataset, WsTransactionConfiguration<XdsQueryAuditDataset>> endpoint,
50 JaxWsClientFactory<XdsQueryAuditDataset> clientFactory) {
51 return new SimpleWsProducer<>(
52 endpoint, clientFactory, AdhocQueryRequest.class, AdhocQueryResponse.class);
53 }
54
55 @Override
56 protected AbstractWebService getCustomServiceInstance(AbstractWsEndpoint<XdsQueryAuditDataset, WsTransactionConfiguration<XdsQueryAuditDataset>> endpoint) {
57 return new Iti38Service(endpoint.getHomeCommunityId());
58 }
59 };
60 }
61
62
63 }