[spring-extensions] branch master updated: JSPT-79 - Review date and time handling for Java 8
Scott Cantor
cantor.2 at osu.edu
Fri Mar 1 13:09:38 EST 2019
This is an automated email from the git hooks/post-receive script.
scantor pushed a commit to branch master
in repository spring-extensions.
View the commit online:
http://git.shibboleth.net/view/?p=spring-extensions.git;a=commit;h=345af06718a1bf352158d79863044d7b5bf00615
The following commit(s) were added to refs/heads/master by this push:
new 345af06 JSPT-79 - Review date and time handling for Java 8
345af06 is described below
commit 345af06718a1bf352158d79863044d7b5bf00615
Author: Scott Cantor <cantor.2 at osu.edu>
AuthorDate: Fri Mar 1 13:09:35 2019 -0500
JSPT-79 - Review date and time handling for Java 8
https://issues.shibboleth.net/jira/browse/JSPT-79
---
pom.xml | 4 ----
.../spring/config/BooleanToPredicateConverter.java | 2 +-
.../ext/spring/config/DurationToLongConverter.java | 18 ++++--------------
.../config/IdentifiableBeanPostProcessor.java | 4 ++--
.../config/StringBooleanToPredicateConverter.java | 2 +-
...onverter.java => StringToDurationConverter.java} | 21 +++++++++++++--------
.../ext/spring/config/StringToIPRangeConverter.java | 2 +-
.../spring/config/StringToResourceConverter.java | 7 +++----
.../ext/spring/resource/HTTPResourceTest.java | 4 ++--
.../spring/service/ReloadableSpringServiceTest.java | 4 ++--
10 files changed, 29 insertions(+), 39 deletions(-)
diff --git a/pom.xml b/pom.xml
index f65cba2..706652f 100644
--- a/pom.xml
+++ b/pom.xml
@@ -112,10 +112,6 @@
<!-- Required if you're using classes from the velocity package -->
<optional>true</optional>
</dependency>
- <dependency>
- <groupId>joda-time</groupId>
- <artifactId>joda-time</artifactId>
- </dependency>
<!-- Provided dependencies -->
<dependency>
diff --git a/src/main/java/net/shibboleth/ext/spring/config/BooleanToPredicateConverter.java b/src/main/java/net/shibboleth/ext/spring/config/BooleanToPredicateConverter.java
index 1547122..ae1e1e2 100644
--- a/src/main/java/net/shibboleth/ext/spring/config/BooleanToPredicateConverter.java
+++ b/src/main/java/net/shibboleth/ext/spring/config/BooleanToPredicateConverter.java
@@ -29,7 +29,7 @@ import com.google.common.base.Predicates;
public class BooleanToPredicateConverter implements Converter<Boolean,Predicate<?>> {
/** {@inheritDoc} */
- @Override public Predicate<?> convert(final Boolean source) {
+ public Predicate<?> convert(final Boolean source) {
return source ? Predicates.alwaysTrue() : Predicates.alwaysFalse();
}
diff --git a/src/main/java/net/shibboleth/ext/spring/config/DurationToLongConverter.java b/src/main/java/net/shibboleth/ext/spring/config/DurationToLongConverter.java
index 47c74ee..84e48fa 100644
--- a/src/main/java/net/shibboleth/ext/spring/config/DurationToLongConverter.java
+++ b/src/main/java/net/shibboleth/ext/spring/config/DurationToLongConverter.java
@@ -17,13 +17,9 @@
package net.shibboleth.ext.spring.config;
-import javax.annotation.Nonnull;
-
import net.shibboleth.utilities.java.support.annotation.Duration;
import net.shibboleth.utilities.java.support.xml.DOMTypeSupport;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
import org.springframework.core.convert.TypeDescriptor;
import org.springframework.core.convert.converter.ConditionalConverter;
import org.springframework.core.convert.converter.Converter;
@@ -33,24 +29,18 @@ import org.springframework.core.convert.converter.Converter;
*/
public class DurationToLongConverter implements Converter<String,Long>, ConditionalConverter {
- /** Logger. */
- @Nonnull private Logger log = LoggerFactory.getLogger(DurationToLongConverter.class);
-
/** {@inheritDoc} */
- @Override public Long convert(final String source) {
+ public Long convert(final String source) {
if (source.startsWith("P") || source.startsWith("-P")) {
return DOMTypeSupport.durationToLong(source.trim());
} else {
- // Treat as a milliseconds. But note this
- final long duration = Long.valueOf(source);
- log.info("Deprecated duration of {} was specified. Use XML duration of {}", source,
- DOMTypeSupport.longToDuration(duration));
- return duration;
+ // Treat as a milliseconds.
+ return Long.valueOf(source);
}
}
/** {@inheritDoc} */
- @Override public boolean matches(final TypeDescriptor sourceType, final TypeDescriptor targetType) {
+ public boolean matches(final TypeDescriptor sourceType, final TypeDescriptor targetType) {
return targetType.hasAnnotation(Duration.class);
}
diff --git a/src/main/java/net/shibboleth/ext/spring/config/IdentifiableBeanPostProcessor.java b/src/main/java/net/shibboleth/ext/spring/config/IdentifiableBeanPostProcessor.java
index 6793544..b791142 100644
--- a/src/main/java/net/shibboleth/ext/spring/config/IdentifiableBeanPostProcessor.java
+++ b/src/main/java/net/shibboleth/ext/spring/config/IdentifiableBeanPostProcessor.java
@@ -34,7 +34,7 @@ public class IdentifiableBeanPostProcessor implements BeanPostProcessor {
@Nonnull private final Logger log = LoggerFactory.getLogger(IdentifiableBeanPostProcessor.class);
/** {@inheritDoc} */
- @Override public Object postProcessBeforeInitialization(final Object bean, final String beanName) {
+ public Object postProcessBeforeInitialization(final Object bean, final String beanName) {
if (bean instanceof IdentifiableComponent) {
final IdentifiableComponent component = (IdentifiableComponent) bean;
if (component.getId() == null) {
@@ -52,7 +52,7 @@ public class IdentifiableBeanPostProcessor implements BeanPostProcessor {
}
/** {@inheritDoc} */
- @Override public Object postProcessAfterInitialization(final Object bean, final String beanName) {
+ public Object postProcessAfterInitialization(final Object bean, final String beanName) {
return bean;
}
diff --git a/src/main/java/net/shibboleth/ext/spring/config/StringBooleanToPredicateConverter.java b/src/main/java/net/shibboleth/ext/spring/config/StringBooleanToPredicateConverter.java
index 9411ef6..032d7e3 100644
--- a/src/main/java/net/shibboleth/ext/spring/config/StringBooleanToPredicateConverter.java
+++ b/src/main/java/net/shibboleth/ext/spring/config/StringBooleanToPredicateConverter.java
@@ -38,7 +38,7 @@ public class StringBooleanToPredicateConverter implements Converter<String,Predi
@Nonnull private final Logger log = LoggerFactory.getLogger(StringBooleanToPredicateConverter.class);
/** {@inheritDoc} */
- @Override public Predicate<?> convert(final String source) {
+ public Predicate<?> convert(final String source) {
final String trimmed = StringSupport.trimOrNull(source);
if (Boolean.valueOf(trimmed)) {
diff --git a/src/main/java/net/shibboleth/ext/spring/config/BooleanToPredicateConverter.java b/src/main/java/net/shibboleth/ext/spring/config/StringToDurationConverter.java
similarity index 63%
copy from src/main/java/net/shibboleth/ext/spring/config/BooleanToPredicateConverter.java
copy to src/main/java/net/shibboleth/ext/spring/config/StringToDurationConverter.java
index 1547122..85e6d62 100644
--- a/src/main/java/net/shibboleth/ext/spring/config/BooleanToPredicateConverter.java
+++ b/src/main/java/net/shibboleth/ext/spring/config/StringToDurationConverter.java
@@ -17,20 +17,25 @@
package net.shibboleth.ext.spring.config;
-import java.util.function.Predicate;
+import java.time.Duration;
-import org.springframework.core.convert.converter.Converter;
+import net.shibboleth.utilities.java.support.xml.DOMTypeSupport;
-import com.google.common.base.Predicates;
+import org.springframework.core.convert.converter.Converter;
/**
- * Allows setting of fixed {@link Predicate} properties using a boolean value.
+ * Allows setting of Duration-valued properties using lexical string form.
*/
-public class BooleanToPredicateConverter implements Converter<Boolean,Predicate<?>> {
+public class StringToDurationConverter implements Converter<String,Duration> {
/** {@inheritDoc} */
- @Override public Predicate<?> convert(final Boolean source) {
- return source ? Predicates.alwaysTrue() : Predicates.alwaysFalse();
+ public Duration convert(final String source) {
+ if (source.startsWith("P") || source.startsWith("-P")) {
+ return Duration.ofMillis(DOMTypeSupport.durationToLong(source.trim()));
+ } else {
+ // Treat as milliseconds.
+ return Duration.ofMillis(Long.valueOf(source));
+ }
}
-
+
}
\ No newline at end of file
diff --git a/src/main/java/net/shibboleth/ext/spring/config/StringToIPRangeConverter.java b/src/main/java/net/shibboleth/ext/spring/config/StringToIPRangeConverter.java
index 4993521..35f009d 100644
--- a/src/main/java/net/shibboleth/ext/spring/config/StringToIPRangeConverter.java
+++ b/src/main/java/net/shibboleth/ext/spring/config/StringToIPRangeConverter.java
@@ -28,7 +28,7 @@ import org.springframework.core.convert.converter.Converter;
public class StringToIPRangeConverter implements Converter<String,IPRange> {
/** {@inheritDoc} */
- @Override public IPRange convert(final String source) {
+ public IPRange convert(final String source) {
return IPRange.parseCIDRBlock(source);
}
diff --git a/src/main/java/net/shibboleth/ext/spring/config/StringToResourceConverter.java b/src/main/java/net/shibboleth/ext/spring/config/StringToResourceConverter.java
index 53e54a8..3572a62 100644
--- a/src/main/java/net/shibboleth/ext/spring/config/StringToResourceConverter.java
+++ b/src/main/java/net/shibboleth/ext/spring/config/StringToResourceConverter.java
@@ -19,13 +19,13 @@ package net.shibboleth.ext.spring.config;
import javax.annotation.Nullable;
+import net.shibboleth.ext.spring.resource.PreferFileSystemResourceLoader;
import net.shibboleth.ext.spring.resource.ResourceHelper;
import net.shibboleth.utilities.java.support.resource.Resource;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
import org.springframework.core.convert.converter.Converter;
-import org.springframework.core.io.DefaultResourceLoader;
import org.springframework.core.io.ResourceLoader;
/**
@@ -39,14 +39,13 @@ public class StringToResourceConverter implements Converter<String, Resource>, A
@Nullable private ApplicationContext applicationContext;
/** {@inheritDoc} */
- @Override
public Resource convert(final String source) {
- final ResourceLoader loader = applicationContext == null ? new DefaultResourceLoader() : applicationContext;
+ final ResourceLoader loader =
+ applicationContext == null ? new PreferFileSystemResourceLoader() : applicationContext;
return ResourceHelper.of(loader.getResource(source));
}
/** {@inheritDoc} */
- @Override
public void setApplicationContext(final ApplicationContext context) {
applicationContext = context;
}
diff --git a/src/test/java/net/shibboleth/ext/spring/resource/HTTPResourceTest.java b/src/test/java/net/shibboleth/ext/spring/resource/HTTPResourceTest.java
index f03cf76..f11c641 100644
--- a/src/test/java/net/shibboleth/ext/spring/resource/HTTPResourceTest.java
+++ b/src/test/java/net/shibboleth/ext/spring/resource/HTTPResourceTest.java
@@ -23,6 +23,7 @@ import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.attribute.PosixFilePermission;
import java.nio.file.attribute.PosixFilePermissions;
+import java.time.Instant;
import java.util.Collection;
import java.util.Set;
@@ -31,7 +32,6 @@ import org.apache.http.client.cache.CacheResponseStatus;
import org.apache.http.client.methods.HttpUriRequest;
import org.apache.http.client.protocol.HttpClientContext;
import org.apache.http.impl.conn.PoolingHttpClientConnectionManager;
-import org.joda.time.DateTime;
import org.springframework.beans.factory.xml.XmlBeanDefinitionReader;
import org.springframework.context.support.GenericApplicationContext;
import org.springframework.core.io.ClassPathResource;
@@ -125,7 +125,7 @@ public class HTTPResourceTest {
final long when = child.lastModified();
final long size = child.contentLength();
- final String whenAsString = new DateTime(when).toString();
+ final String whenAsString = Instant.ofEpochMilli(when).toString();
Assert.assertEquals(when, 1205848652000L, "Expected date of " + whenAsString + " did not match)");
Assert.assertEquals(size, 20784226L, "Size mismatch");
diff --git a/src/test/java/net/shibboleth/ext/spring/service/ReloadableSpringServiceTest.java b/src/test/java/net/shibboleth/ext/spring/service/ReloadableSpringServiceTest.java
index 52373eb..e062a0c 100644
--- a/src/test/java/net/shibboleth/ext/spring/service/ReloadableSpringServiceTest.java
+++ b/src/test/java/net/shibboleth/ext/spring/service/ReloadableSpringServiceTest.java
@@ -21,12 +21,12 @@ import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
+import java.time.Instant;
import java.util.Collections;
import net.shibboleth.ext.spring.util.ApplicationContextBuilder;
import net.shibboleth.utilities.java.support.service.ServiceableComponent;
-import org.joda.time.DateTime;
import org.springframework.beans.factory.BeanInitializationException;
import org.springframework.context.support.GenericApplicationContext;
import org.springframework.core.io.ClassPathResource;
@@ -128,7 +128,7 @@ public class ReloadableSpringServiceTest {
ServiceableComponent<TestServiceableComponent> serviceableComponent = service.getServiceableComponent();
final TestServiceableComponent component = serviceableComponent.getComponent();
- final DateTime x = service.getLastReloadAttemptInstant();
+ final Instant x = service.getLastReloadAttemptInstant();
Assert.assertEquals(x, service.getLastSuccessfulReloadInstant());
Assert.assertEquals(component.getTheValue(), "One");
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the commits
mailing list