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.Request;
24 import org.opensaml.xml.validation.ValidationException;
25
26
27
28
29 public class RequestSchemaValidator extends RequestAbstractTypeSchemaValidator<Request> {
30
31
32 public void validate(Request request) throws ValidationException {
33 super.validate(request);
34 validateAssertion(request);
35 }
36
37
38
39
40
41
42
43
44
45 protected void validateAssertion(Request request) throws ValidationException {
46 if (request.getQuery() != null) {
47 if (request.getAssertionArtifacts().size() != 0) {
48 throw new ValidationException("Both Query and one or more AssertionAtrifacts present");
49 }
50 if (request.getAssertionIDReferences().size() != 0) {
51 throw new ValidationException("Both Query and one ore more AsertionIDReferences present");
52 }
53 } else if (request.getAssertionArtifacts().size() != 0) {
54 if (request.getAssertionIDReferences().size() != 0) {
55 throw new ValidationException(
56 "Both one or more AssertionAtrifacts and one ore more AsertionIDReferences present");
57 }
58 } else if (request.getAssertionIDReferences().size() == 0) {
59 throw new ValidationException("No AssertionAtrifacts, No Query, and No AsertionIDReferences present");
60 }
61 }
62 }