From e84ab435cdf6d536e616d65238259681ba3f48de Mon Sep 17 00:00:00 2001 From: Craig Bryant Date: Thu, 23 Jun 2016 12:20:45 -0600 Subject: [PATCH] Add Conversions.variantToBoolean to fix API bug Also, add tests of Conversions.variantToBoolean Change-Id: I07bc8a84d511d36122ee8ffd153ae0961b77f65d --- .../java/monasca/common/util/Conversions.java | 15 ++++++++++++++- .../monasca/common/util/ConversionsTest.java | 18 +++++++++++++++++- 2 files changed, 31 insertions(+), 2 deletions(-) diff --git a/java/monasca-common-util/src/main/java/monasca/common/util/Conversions.java b/java/monasca-common-util/src/main/java/monasca/common/util/Conversions.java index 0b0b02d0..ea023175 100644 --- a/java/monasca-common-util/src/main/java/monasca/common/util/Conversions.java +++ b/java/monasca-common-util/src/main/java/monasca/common/util/Conversions.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015 Hewlett-Packard Development Company, L.P. + * (C) Copyright 2015-2016 Hewlett Packard Enterprise Development Company LP. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -129,4 +129,17 @@ public final class Conversions { } + /** + * Converts a Java Object to Boolean + * + * @param variant object of type Boolean or Number + * + * @return Boolean TRUE if Boolean and TRUE or Number and value is 1 + */ + public static Boolean variantToBoolean(final Object input) { + if (input instanceof Boolean) { + return (Boolean) input; + } + return "1".equals(input.toString()); + } } diff --git a/java/monasca-common-util/src/test/java/monasca/common/util/ConversionsTest.java b/java/monasca-common-util/src/test/java/monasca/common/util/ConversionsTest.java index 38739aa6..3dd429c8 100644 --- a/java/monasca-common-util/src/test/java/monasca/common/util/ConversionsTest.java +++ b/java/monasca-common-util/src/test/java/monasca/common/util/ConversionsTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015 Hewlett-Packard Development Company, L.P. + * (C) Copyright 2015-2016 Hewlett Packard Enterprise Development Company LP. * * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except * in compliance with the License. You may obtain a copy of the License at @@ -14,7 +14,9 @@ package monasca.common.util; import static org.testng.Assert.assertEquals; +import static org.testng.Assert.assertFalse; import static org.testng.Assert.assertNotEquals; +import static org.testng.Assert.assertTrue; import java.math.BigDecimal; import java.util.TimeZone; @@ -117,4 +119,18 @@ public class ConversionsTest { private enum MockEnum { THIS,IS,TEST } + + public void testVariantToBoolean() { + assertTrue(Conversions.variantToBoolean(new Long(1))); + assertFalse(Conversions.variantToBoolean(new Long(0))); + + assertTrue(Conversions.variantToBoolean(new Integer(1))); + assertFalse(Conversions.variantToBoolean(new Integer(0))); + + assertTrue(Conversions.variantToBoolean(new Short((short)1))); + assertFalse(Conversions.variantToBoolean(new Short((short)0))); + + assertTrue(Conversions.variantToBoolean(Boolean.TRUE)); + assertFalse(Conversions.variantToBoolean(Boolean.FALSE)); + } }