[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