1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.openehealth.ipf.commons.ihe.xds.core.ebxml.ebxml30;
17
18 import static org.apache.commons.lang3.Validate.notNull;
19
20 import java.util.ArrayList;
21 import java.util.List;
22
23 import org.openehealth.ipf.commons.ihe.xds.core.ebxml.EbXMLNonconstructiveDocumentSetRequest;
24 import org.openehealth.ipf.commons.ihe.xds.core.ebxml.ebxml30.RetrieveDocumentSetRequestType.DocumentRequest;
25 import org.openehealth.ipf.commons.ihe.xds.core.requests.DocumentReference;
26
27
28
29
30
31 public class EbXMLNonconstructiveDocumentSetRequest30<T extends RetrieveDocumentSetRequestType> implements EbXMLNonconstructiveDocumentSetRequest {
32 private final T request;
33
34
35
36
37
38
39 public EbXMLNonconstructiveDocumentSetRequest30(T request) {
40 notNull(request, "request cannot be null");
41 this.request = request;
42 }
43
44 @Override
45 public T getInternal() {
46 return request;
47 }
48
49 @Override
50 public List<DocumentReference> getDocuments() {
51 List<DocumentReference> docs = new ArrayList<>();
52 for (DocumentRequest documentRequest : request.getDocumentRequest()) {
53 DocumentReference doc = new DocumentReference();
54 doc.setDocumentUniqueId(documentRequest.getDocumentUniqueId());
55 doc.setHomeCommunityId(documentRequest.getHomeCommunityId());
56 doc.setRepositoryUniqueId(documentRequest.getRepositoryUniqueId());
57 docs.add(doc);
58 }
59 return docs;
60 }
61
62 @Override
63 public void setDocuments(List<DocumentReference> documents) {
64 request.getDocumentRequest().clear();
65 if (documents != null) {
66 for (DocumentReference doc : documents) {
67 DocumentRequest documentRequest = new DocumentRequest();
68 documentRequest.setDocumentUniqueId(doc.getDocumentUniqueId());
69 documentRequest.setHomeCommunityId(doc.getHomeCommunityId());
70 documentRequest.setRepositoryUniqueId(doc.getRepositoryUniqueId());
71 request.getDocumentRequest().add(documentRequest);
72 }
73 }
74 }
75 }