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.RoleDescriptor;
24 import org.opensaml.xml.validation.ValidationException;
25 import org.opensaml.xml.validation.Validator;
26
27
28
29
30 public class RoleDescriptorSpecValidator<RoleDescriptorType extends RoleDescriptor> implements Validator<RoleDescriptorType> {
31
32
33 public RoleDescriptorSpecValidator() {
34
35 }
36
37
38 public void validate(RoleDescriptorType roleDescriptor) throws ValidationException {
39 validateProtocols(roleDescriptor);
40 }
41
42
43
44
45
46
47
48 protected void validateProtocols(RoleDescriptor roleDescriptor) throws ValidationException {
49 boolean saml = false;
50 for (int i = 0; i < roleDescriptor.getSupportedProtocols().size(); i++) {
51 if (roleDescriptor.getSupportedProtocols().get(i).equals("urn:oasis:names:tc:SAML:2.0:protocol")) {
52 saml = true;
53 }
54 }
55 if (!saml) {
56 throw new ValidationException("SupportedProtocols must contain 'urn:oasis:names:tc:SAML:2.0:protocol'");
57 }
58 }
59 }