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.RequestAbstractType;
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 RequestAbstractTypeSchemaValidator<RequestType extends RequestAbstractType> implements Validator<RequestType> {
32
33
34 public void validate(RequestType requestAbstractType) throws ValidationException {
35 validateVersion(requestAbstractType);
36
37 validateID(requestAbstractType);
38
39 validateIssueInstant(requestAbstractType);
40 }
41
42
43
44
45
46
47
48 protected void validateVersion(RequestAbstractType request) throws ValidationException {
49 if ((request.getMajorVersion() != 1) && (request.getMinorVersion() != 0 || request.getMinorVersion() != 1)) {
50 throw new ValidationException("Invalid Version");
51 }
52 }
53
54
55
56
57
58
59
60 protected void validateID(RequestAbstractType request) throws ValidationException {
61 if (DatatypeHelper.isEmpty(request.getID())) {
62 throw new ValidationException("RequestID is null, empty or whitespace");
63 }
64 }
65
66
67
68
69
70
71
72 protected void validateIssueInstant(RequestAbstractType request) throws ValidationException {
73 if (request.getIssueInstant() == null) {
74 throw new ValidationException("No IssueInstant attribute present");
75 }
76 }
77 }