[spring-extensions] branch master updated: JSE-17 - StringBooleanToPredicate converter should warn on bad input
Scott Cantor
cantor.2 at osu.edu
Mon Aug 8 23:26:37 EDT 2016
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=67159d23f4ec8d54899361491329034f227a11cf
The following commit(s) were added to refs/heads/master by this push:
new 67159d2 JSE-17 - StringBooleanToPredicate converter should warn on bad input
67159d2 is described below
commit 67159d23f4ec8d54899361491329034f227a11cf
Author: Scott Cantor <cantor.2 at osu.edu>
AuthorDate: Mon Aug 8 23:26:22 2016 -0400
JSE-17 - StringBooleanToPredicate converter should warn on bad input
https://issues.shibboleth.net/jira/browse/JSE-17
---
.../config/StringBooleanToPredicateConverter.java | 22 +++++++++++++++++++++-
1 file changed, 21 insertions(+), 1 deletion(-)
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 793d314..aa4ea5d 100644
--- a/src/main/java/net/shibboleth/ext/spring/config/StringBooleanToPredicateConverter.java
+++ b/src/main/java/net/shibboleth/ext/spring/config/StringBooleanToPredicateConverter.java
@@ -19,6 +19,10 @@ package net.shibboleth.ext.spring.config;
import net.shibboleth.utilities.java.support.primitive.StringSupport;
+import javax.annotation.Nonnull;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import org.springframework.core.convert.converter.Converter;
import com.google.common.base.Predicate;
@@ -29,9 +33,25 @@ import com.google.common.base.Predicates;
*/
public class StringBooleanToPredicateConverter implements Converter<String,Predicate> {
+ /** Logger. */
+ @Nonnull private final Logger log = LoggerFactory.getLogger(StringBooleanToPredicateConverter.class);
+
/** {@inheritDoc} */
public Predicate convert(String source) {
- return Boolean.valueOf(StringSupport.trimOrNull(source)) ? Predicates.alwaysTrue() : Predicates.alwaysFalse();
+
+ final String trimmed = StringSupport.trimOrNull(source);
+ if (Boolean.valueOf(trimmed)) {
+ return Predicates.alwaysTrue();
+ }
+
+ if (trimmed != null) {
+ if ("1".equals(trimmed)) {
+ log.warn("The value '1' is not treated as 'true'; if intentional, explicitly use 'false'");
+ } else if (!"false".equalsIgnoreCase(trimmed) && !"0".equals(trimmed)) {
+ log.warn("Unrecognized value '{}' converted to false; if intentional, explicitly use 'false'", trimmed);
+ }
+ }
+ return Predicates.alwaysFalse();
}
}
\ No newline at end of file
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the commits
mailing list