1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.openehealth.ipf.commons.ihe.xds.core.transform.requests.query;
17
18 import static org.openehealth.ipf.commons.ihe.xds.core.transform.requests.QueryParameter.*;
19
20 import org.openehealth.ipf.commons.ihe.xds.core.ebxml.EbXMLAdhocQueryRequest;
21 import org.openehealth.ipf.commons.ihe.xds.core.requests.query.GetFolderAndContentsQuery;
22
23
24
25
26
27 public class GetFolderAndContentsQueryTransformer extends GetByIDAndCodesQueryTransformer<GetFolderAndContentsQuery> {
28
29
30
31 public GetFolderAndContentsQueryTransformer() {
32 super(FOLDER_UUID,
33 FOLDER_UNIQUE_ID,
34 DOC_ENTRY_FORMAT_CODE,
35 DOC_ENTRY_FORMAT_CODE_SCHEME,
36 DOC_ENTRY_CONFIDENTIALITY_CODE,
37 DOC_ENTRY_CONFIDENTIALITY_CODE_SCHEME);
38 }
39
40 @Override
41 public void toEbXML(GetFolderAndContentsQuery query, EbXMLAdhocQueryRequest ebXML) {
42 if (query == null || ebXML == null) {
43 return;
44 }
45
46 super.toEbXML(query, ebXML);
47 QuerySlotHelper slots = new QuerySlotHelper(ebXML);
48 slots.fromDocumentEntryType(DOC_ENTRY_TYPE, query.getDocumentEntryTypes());
49 slots.fromStatus(ASSOCIATION_STATUS, query.getAssociationStatuses());
50 slots.fromInteger(METADATA_LEVEL, query.getMetadataLevel());
51 }
52
53 @Override
54 public void fromEbXML(GetFolderAndContentsQuery query, EbXMLAdhocQueryRequest ebXML) {
55 if (query == null || ebXML == null) {
56 return;
57 }
58
59 super.fromEbXML(query, ebXML);
60 QuerySlotHelper slots = new QuerySlotHelper(ebXML);
61 query.setDocumentEntryTypes(slots.toDocumentEntryType(DOC_ENTRY_TYPE));
62 query.setAssociationStatuses(slots.toStatus(ASSOCIATION_STATUS));
63 query.setMetadataLevel(slots.toInteger(METADATA_LEVEL));
64 }
65 }