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.core.validator;
22
23 import org.opensaml.saml2.core.AuthzDecisionStatement;
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 AuthzDecisionStatementSchemaValidator implements Validator<AuthzDecisionStatement> {
32
33
34 public AuthzDecisionStatementSchemaValidator() {
35
36 }
37
38
39 public void validate(AuthzDecisionStatement authzDS) throws ValidationException {
40 validateResource(authzDS);
41 validateDecision(authzDS);
42 validateActions(authzDS);
43 }
44
45
46
47
48
49
50
51 protected void validateResource(AuthzDecisionStatement authzDS) throws ValidationException {
52 if (DatatypeHelper.isEmpty(authzDS.getResource())) {
53 throw new ValidationException("Resource required");
54 }
55 }
56
57
58
59
60
61
62
63 protected void validateDecision(AuthzDecisionStatement authzDS) throws ValidationException {
64 if (authzDS.getDecision() == null) {
65 throw new ValidationException("Decision required");
66 }
67 }
68
69
70
71
72
73
74
75 protected void validateActions(AuthzDecisionStatement authzDS) throws ValidationException {
76 if (authzDS.getActions() == null || authzDS.getActions().size() < 1) {
77 throw new ValidationException("One or more Actions required");
78 }
79 }
80 }