[java-identity-provider] branch master updated: JSPT-79 - Review date and time handling for Java 8

Scott Cantor cantor.2 at osu.edu
Wed Mar 13 16:01:51 EDT 2019


This is an automated email from the git hooks/post-receive script.

scantor pushed a commit to branch master
in repository java-identity-provider.

View the commit online:
http://git.shibboleth.net/view/?p=java-identity-provider.git;a=commit;h=0341eb5b539ab6dd5fc0b0d32655e97b22b3180f

The following commit(s) were added to refs/heads/master by this push:
       new  0341eb5   JSPT-79 - Review date and time handling for Java 8
0341eb5 is described below

commit 0341eb5b539ab6dd5fc0b0d32655e97b22b3180f
Author: Scott Cantor <cantor.2 at osu.edu>
AuthorDate: Wed Mar 13 16:01:48 2019 -0400

    JSPT-79 - Review date and time handling for Java 8
    
    https://issues.shibboleth.net/jira/browse/JSPT-79
    
    Converting long to Duration throughout OpenSAML APIs.
---
 .../impl/StorageBackedAccountLockoutManagerTest.java  |  1 -
 .../cas/service/impl/MetadataServiceRegistryTest.java |  3 ++-
 .../filter/impl/RequiredValidUntilParser.java         |  7 ++-----
 .../metadata/AbstractMetadataParserTest.java          |  2 --
 .../LocalDynamicMetadataProviderParserTest.java       | 19 ++++++++++---------
 .../metadata/filter/RequiredValidUntilParserTest.java |  7 ++++---
 .../navigate/AssertionLifetimeLookupFunction.java     |  8 +++++---
 .../impl/StorageBackedIdPSessionSerializerTest.java   |  1 -
 8 files changed, 23 insertions(+), 25 deletions(-)

diff --git a/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/StorageBackedAccountLockoutManagerTest.java b/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/StorageBackedAccountLockoutManagerTest.java
index 68a3e35..3c14ee8 100644
--- a/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/StorageBackedAccountLockoutManagerTest.java
+++ b/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/StorageBackedAccountLockoutManagerTest.java
@@ -42,7 +42,6 @@ public class StorageBackedAccountLockoutManagerTest extends BaseAuthenticationCo
         
         final MemoryStorageService ss = new MemoryStorageService();
         ss.setId("test");
-        ss.setCleanupInterval(0);
         ss.initialize();
         
         final UsernameIPLockoutKeyStrategy keyStrategy = new UsernameIPLockoutKeyStrategy();
diff --git a/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/service/impl/MetadataServiceRegistryTest.java b/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/service/impl/MetadataServiceRegistryTest.java
index da2d7bf..a87eb97 100644
--- a/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/service/impl/MetadataServiceRegistryTest.java
+++ b/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/service/impl/MetadataServiceRegistryTest.java
@@ -17,6 +17,7 @@
 
 package net.shibboleth.idp.cas.service.impl;
 
+import java.time.Duration;
 import java.util.Collections;
 import java.util.Timer;
 
