[java-opensaml COMMIT] in /trunk/opensaml-saml-impl/src: main/java/org/opensaml/saml/metadata/resolver/filter/impl/Re...
noreply at shibboleth.net
noreply at shibboleth.net
Wed Apr 2 04:58:24 EDT 2014
Author: rdw
Date: Wed Apr 2 04:58:23 2014
New Revision: 3755
URL: http://svn.shibboleth.net/view/java-opensaml?rev=3755&view=rev
Log:
IDP-389 Add a millisecond setter for the max validity, plus annotation. Allows spring to seamlessly convert ISO8601 into a long, and thus allows property replacement during config
Modified:
trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/filter/impl/RequiredValidUntilFilter.java
trunk/opensaml-saml-impl/src/test/java/org/opensaml/saml/metadata/resolver/filter/impl/RequiredValidUntilTest.java
Modified: trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/filter/impl/RequiredValidUntilFilter.java
URL: http://svn.shibboleth.net/view/java-opensaml/trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/filter/impl/RequiredValidUntilFilter.java?rev=3755&r1=3754&r2=3755&view=diff
==============================================================================
--- trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/filter/impl/RequiredValidUntilFilter.java (original)
+++ trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/filter/impl/RequiredValidUntilFilter.java Wed Apr 2 04:58:23 2014
@@ -16,6 +16,8 @@
*/
package org.opensaml.saml.metadata.resolver.filter.impl;
+
+import net.shibboleth.utilities.java.support.annotation.Duration;
import org.joda.time.DateTime;
import org.joda.time.chrono.ISOChronology;
@@ -41,7 +43,7 @@
private final Logger log = LoggerFactory.getLogger(RequiredValidUntilFilter.class);
/** The maximum interval, in milliseconds, between now and the <code>validUntil</code> date. */
- private long maxValidityInterval;
+ @Duration private long maxValidityInterval;
/** Constructor. */
public RequiredValidUntilFilter() {
@@ -66,8 +68,19 @@
public long getMaxValidityInterval() {
return maxValidityInterval;
}
+
+ /**
+ * Sets the maximum internal, in milliseconds, between now and the <code>validUntil</code> date.
+ * A value of less than 1 indicates that there is no restriction.
+ *
+ * @param validity time in milliseconds between now and the <code>validUntil</code> date
+ */
+ public void setMaxValidityInterval(@Duration long validity) {
+ maxValidityInterval = validity;
+ }
/** {@inheritDoc} */
+ @Override
public XMLObject filter(XMLObject metadata) throws FilterException {
if (metadata == null) {
return null;
Modified: trunk/opensaml-saml-impl/src/test/java/org/opensaml/saml/metadata/resolver/filter/impl/RequiredValidUntilTest.java
URL: http://svn.shibboleth.net/view/java-opensaml/trunk/opensaml-saml-impl/src/test/java/org/opensaml/saml/metadata/resolver/filter/impl/RequiredValidUntilTest.java?rev=3755&r1=3754&r2=3755&view=diff
==============================================================================
--- trunk/opensaml-saml-impl/src/test/java/org/opensaml/saml/metadata/resolver/filter/impl/RequiredValidUntilTest.java (original)
+++ trunk/opensaml-saml-impl/src/test/java/org/opensaml/saml/metadata/resolver/filter/impl/RequiredValidUntilTest.java Wed Apr 2 04:58:23 2014
@@ -21,14 +21,12 @@
import java.net.URL;
import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
-import net.shibboleth.utilities.java.support.resolver.ResolverException;
import org.joda.time.DateTime;
import org.joda.time.chrono.ISOChronology;
import org.opensaml.core.xml.XMLObjectBaseTestCase;
import org.opensaml.core.xml.config.XMLObjectProviderRegistrySupport;
import org.opensaml.saml.common.SAMLObjectBuilder;
-import org.opensaml.saml.metadata.resolver.filter.impl.RequiredValidUntilFilter;
import org.opensaml.saml.metadata.resolver.impl.FilesystemMetadataResolver;
import org.opensaml.saml.metadata.resolver.impl.FilesystemMetadataResolverTest;
import org.opensaml.saml.saml2.metadata.EntitiesDescriptor;
@@ -81,6 +79,25 @@
}
@Test
+ public void testRequiredValidUntilWithMaxValiditySetter() throws Exception {
+ RequiredValidUntilFilter filter = new RequiredValidUntilFilter();
+ filter.setMaxValidityInterval(1);
+
+ FilesystemMetadataResolver metadataProvider = new FilesystemMetadataResolver(metadataFile);
+ metadataProvider.setParserPool(parserPool);
+ metadataProvider.setMetadataFilter(filter);
+
+ try {
+ metadataProvider.initialize();
+ Assert.fail("Filter accepted metadata with longer than allowed validity period.");
+ } catch (ComponentInitializationException e) {
+ // we expect this
+ return;
+ }
+ }
+
+
+ @Test
public void testRequiredValidUntilAlreadyPast() throws Exception {
SAMLObjectBuilder<EntitiesDescriptor> entitiesDescriptorBuilder =
(SAMLObjectBuilder<EntitiesDescriptor>) XMLObjectProviderRegistrySupport.getBuilderFactory().getBuilder(EntitiesDescriptor.TYPE_NAME);
More information about the commits
mailing list