[java-support] branch master updated: IDP-1434 Add null-preserving converter from String to Boolean
Rod Widdowson
rdw at steadingsoftware.com
Tue May 7 10:33:20 EDT 2019
This is an automated email from the git hooks/post-receive script.
rdw pushed a commit to branch master
in repository java-support.
View the commit online:
http://git.shibboleth.net/view/?p=java-support.git;a=commit;h=f675c7804ae4aa7fe772b3211f8fb2ea2dde97bf
The following commit(s) were added to refs/heads/master by this push:
new f675c78 IDP-1434 Add null-preserving converter from String to Boolean
f675c78 is described below
commit f675c7804ae4aa7fe772b3211f8fb2ea2dde97bf
Author: Rod Widdowson <rdw at steadingsoftware.com>
AuthorDate: Tue May 7 15:10:36 2019 +0100
IDP-1434 Add null-preserving converter from String to Boolean
https://issues.shibboleth.net/jira/browse/IDP-1434
---
.../java/support/primitive/StringSupport.java | 14 +++++++++++++-
.../java/support/primitive/StringSupportTest.java | 18 +++++++++++++++---
2 files changed, 28 insertions(+), 4 deletions(-)
diff --git a/src/main/java/net/shibboleth/utilities/java/support/primitive/StringSupport.java b/src/main/java/net/shibboleth/utilities/java/support/primitive/StringSupport.java
index 7cca331..800ea61 100644
--- a/src/main/java/net/shibboleth/utilities/java/support/primitive/StringSupport.java
+++ b/src/main/java/net/shibboleth/utilities/java/support/primitive/StringSupport.java
@@ -181,4 +181,16 @@ public final class StringSupport {
return Collections2.filter(Collections2.transform(values, TrimOrNullStringFunction.INSTANCE::apply),
Predicates.notNull());
}
-}
\ No newline at end of file
+
+ /** Null/empty preserving conversion from string to {@link Boolean}.
+ * @param what the string: potentially empty or null
+ * @return null or the boolean equivalent.
+ */
+ @Nullable public static Boolean booleanOf(final String what) {
+ final String trimmed = trimOrNull(what);
+ if (trimmed == null) {
+ return null;
+ }
+ return Boolean.valueOf(trimmed);
+ }
+}
diff --git a/src/test/java/net/shibboleth/utilities/java/support/primitive/StringSupportTest.java b/src/test/java/net/shibboleth/utilities/java/support/primitive/StringSupportTest.java
index 59a1e6f..3a33d58 100644
--- a/src/test/java/net/shibboleth/utilities/java/support/primitive/StringSupportTest.java
+++ b/src/test/java/net/shibboleth/utilities/java/support/primitive/StringSupportTest.java
@@ -26,14 +26,14 @@ import java.util.List;
import javax.annotation.Nonnull;
-import net.shibboleth.utilities.java.support.annotation.constraint.NotEmpty;
-import net.shibboleth.utilities.java.support.logic.ConstraintViolationException;
-
import org.springframework.core.io.ClassPathResource;
import org.springframework.core.io.Resource;
import org.testng.Assert;
import org.testng.annotations.Test;
+import net.shibboleth.utilities.java.support.annotation.constraint.NotEmpty;
+import net.shibboleth.utilities.java.support.logic.ConstraintViolationException;
+
/**
* test for the various methods inside {@link StringSupport}
*/
@@ -153,4 +153,16 @@ public class StringSupportTest {
return null;
}
+ @Test public void testToBoolean() {
+ Assert.assertNull(StringSupport.booleanOf(""));
+ Assert.assertFalse(Boolean.valueOf(""));
+ Assert.assertNull(StringSupport.booleanOf(null));
+ Assert.assertFalse(Boolean.valueOf(null));
+ Assert.assertTrue(StringSupport.booleanOf("true"));
+ Assert.assertTrue(Boolean.valueOf("true"));
+ Assert.assertFalse(StringSupport.booleanOf("false"));
+ Assert.assertFalse(Boolean.valueOf("false"));
+ Assert.assertFalse(StringSupport.booleanOf("elephant"));
+ Assert.assertFalse(Boolean.valueOf("elephant"));
+ }
}
\ 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