1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.openehealth.ipf.commons.ihe.xds.core.validate.requests;
17
18 import org.openehealth.ipf.commons.core.modules.api.Validator;
19 import org.openehealth.ipf.commons.ihe.xds.core.ebxml.EbXMLSubmitObjectsRequest;
20 import org.openehealth.ipf.commons.ihe.xds.core.metadata.Vocabulary;
21 import org.openehealth.ipf.commons.ihe.xds.core.validate.HomeCommunityIdValidator;
22 import org.openehealth.ipf.commons.ihe.xds.core.validate.ValidationProfile;
23 import org.openehealth.ipf.commons.ihe.xds.core.validate.XDSMetaDataException;
24
25 import static org.openehealth.ipf.commons.ihe.xds.XCMU.Interactions.CH_XCMU;
26
27
28
29
30
31 public class SubmitObjectsRequestValidator implements Validator<EbXMLSubmitObjectsRequest, ValidationProfile> {
32 private static final ObjectContainerValidator OBJECT_CONTAINER_VALIDATOR = new ObjectContainerValidator();
33
34
35
36
37
38
39
40
41 @Override
42 public void validate(EbXMLSubmitObjectsRequest request, ValidationProfile profile) {
43 OBJECT_CONTAINER_VALIDATOR.validate(request, profile);
44
45 HomeCommunityIdValidator homeCommunityIdValidator = new HomeCommunityIdValidator(profile == CH_XCMU);
46 homeCommunityIdValidator.validate(request.getSingleSlotValue(Vocabulary.SLOT_NAME_HOME_COMMUNITY_ID));
47 }
48 }