[spring-extensions] branch master updated: IDP-1405 - Remove use of Guava Function/Predicate interfaces
Scott Cantor
cantor.2 at osu.edu
Tue Feb 5 10:48:21 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=9ee1577da676838ad9063b5ea3179d86720e36da
The following commit(s) were added to refs/heads/master by this push:
new 9ee1577 IDP-1405 - Remove use of Guava Function/Predicate interfaces
9ee1577 is described below
commit 9ee1577da676838ad9063b5ea3179d86720e36da
Author: Scott Cantor <cantor.2 at osu.edu>
AuthorDate: Fri Feb 1 16:09:33 2019 -0500
IDP-1405 - Remove use of Guava Function/Predicate interfaces
https://issues.shibboleth.net/jira/browse/IDP-1405
Add predicate/function converters.
---
.../ext/spring/config/BooleanToPredicateConverter.java | 3 ++-
...ateConverter.java => FunctionToFunctionConverter.java} | 15 +++++++++------
...eConverter.java => PredicateToPredicateConverter.java} | 15 +++++++++------
.../spring/config/StringBooleanToPredicateConverter.java | 3 ++-
.../spring/error/ExtendedMappingExceptionResolver.java | 3 +--
.../spring/service/ApplicationContextServiceStrategy.java | 7 +++----
.../ext/spring/service/ClassBasedServiceStrategy.java | 5 ++---
.../ext/spring/service/ReloadableSpringService.java | 2 +-
.../ext/spring/util/ApplicationContextBuilder.java | 6 +++++-
.../ext/spring/util/SpringExpressionFunction.java | 6 +++---
.../ext/spring/util/SpringExpressionPredicate.java | 6 +++---
.../shibboleth/ext/spring/util/SpringExpressionTest.java | 4 ++--
src/test/resources/logback-test.xml | 2 +-
13 files changed, 43 insertions(+), 34 deletions(-)
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 cc289ed..1547122 100644
--- a/src/main/java/net/shibboleth/ext/spring/config/BooleanToPredicateConverter.java
+++ b/src/main/java/net/shibboleth/ext/spring/config/BooleanToPredicateConverter.java
@@ -17,9 +17,10 @@
package net.shibboleth.ext.spring.config;
+import java.util.function.Predicate;
+
import org.springframework.core.convert.converter.Converter;
-import com.google.common.base.Predicate;
import com.google.common.base.Predicates;
/**
diff --git a/src/main/java/net/shibboleth/ext/spring/config/BooleanToPredicateConverter.java b/src/main/java/net/shibboleth/ext/spring/config/FunctionToFunctionConverter.java
similarity index 59%
copy from src/main/java/net/shibboleth/ext/spring/config/BooleanToPredicateConverter.java
copy to src/main/java/net/shibboleth/ext/spring/config/FunctionToFunctionConverter.java
index cc289ed..7b21b5d 100644
--- a/src/main/java/net/shibboleth/ext/spring/config/BooleanToPredicateConverter.java
+++ b/src/main/java/net/shibboleth/ext/spring/config/FunctionToFunctionConverter.java
@@ -19,17 +19,20 @@ package net.shibboleth.ext.spring.config;
import org.springframework.core.convert.converter.Converter;
-import com.google.common.base.Predicate;
-import com.google.common.base.Predicates;
+import net.shibboleth.utilities.java.support.primitive.DeprecationSupport;
+import net.shibboleth.utilities.java.support.primitive.DeprecationSupport.ObjectType;
/**
- * Allows setting of fixed {@link Predicate} properties using a boolean value.
+ * Auto-converts standard Java functions to Guava's version for legacy compatibility.
*/
-public class BooleanToPredicateConverter implements Converter<Boolean,Predicate<?>> {
+public class FunctionToFunctionConverter
+ implements Converter<java.util.function.Function,com.google.common.base.Function> {
/** {@inheritDoc} */
- @Override public Predicate<?> convert(final Boolean source) {
- return source ? Predicates.alwaysTrue() : Predicates.alwaysFalse();
+ public com.google.common.base.Function convert(final java.util.function.Function source) {
+ DeprecationSupport.warn(ObjectType.CLASS, com.google.common.base.Function.class.getName(), null,
+ java.util.function.Function.class.getName());
+ return source::apply;
}
}
\ No newline at end of file
diff --git a/src/main/java/net/shibboleth/ext/spring/config/BooleanToPredicateConverter.java b/src/main/java/net/shibboleth/ext/spring/config/PredicateToPredicateConverter.java
similarity index 59%
copy from src/main/java/net/shibboleth/ext/spring/config/BooleanToPredicateConverter.java
copy to src/main/java/net/shibboleth/ext/spring/config/PredicateToPredicateConverter.java
index cc289ed..58f161d 100644
--- a/src/main/java/net/shibboleth/ext/spring/config/BooleanToPredicateConverter.java
+++ b/src/main/java/net/shibboleth/ext/spring/config/PredicateToPredicateConverter.java
@@ -19,17 +19,20 @@ package net.shibboleth.ext.spring.config;
import org.springframework.core.convert.converter.Converter;
-import com.google.common.base.Predicate;
-import com.google.common.base.Predicates;
+import net.shibboleth.utilities.java.support.primitive.DeprecationSupport;
+import net.shibboleth.utilities.java.support.primitive.DeprecationSupport.ObjectType;
/**
- * Allows setting of fixed {@link Predicate} properties using a boolean value.
+ * Auto-converts standard Java predicates to Guava's version for legacy compatibility.
*/
-public class BooleanToPredicateConverter implements Converter<Boolean,Predicate<?>> {
+public class PredicateToPredicateConverter
+ implements Converter<java.util.function.Predicate,com.google.common.base.Predicate> {
/** {@inheritDoc} */
- @Override public Predicate<?> convert(final Boolean source) {
- return source ? Predicates.alwaysTrue() : Predicates.alwaysFalse();
+ public com.google.common.base.Predicate convert(final java.util.function.Predicate source) {
+ DeprecationSupport.warn(ObjectType.CLASS, com.google.common.base.Predicate.class.getName(), null,
+ java.util.function.Predicate.class.getName());
+ return source::test;
}
}
\ No newline at end of file
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 e189b7d..9411ef6 100644
--- a/src/main/java/net/shibboleth/ext/spring/config/StringBooleanToPredicateConverter.java
+++ b/src/main/java/net/shibboleth/ext/spring/config/StringBooleanToPredicateConverter.java
@@ -17,6 +17,8 @@
package net.shibboleth.ext.spring.config;
+import java.util.function.Predicate;
+
import javax.annotation.Nonnull;
import net.shibboleth.utilities.java.support.primitive.StringSupport;
@@ -25,7 +27,6 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.core.convert.converter.Converter;
-import com.google.common.base.Predicate;
import com.google.common.base.Predicates;
/**
diff --git a/src/main/java/net/shibboleth/ext/spring/error/ExtendedMappingExceptionResolver.java b/src/main/java/net/shibboleth/ext/spring/error/ExtendedMappingExceptionResolver.java
index b864b85..439a76e 100644
--- a/src/main/java/net/shibboleth/ext/spring/error/ExtendedMappingExceptionResolver.java
+++ b/src/main/java/net/shibboleth/ext/spring/error/ExtendedMappingExceptionResolver.java
@@ -18,6 +18,7 @@
package net.shibboleth.ext.spring.error;
import java.util.Map;
+import java.util.function.Function;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
@@ -32,8 +33,6 @@ import org.springframework.web.context.support.WebApplicationContextUtils;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.handler.SimpleMappingExceptionResolver;
-import com.google.common.base.Function;
-
/**
* Custom Spring exception to view mapper that populates the view model with data
* obtained via an extension function.
diff --git a/src/main/java/net/shibboleth/ext/spring/service/ApplicationContextServiceStrategy.java b/src/main/java/net/shibboleth/ext/spring/service/ApplicationContextServiceStrategy.java
index e983a1b..e4c20fc 100644
--- a/src/main/java/net/shibboleth/ext/spring/service/ApplicationContextServiceStrategy.java
+++ b/src/main/java/net/shibboleth/ext/spring/service/ApplicationContextServiceStrategy.java
@@ -17,6 +17,8 @@
package net.shibboleth.ext.spring.service;
+import java.util.function.Function;
+
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
@@ -27,8 +29,6 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.context.ApplicationContext;
-import com.google.common.base.Function;
-
/**
* Strategy for summoning up an {@link ApplicationContextServiceableComponent} wrapper
* around a populated {@link ApplicationContext}.
@@ -42,8 +42,7 @@ public class ApplicationContextServiceStrategy implements
@Nonnull private final Logger log = LoggerFactory.getLogger(ApplicationContextServiceStrategy.class);
/** {@inheritDoc} */
- @Override @Nullable public ServiceableComponent<ApplicationContext> apply(
- @Nullable final ApplicationContext appContext) {
+ @Nullable public ServiceableComponent<ApplicationContext> apply(@Nullable final ApplicationContext appContext) {
if (appContext != null) {
final ApplicationContextServiceableComponent wrapper = new ApplicationContextServiceableComponent();
diff --git a/src/main/java/net/shibboleth/ext/spring/service/ClassBasedServiceStrategy.java b/src/main/java/net/shibboleth/ext/spring/service/ClassBasedServiceStrategy.java
index f0f2bea..4a7dbd3 100644
--- a/src/main/java/net/shibboleth/ext/spring/service/ClassBasedServiceStrategy.java
+++ b/src/main/java/net/shibboleth/ext/spring/service/ClassBasedServiceStrategy.java
@@ -18,14 +18,13 @@
package net.shibboleth.ext.spring.service;
import java.util.Collection;
+import java.util.function.Function;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import org.springframework.context.ApplicationContext;
-import com.google.common.base.Function;
-
import net.shibboleth.utilities.java.support.annotation.ParameterName;
import net.shibboleth.utilities.java.support.logic.Constraint;
import net.shibboleth.utilities.java.support.service.ServiceException;
@@ -59,7 +58,7 @@ public class ClassBasedServiceStrategy<T> implements Function<ApplicationContext
}
/** {@inheritDoc} */
- @Override @Nullable public ServiceableComponent<T> apply(@Nullable final ApplicationContext appContext) {
+ @Nullable public ServiceableComponent<T> apply(@Nullable final ApplicationContext appContext) {
final Collection<? extends ServiceableComponent> components = appContext.getBeansOfType(serviceClaz).values();
if (components.size() == 0) {
diff --git a/src/main/java/net/shibboleth/ext/spring/service/ReloadableSpringService.java b/src/main/java/net/shibboleth/ext/spring/service/ReloadableSpringService.java
index a6ccf39..ba2944e 100644
--- a/src/main/java/net/shibboleth/ext/spring/service/ReloadableSpringService.java
+++ b/src/main/java/net/shibboleth/ext/spring/service/ReloadableSpringService.java
@@ -22,6 +22,7 @@ import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.List;
+import java.util.function.Function;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
@@ -52,7 +53,6 @@ import org.springframework.context.support.GenericApplicationContext;
import org.springframework.core.convert.ConversionService;
import org.springframework.core.io.Resource;
-import com.google.common.base.Function;
import com.google.common.base.Predicates;
import com.google.common.collect.Collections2;
import com.google.common.collect.ImmutableList;
diff --git a/src/main/java/net/shibboleth/ext/spring/util/ApplicationContextBuilder.java b/src/main/java/net/shibboleth/ext/spring/util/ApplicationContextBuilder.java
index 3df801e..514e45c 100644
--- a/src/main/java/net/shibboleth/ext/spring/util/ApplicationContextBuilder.java
+++ b/src/main/java/net/shibboleth/ext/spring/util/ApplicationContextBuilder.java
@@ -29,6 +29,8 @@ import javax.annotation.Nullable;
import net.shibboleth.ext.spring.config.BooleanToPredicateConverter;
import net.shibboleth.ext.spring.config.DurationToLongConverter;
+import net.shibboleth.ext.spring.config.FunctionToFunctionConverter;
+import net.shibboleth.ext.spring.config.PredicateToPredicateConverter;
import net.shibboleth.ext.spring.config.StringBooleanToPredicateConverter;
import net.shibboleth.ext.spring.config.StringToIPRangeConverter;
import net.shibboleth.ext.spring.config.StringToResourceConverter;
@@ -284,7 +286,9 @@ public class ApplicationContextBuilder {
new StringToIPRangeConverter(),
new BooleanToPredicateConverter(),
new StringBooleanToPredicateConverter(),
- new StringToResourceConverter())));
+ new StringToResourceConverter(),
+ new PredicateToPredicateConverter(),
+ new FunctionToFunctionConverter())));
service.afterPropertiesSet();
context.getBeanFactory().setConversionService(service.getObject());
}
diff --git a/src/main/java/net/shibboleth/ext/spring/util/SpringExpressionFunction.java b/src/main/java/net/shibboleth/ext/spring/util/SpringExpressionFunction.java
index 1199888..1f920b6 100644
--- a/src/main/java/net/shibboleth/ext/spring/util/SpringExpressionFunction.java
+++ b/src/main/java/net/shibboleth/ext/spring/util/SpringExpressionFunction.java
@@ -17,14 +17,14 @@
package net.shibboleth.ext.spring.util;
+import java.util.function.Function;
+
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import net.shibboleth.utilities.java.support.annotation.ParameterName;
import net.shibboleth.utilities.java.support.annotation.constraint.NotEmpty;
-import com.google.common.base.Function;
-
/**
* Function whose output is defined by an Spring EL expression.
*
@@ -46,8 +46,8 @@ public class SpringExpressionFunction<T,U> extends AbstractSpringExpressionEvalu
}
/** {@inheritDoc} */
- @Override
public U apply(@Nullable final T input) {
return evaluate(input);
}
+
}
\ No newline at end of file
diff --git a/src/main/java/net/shibboleth/ext/spring/util/SpringExpressionPredicate.java b/src/main/java/net/shibboleth/ext/spring/util/SpringExpressionPredicate.java
index 500127c..ac82b85 100644
--- a/src/main/java/net/shibboleth/ext/spring/util/SpringExpressionPredicate.java
+++ b/src/main/java/net/shibboleth/ext/spring/util/SpringExpressionPredicate.java
@@ -22,7 +22,7 @@ import javax.annotation.Nullable;
import net.shibboleth.utilities.java.support.annotation.ParameterName;
import net.shibboleth.utilities.java.support.annotation.constraint.NotEmpty;
-import com.google.common.base.Predicate;
+import net.shibboleth.utilities.java.support.logic.Predicate;
/**
* Predicate whose condition is defined by an Spring EL expression.
@@ -54,8 +54,8 @@ public class SpringExpressionPredicate<T> extends AbstractSpringExpressionEvalua
}
/** {@inheritDoc} */
- @Override
- public boolean apply(@Nullable final T input) {
+ public boolean test(@Nullable final T input) {
return evaluate(input);
}
+
}
\ No newline at end of file
diff --git a/src/test/java/net/shibboleth/ext/spring/util/SpringExpressionTest.java b/src/test/java/net/shibboleth/ext/spring/util/SpringExpressionTest.java
index 9a0c608..9391504 100644
--- a/src/test/java/net/shibboleth/ext/spring/util/SpringExpressionTest.java
+++ b/src/test/java/net/shibboleth/ext/spring/util/SpringExpressionTest.java
@@ -36,11 +36,11 @@ public class SpringExpressionTest {
SpringExpressionPredicate predicate = new SpringExpressionPredicate<>("#input.getValue99() == 99");
- Assert.assertTrue(predicate.apply(this));
+ Assert.assertTrue(predicate.test(this));
predicate = new SpringExpressionPredicate<>("#input.getValue99() == #custom");
predicate.setCustomObject(99);
- Assert.assertTrue(predicate.apply(this));
+ Assert.assertTrue(predicate.test(this));
}
diff --git a/src/test/resources/logback-test.xml b/src/test/resources/logback-test.xml
index 4cfbb12..f92b9e4 100644
--- a/src/test/resources/logback-test.xml
+++ b/src/test/resources/logback-test.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
- <logger name="net.shibboleth.ext.spring" level="TRACE"/>
+ <logger name="net.shibboleth.ext.spring" level="DEBUG"/>
<logger name="net.shibboleth.utilities" level="DEBUG"/>
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the commits
mailing list