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.AttributeConsumingService;
24 import org.opensaml.xml.validation.ValidationException;
25 import org.opensaml.xml.validation.Validator;
26
27
28
29
30 public class AttributeConsumingServiceSchemaValidator implements Validator<AttributeConsumingService> {
31
32
33 public AttributeConsumingServiceSchemaValidator() {
34
35 }
36
37
38 public void validate(AttributeConsumingService attributeConsumingService) throws ValidationException {
39 validateIndex(attributeConsumingService);
40 validateServiceNames(attributeConsumingService);
41 validateRequestedAttributes(attributeConsumingService);
42 }
43
44
45
46
47
48
49
50 protected void validateIndex(AttributeConsumingService attributeConsumingService) throws ValidationException {
51 if (attributeConsumingService.getIndex() < 0) {
52 throw new ValidationException("Index must be positive integer");
53 }
54 }
55
56
57
58
59
60
61
62 protected void validateServiceNames(AttributeConsumingService attributeConsumingService) throws ValidationException {
63 if (attributeConsumingService.getNames() == null || attributeConsumingService.getNames().size() == 0) {
64 throw new ValidationException("Must have one or more Service Names.");
65 }
66 }
67
68
69
70
71
72
73
74 protected void validateRequestedAttributes(AttributeConsumingService attributeConsumingService)
75 throws ValidationException {
76 if (attributeConsumingService.getRequestAttributes() == null
77 || attributeConsumingService.getRequestAttributes().size() == 0) {
78 throw new ValidationException("Must have one or more Requested Attributes.");
79 }
80 }
81 }