diff options
author | Bojan Suzic <bojan.suzic@iaik.tugraz.at> | 2014-02-03 17:40:25 +0100 |
---|---|---|
committer | Bojan Suzic <bojan.suzic@iaik.tugraz.at> | 2014-02-03 17:40:25 +0100 |
commit | d4d3d93cd9d6338cf1755eb1a0ce47bec7e4c109 (patch) | |
tree | 23d1dd40a01609e28244302fec01d1051b3e1b08 /id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/validator/CustomAttributeQueryValidator.java | |
parent | 2dc4a2ddfcc9b024cd9836da6792414a85bf60c9 (diff) | |
parent | 85fb1aa44b7b3d744d3dc210669f0569b49b2b64 (diff) | |
download | moa-id-spss-d4d3d93cd9d6338cf1755eb1a0ce47bec7e4c109.tar.gz moa-id-spss-d4d3d93cd9d6338cf1755eb1a0ce47bec7e4c109.tar.bz2 moa-id-spss-d4d3d93cd9d6338cf1755eb1a0ce47bec7e4c109.zip |
merge
Diffstat (limited to 'id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/validator/CustomAttributeQueryValidator.java')
-rw-r--r-- | id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/validator/CustomAttributeQueryValidator.java | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/validator/CustomAttributeQueryValidator.java b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/validator/CustomAttributeQueryValidator.java new file mode 100644 index 000000000..beceac57f --- /dev/null +++ b/id/server/stork2-saml-engine/src/main/java/eu/stork/peps/auth/engine/core/validator/CustomAttributeQueryValidator.java @@ -0,0 +1,57 @@ +package eu.stork.peps.auth.engine.core.validator;
+
+import java.util.List;
+
+import org.opensaml.saml2.common.Extensions;
+import org.opensaml.saml2.core.SubjectQuery;
+import org.opensaml.xml.XMLObject;
+import org.opensaml.xml.util.DatatypeHelper;
+import org.opensaml.xml.validation.ValidationException;
+import org.opensaml.xml.validation.Validator;
+
+import eu.stork.peps.auth.engine.core.CustomAttributeQuery;
+import eu.stork.peps.auth.engine.core.QAAAttribute;
+
+public class CustomAttributeQueryValidator implements Validator<CustomAttributeQuery> {
+
+ /*
+ * Validate action.
+ *
+ * @param qaa the quality authentication assurance level attribute
+ *
+ * @throws ValidationException the validation exception
+ */
+ public final void validate(final CustomAttributeQuery attrQuery) throws ValidationException {
+ validateAssertion(attrQuery);
+ validateSubject(attrQuery);
+ validateDestination(attrQuery);
+ }
+
+
+ /**
+ * Validate assertion.
+ *
+ * @param attrQuery the attribute query
+ *
+ * @throws ValidationException the validation exception
+ */
+ protected final void validateAssertion(final CustomAttributeQuery attrQuery)
+ throws ValidationException {
+ if (DatatypeHelper.isEmpty(attrQuery.getAssertionConsumerServiceURL())) {
+ throw new ValidationException("Consumer Service URL must be specified.");
+ }
+ }
+
+ //Validate subject
+ protected void validateSubject(CustomAttributeQuery query) throws ValidationException {
+ if (query.getSubject() == null)
+ throw new ValidationException("Subject is required");
+ }
+
+ //Validate destination
+ protected void validateDestination(CustomAttributeQuery query) throws ValidationException {
+ if (query.getDestination() == null)
+ throw new ValidationException("Destination is required");
+ }
+
+}
|