1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.openehealth.ipf.commons.ihe.xds.core.audit;
17
18 import org.openehealth.ipf.commons.audit.AuditContext;
19 import org.openehealth.ipf.commons.ihe.xds.core.ebxml.ebxml30.RetrieveDocumentSetResponseType;
20 import org.openehealth.ipf.commons.ihe.xds.core.ebxml.ebxml30.RetrieveDocumentSetResponseType.DocumentResponse;
21 import org.openehealth.ipf.commons.ihe.xds.core.audit.XdsNonconstructiveDocumentSetRequestAuditDataset.Status;
22
23
24
25
26
27
28
29 public abstract class XdsRetrieveAuditStrategy30 extends XdsNonconstructiveDocumentSetRequestAuditStrategy30 {
30
31 public XdsRetrieveAuditStrategy30(boolean serverSide) {
32 super(serverSide);
33 }
34
35
36
37
38
39
40
41 @Override
42 public XdsNonconstructiveDocumentSetRequestAuditDataset createAuditDataset() {
43 XdsNonconstructiveDocumentSetRequestAuditDataset auditDataset = super.createAuditDataset();
44 auditDataset.setSourceUserIsRequestor(false);
45 return auditDataset;
46 }
47
48 @Override
49 public boolean enrichAuditDatasetFromResponse(XdsNonconstructiveDocumentSetRequestAuditDataset auditDataset, Object pojo, AuditContext auditContext) {
50 RetrieveDocumentSetResponseType response = (RetrieveDocumentSetResponseType) pojo;
51 if (response.getDocumentResponse() != null) {
52 for (DocumentResponse documentResponse : response.getDocumentResponse()) {
53 auditDataset.registerProcessedDocument(
54 documentResponse.getDocumentUniqueId(),
55 documentResponse.getRepositoryUniqueId(),
56 documentResponse.getHomeCommunityId());
57 }
58 }
59
60
61
62 String sourceUserId = auditDataset.getSourceUserId();
63 auditDataset.setSourceUserId(auditDataset.getDestinationUserId());
64 auditDataset.setDestinationUserId(sourceUserId);
65 return true;
66 }
67
68 @Override
69 public Status getDefaultDocumentStatus() {
70 return Status.NOT_SUCCESSFUL;
71 }
72
73 }