From 5ad57084cc5fff7f2037df28dab0b452d4bad7c7 Mon Sep 17 00:00:00 2001 From: Scott Battaglia Date: Sun, 6 Jan 2013 18:45:05 -0500 Subject: [PATCH] CASC-191 isValid method with simple implementation --- .../java/org/jasig/cas/client/validation/Assertion.java | 8 ++++++++ .../org/jasig/cas/client/validation/AssertionImpl.java | 9 +++++++++ 2 files changed, 17 insertions(+) diff --git a/cas-client-core/src/main/java/org/jasig/cas/client/validation/Assertion.java b/cas-client-core/src/main/java/org/jasig/cas/client/validation/Assertion.java index 1e835ee..1f51869 100644 --- a/cas-client-core/src/main/java/org/jasig/cas/client/validation/Assertion.java +++ b/cas-client-core/src/main/java/org/jasig/cas/client/validation/Assertion.java @@ -69,4 +69,12 @@ public interface Assertion extends Serializable { * @return the principal. */ AttributePrincipal getPrincipal(); + + /** + * Determines whether an Assertion is considered usable or not. A naive implementation may just check the date validity. + * + * @return true if its valid, false otherwise. + * @since 3.3.0 (though in 3.3.0, no one actually calls this) + */ + boolean isValid(); } diff --git a/cas-client-core/src/main/java/org/jasig/cas/client/validation/AssertionImpl.java b/cas-client-core/src/main/java/org/jasig/cas/client/validation/AssertionImpl.java index c15a6e3..d2612e7 100644 --- a/cas-client-core/src/main/java/org/jasig/cas/client/validation/AssertionImpl.java +++ b/cas-client-core/src/main/java/org/jasig/cas/client/validation/AssertionImpl.java @@ -121,4 +121,13 @@ public final class AssertionImpl implements Assertion { public AttributePrincipal getPrincipal() { return this.principal; } + + public boolean isValid() { + if (this.validFromDate == null) { + return true; + } + + final Date now = new Date(); + return this.validFromDate.before(now) && (this.validUntilDate == null || this.validUntilDate.after(now)); + } }