1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 package org.opensaml.saml2.metadata.validator;
22
23 import org.opensaml.saml2.metadata.SSODescriptor;
24 import org.opensaml.xml.util.DatatypeHelper;
25 import org.opensaml.xml.validation.ValidationException;
26
27
28
29
30 public class SSODescriptorSpecValidator<SSODescriptorType extends SSODescriptor> extends RoleDescriptorSpecValidator<SSODescriptorType> {
31
32
33 public SSODescriptorSpecValidator() {
34
35 }
36
37
38 public void validate(SSODescriptorType ssoDescriptor) throws ValidationException {
39 validateResponseLocation(ssoDescriptor);
40 super.validate(ssoDescriptor);
41 }
42
43
44
45
46
47
48
49 protected void validateResponseLocation(SSODescriptor ssoDescriptor) throws ValidationException {
50 if (ssoDescriptor.getArtifactResolutionServices() != null
51 && ssoDescriptor.getArtifactResolutionServices().size() > 0) {
52 for (int i = 0; i < ssoDescriptor.getArtifactResolutionServices().size(); i++) {
53 if (!DatatypeHelper.isEmpty(ssoDescriptor.getArtifactResolutionServices().get(i).getResponseLocation())) {
54 throw new ValidationException("ResponseLocation of all ArtificatResolutionServices must be null");
55 }
56 }
57 }
58 }
59 }