@@ -79,7 +80,7 @@ public class MetadataServiceRegistryTest {
         final Resource metadata = ResourceHelper.of(new ClassPathResource("/metadata/cas-test-metadata.xml"));
         metadataResolver = new ResourceBackedMetadataResolver(new Timer(true), metadata);
         metadataResolver.setParserPool(XMLObjectProviderRegistrySupport.getParserPool());
-        metadataResolver.setMaxRefreshDelay(500000);
+        metadataResolver.setMaxRefreshDelay(Duration.ofSeconds(500));
         metadataResolver.setId("cas");
         metadataResolver.setIndexes(Collections.<MetadataIndex>singleton(new EndpointMetadataIndex(
                 new MetadataServiceRegistry.LoginEndpointPredicate())));
diff --git a/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/metadata/filter/impl/RequiredValidUntilParser.java b/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/metadata/filter/impl/RequiredValidUntilParser.java
index 46ff465..8091361 100644
--- a/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/metadata/filter/impl/RequiredValidUntilParser.java
+++ b/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/metadata/filter/impl/RequiredValidUntilParser.java
@@ -29,7 +29,6 @@ import org.springframework.beans.factory.xml.ParserContext;
 import org.w3c.dom.Element;
 
 import net.shibboleth.idp.profile.spring.relyingparty.metadata.AbstractMetadataProviderParser;
-import net.shibboleth.utilities.java.support.primitive.StringSupport;
 
 /**
  * Parser for a <RequiredValidUntil> filter.
@@ -53,11 +52,9 @@ public class RequiredValidUntilParser extends AbstractSingleBeanDefinitionParser
     @Override protected void doParse(final Element element, final ParserContext parserContext,
             final BeanDefinitionBuilder builder) {
 
-        String maxValidity=StringSupport.trimOrNull(element.getAttributeNS(null, "maxValidityInterval"));
-        if (null == maxValidity) {
-            maxValidity = "P14D";
+        if (element.hasAttributeNS(null, "maxValidityInterval")) {
+            builder.addPropertyValue("maxValidityInterval", element.getAttributeNS(null, "maxValidityInterval"));
         }
-        builder.addPropertyValue("maxValidityInterval",maxValidity);
     }
 
     /** {@inheritDoc} */
diff --git a/idp-profile-spring/src/test/java/net/shibboleth/idp/profile/spring/relyingparty/metadata/AbstractMetadataParserTest.java b/idp-profile-spring/src/test/java/net/shibboleth/idp/profile/spring/relyingparty/metadata/AbstractMetadataParserTest.java
index 28b8fc9..d1ee3ef 100644
--- a/idp-profile-spring/src/test/java/net/shibboleth/idp/profile/spring/relyingparty/metadata/AbstractMetadataParserTest.java
+++ b/idp-profile-spring/src/test/java/net/shibboleth/idp/profile/spring/relyingparty/metadata/AbstractMetadataParserTest.java
@@ -42,7 +42,6 @@ import org.springframework.mock.env.MockPropertySource;
 import org.testng.annotations.AfterSuite;
 import org.testng.annotations.BeforeSuite;
 
-import net.shibboleth.ext.spring.config.DurationToLongConverter;
 import net.shibboleth.ext.spring.config.StringToDurationConverter;
 import net.shibboleth.ext.spring.config.StringToIPRangeConverter;
 import net.shibboleth.ext.spring.config.StringToResourceConverter;
@@ -159,7 +158,6 @@ public class AbstractMetadataParserTest extends OpenSAMLInitBaseTestCase {
         final ConversionServiceFactoryBean service = new ConversionServiceFactoryBean();
         context.setDisplayName("ApplicationContext: " + contextName);
         service.setConverters(new HashSet<>(Arrays.asList(
-                new DurationToLongConverter(),
                 new StringToDurationConverter(),
                 new StringToIPRangeConverter(),
                 new StringToResourceConverter())));
diff --git a/idp-profile-spring/src/test/java/net/shibboleth/idp/profile/spring/relyingparty/metadata/LocalDynamicMetadataProviderParserTest.java b/idp-profile-spring/src/test/java/net/shibboleth/idp/profile/spring/relyingparty/metadata/LocalDynamicMetadataProviderParserTest.java
index 9673921..d2183f1 100644
--- a/idp-profile-spring/src/test/java/net/shibboleth/idp/profile/spring/relyingparty/metadata/LocalDynamicMetadataProviderParserTest.java
+++ b/idp-profile-spring/src/test/java/net/shibboleth/idp/profile/spring/relyingparty/metadata/LocalDynamicMetadataProviderParserTest.java
@@ -19,6 +19,7 @@ package net.shibboleth.idp.profile.spring.relyingparty.metadata;
 
 import java.io.File;
 import java.io.FileOutputStream;
+import java.time.Duration;
 import java.util.concurrent.TimeUnit;
 
 import org.opensaml.core.criterion.EntityIdCriterion;
@@ -75,14 +76,14 @@ public class LocalDynamicMetadataProviderParserTest extends AbstractMetadataPars
         Assert.assertNull(resolver.getMetadataFilter());
         Assert.assertNotNull(resolver.getParserPool());
         
-        Assert.assertEquals(resolver.getNegativeLookupCacheDuration(), Long.valueOf(10*60*1000L));
+        Assert.assertEquals(resolver.getNegativeLookupCacheDuration(), Duration.ofMinutes(10));
         Assert.assertEquals(resolver.getRefreshDelayFactor(), 0.75f);
-        Assert.assertEquals(resolver.getMinCacheDuration(), Long.valueOf(10*60*1000L));
-        Assert.assertEquals(resolver.getMaxCacheDuration(), Long.valueOf(8*60*60*1000L));
-        Assert.assertEquals(resolver.getMaxIdleEntityData(), Long.valueOf(8*60*60*1000L));
+        Assert.assertEquals(resolver.getMinCacheDuration(), Duration.ofMinutes(10));
+        Assert.assertEquals(resolver.getMaxCacheDuration(), Duration.ofHours(8));
+        Assert.assertEquals(resolver.getMaxIdleEntityData(), Duration.ofHours(8));
         Assert.assertTrue(resolver.isRemoveIdleEntityData());
-        Assert.assertEquals(resolver.getCleanupTaskInterval(), Long.valueOf(30*60*1000L));
-        Assert.assertEquals(resolver.getExpirationWarningThreshold(), Long.valueOf(0l));
+        Assert.assertEquals(resolver.getCleanupTaskInterval(), Duration.ofMinutes(30));
+        Assert.assertEquals(resolver.getExpirationWarningThreshold(), Duration.ZERO);
         
         Assert.assertFalse(resolver.isPersistentCachingEnabled());
         
@@ -96,7 +97,7 @@ public class LocalDynamicMetadataProviderParserTest extends AbstractMetadataPars
         
         Assert.assertTrue(resolver.isInitializeFromPersistentCacheInBackground());
         
-        Assert.assertEquals(resolver.getBackgroundInitializationFromCacheDelay(), Long.valueOf(2*1000));
+        Assert.assertEquals(resolver.getBackgroundInitializationFromCacheDelay(), Duration.ofSeconds(2));
         
     }
         
@@ -126,7 +127,7 @@ public class LocalDynamicMetadataProviderParserTest extends AbstractMetadataPars
         Assert.assertNull(resolver.resolveSingle(criteria));
         
         // Sleep past the negative lookup cache expiration
-        Uninterruptibles.sleepUninterruptibly(resolver.getNegativeLookupCacheDuration(), TimeUnit.MILLISECONDS);
+        Uninterruptibles.sleepUninterruptibly(resolver.getNegativeLookupCacheDuration().toMillis(), TimeUnit.MILLISECONDS);
         
         // In this case, will be the same instance since using in-memory map-based store.
         Assert.assertSame(resolver.resolveSingle(criteria), entity);
@@ -166,7 +167,7 @@ public class LocalDynamicMetadataProviderParserTest extends AbstractMetadataPars
         Assert.assertNull(resolver.resolveSingle(criteria));
         
         // Sleep past the negative lookup cache expiration
-        Uninterruptibles.sleepUninterruptibly(resolver.getNegativeLookupCacheDuration(), TimeUnit.MILLISECONDS);
+        Uninterruptibles.sleepUninterruptibly(resolver.getNegativeLookupCacheDuration().toMillis(), TimeUnit.MILLISECONDS);
         
         EntityDescriptor resolved = resolver.resolveSingle(criteria);
         Assert.assertNotNull(resolved);
diff --git a/idp-profile-spring/src/test/java/net/shibboleth/idp/profile/spring/relyingparty/metadata/filter/RequiredValidUntilParserTest.java b/idp-profile-spring/src/test/java/net/shibboleth/idp/profile/spring/relyingparty/metadata/filter/RequiredValidUntilParserTest.java
index 36875ad..23f6f39 100644
--- a/idp-profile-spring/src/test/java/net/shibboleth/idp/profile/spring/relyingparty/metadata/filter/RequiredValidUntilParserTest.java
+++ b/idp-profile-spring/src/test/java/net/shibboleth/idp/profile/spring/relyingparty/metadata/filter/RequiredValidUntilParserTest.java
@@ -18,6 +18,7 @@
 package net.shibboleth.idp.profile.spring.relyingparty.metadata.filter;
 
 import java.io.IOException;
+import java.time.Duration;
 
 import net.shibboleth.idp.profile.spring.relyingparty.metadata.AbstractMetadataParserTest;
 
@@ -35,20 +36,20 @@ public class RequiredValidUntilParserTest extends AbstractMetadataParserTest {
         MetadataResolver resolver = getBean(MetadataResolver.class, "filter/requiredValidUntil.xml");
 
         final RequiredValidUntilFilter filter = (RequiredValidUntilFilter) resolver.getMetadataFilter();
-        Assert.assertEquals(filter.getMaxValidityInterval(), 14*3600*24*1000);
+        Assert.assertEquals(filter.getMaxValidityInterval(), Duration.ofDays(14));
     }
     
     @Test public void param() throws IOException {
         MetadataResolver resolver = getBean(MetadataResolver.class, "filter/requiredValidUntilParam.xml");
 
         final RequiredValidUntilFilter filter = (RequiredValidUntilFilter) resolver.getMetadataFilter();
-        Assert.assertEquals(filter.getMaxValidityInterval(), 2*3600*24*1000);
+        Assert.assertEquals(filter.getMaxValidityInterval(), Duration.ofDays(2));
     }
 
     @Test public void nonDuration() throws IOException {
         MetadataResolver resolver = getBean(MetadataResolver.class, "filter/requiredValidUntilParamNonDuration.xml");
 
         final RequiredValidUntilFilter filter = (RequiredValidUntilFilter) resolver.getMetadataFilter();
-        Assert.assertEquals(filter.getMaxValidityInterval(), 2);
+        Assert.assertEquals(filter.getMaxValidityInterval(), Duration.ofMillis(2));
     }
 }
