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.AffiliationDescriptor;
24 import org.opensaml.xml.util.DatatypeHelper;
25 import org.opensaml.xml.validation.ValidationException;
26 import org.opensaml.xml.validation.Validator;
27
28
29
30
31 public class AffiliationDescriptorSchemaValidator implements Validator<AffiliationDescriptor> {
32
33
34 public AffiliationDescriptorSchemaValidator() {
35
36 }
37
38
39 public void validate(AffiliationDescriptor affiliationDescriptor) throws ValidationException {
40 validateOwner(affiliationDescriptor);
41 validateMember(affiliationDescriptor);
42 }
43
44
45
46
47
48
49
50 protected void validateOwner(AffiliationDescriptor affiliationDescriptor) throws ValidationException {
51 if (DatatypeHelper.isEmpty(affiliationDescriptor.getOwnerID())) {
52 throw new ValidationException("Owner ID required.");
53 } else if (affiliationDescriptor.getOwnerID().length() > 1024) {
54 throw new ValidationException("Max Owner ID length is 1024.");
55 }
56 }
57
58
59
60
61
62
63
64 protected void validateMember(AffiliationDescriptor affiliationDescriptor) throws ValidationException {
65 if (affiliationDescriptor.getMembers() == null || affiliationDescriptor.getMembers().size() < 1) {
66 throw new ValidationException("Must have one or more Affiliation Members.");
67 }
68 }
69 }