1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 package org.opensaml.saml1.core.validator;
22
23 import org.opensaml.saml1.core.AuthorizationDecisionStatement;
24 import org.opensaml.xml.util.DatatypeHelper;
25 import org.opensaml.xml.validation.ValidationException;
26
27
28
29
30 public class AuthorizationDecisionStatementSchemaValidator extends SubjectStatementSchemaValidator<AuthorizationDecisionStatement> {
31
32
33 public void validate(AuthorizationDecisionStatement authorizationDecisionStatement) throws ValidationException {
34 super.validate(authorizationDecisionStatement);
35
36 validateResource(authorizationDecisionStatement);
37
38 validateDecision(authorizationDecisionStatement);
39
40 validateActions(authorizationDecisionStatement);
41 }
42
43
44
45
46
47
48 protected void validateResource(AuthorizationDecisionStatement statement) throws ValidationException {
49 if (DatatypeHelper.isEmpty(statement.getResource())) {
50 throw new ValidationException("Resource attribute not present or invalid");
51 }
52 }
53
54
55
56
57
58
59 protected void validateDecision(AuthorizationDecisionStatement statement) throws ValidationException {
60 if (statement.getDecision() == null) {
61 throw new ValidationException("No Decision element present");
62 }
63 }
64
65
66
67
68
69
70 protected void validateActions(AuthorizationDecisionStatement statement) throws ValidationException {
71 if (statement.getActions().size() == 0) {
72 throw new ValidationException("No Action elements present");
73 }
74 }
75 }