diff --git a/idp-saml-api/src/main/java/net/shibboleth/idp/saml/profile/config/navigate/AssertionLifetimeLookupFunction.java b/idp-saml-api/src/main/java/net/shibboleth/idp/saml/profile/config/navigate/AssertionLifetimeLookupFunction.java
index 9195c38..ce6d5b6 100644
--- a/idp-saml-api/src/main/java/net/shibboleth/idp/saml/profile/config/navigate/AssertionLifetimeLookupFunction.java
+++ b/idp-saml-api/src/main/java/net/shibboleth/idp/saml/profile/config/navigate/AssertionLifetimeLookupFunction.java
@@ -17,6 +17,8 @@
 
 package net.shibboleth.idp.saml.profile.config.navigate;
 
+import java.time.Duration;
+
 import javax.annotation.Nullable;
 
 import net.shibboleth.idp.profile.config.ProfileConfiguration;
@@ -33,15 +35,15 @@ import org.opensaml.profile.context.ProfileRequestContext;
  * 
  * <p>If a specific setting is unavailable, a null value is returned.</p>
  */
-public class AssertionLifetimeLookupFunction extends AbstractRelyingPartyLookupFunction<Long> {
+public class AssertionLifetimeLookupFunction extends AbstractRelyingPartyLookupFunction<Duration> {
 
     /** {@inheritDoc} */
-    @Nullable public Long apply(@Nullable final ProfileRequestContext input) {
+    @Nullable public Duration apply(@Nullable final ProfileRequestContext input) {
         final RelyingPartyContext rpc = getRelyingPartyContextLookupStrategy().apply(input);
         if (rpc != null) {
             final ProfileConfiguration pc = rpc.getProfileConfig();
             if (pc != null && pc instanceof SAMLProfileConfiguration) {
-                return ((SAMLProfileConfiguration) pc).getAssertionLifetime();
+                return Duration.ofMillis(((SAMLProfileConfiguration) pc).getAssertionLifetime());
             }
         }
         
diff --git a/idp-session-impl/src/test/java/net/shibboleth/idp/session/impl/StorageBackedIdPSessionSerializerTest.java b/idp-session-impl/src/test/java/net/shibboleth/idp/session/impl/StorageBackedIdPSessionSerializerTest.java
index b612d02..c9422d8 100644
--- a/idp-session-impl/src/test/java/net/shibboleth/idp/session/impl/StorageBackedIdPSessionSerializerTest.java
+++ b/idp-session-impl/src/test/java/net/shibboleth/idp/session/impl/StorageBackedIdPSessionSerializerTest.java
@@ -57,7 +57,6 @@ public class StorageBackedIdPSessionSerializerTest {
     @BeforeMethod public void setUp() throws ComponentInitializationException {
         final MemoryStorageService storageService = new MemoryStorageService();
         storageService.setId("TestStorageService");
-        storageService.setCleanupInterval(0);
         storageService.initialize();
 
         CookieManager cookieManager = new CookieManager();

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.


More information about the commits mailing list