From 99b3ae8b86863672ebe410303182d21daeabd0d1 Mon Sep 17 00:00:00 2001 From: ramverma Date: Wed, 22 Aug 2018 12:13:33 +0100 Subject: Adding common utility classes to policy/common * Adding HealthCheckReport class to policy/common for wider use among all policy modules. * Adding utility class called ParameterValidationUtils for providing common validation methods to all policy modules. For now, it has only 3 validation methods but we all can add more in future. Change-Id: I363fe116ba74f25299fd71211be73505b3164f72 Issue-ID: POLICY-1035 Signed-off-by: ramverma --- .../utils/validation/ParameterValidationUtils.java | 68 ++++++++++++++++++++++ .../validation/TestParameterValidationUtils.java | 57 ++++++++++++++++++ 2 files changed, 125 insertions(+) create mode 100644 utils/src/main/java/org/onap/policy/common/utils/validation/ParameterValidationUtils.java create mode 100644 utils/src/test/java/org/onap/policy/common/utils/validation/TestParameterValidationUtils.java (limited to 'utils') diff --git a/utils/src/main/java/org/onap/policy/common/utils/validation/ParameterValidationUtils.java b/utils/src/main/java/org/onap/policy/common/utils/validation/ParameterValidationUtils.java new file mode 100644 index 00000000..e2e462da --- /dev/null +++ b/utils/src/main/java/org/onap/policy/common/utils/validation/ParameterValidationUtils.java @@ -0,0 +1,68 @@ +/*- + * ============LICENSE_START======================================================= + * Copyright (C) 2018 Ericsson. All rights reserved. + * ================================================================================ + * 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 + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * SPDX-License-Identifier: Apache-2.0 + * ============LICENSE_END========================================================= + */ + +package org.onap.policy.common.utils.validation; + +/** + * Class to provide utility methods for common parameter validations. + * + * @author Ram Krishna Verma (ram.krishna.verma@ericsson.com) + */ +public class ParameterValidationUtils { + + /** + * Validates the given string input. + * + * @param inputString the string to validate + * @return the boolean validation result + */ + public static boolean validateStringParameter(final String inputString) { + if (inputString == null || inputString.trim().length() == 0) { + return false; + } + return true; + } + + /** + * Validates the given integer input. + * + * @param input the integer to validate + * @return the boolean validation result + */ + public static boolean validateIntParameter(final int input) { + if (input <= 0) { + return false; + } + return true; + } + + /** + * Validates the given long input. + * + * @param input the long to validate + * @return the boolean validation result + */ + public static boolean validateLongParameter(final long input) { + if (input <= 0) { + return false; + } + return true; + } +} diff --git a/utils/src/test/java/org/onap/policy/common/utils/validation/TestParameterValidationUtils.java b/utils/src/test/java/org/onap/policy/common/utils/validation/TestParameterValidationUtils.java new file mode 100644 index 00000000..d8c4c510 --- /dev/null +++ b/utils/src/test/java/org/onap/policy/common/utils/validation/TestParameterValidationUtils.java @@ -0,0 +1,57 @@ +/*- + * ============LICENSE_START======================================================= + * Copyright (C) 2018 Ericsson. All rights reserved. + * ================================================================================ + * 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 + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * SPDX-License-Identifier: Apache-2.0 + * ============LICENSE_END========================================================= + */ + +package org.onap.policy.common.utils.validation; + +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; + +import org.junit.Test; + +/** + * Class to perform unit test of ParameterValidationUtils. + * + * @author Ram Krishna Verma (ram.krishna.verma@ericsson.com) + */ +public class TestParameterValidationUtils { + + @Test + public void testValidateStringParameter() { + assertTrue(ParameterValidationUtils.validateStringParameter("Policy")); + assertFalse(ParameterValidationUtils.validateStringParameter(null)); + assertFalse(ParameterValidationUtils.validateStringParameter("")); + } + + @Test + public void testValidateIntParameter() { + assertTrue(ParameterValidationUtils.validateIntParameter(5555)); + assertTrue(ParameterValidationUtils.validateIntParameter(new Integer(7777))); + assertFalse(ParameterValidationUtils.validateIntParameter(0)); + assertFalse(ParameterValidationUtils.validateIntParameter(-1)); + } + + @Test + public void testValidateLongParameter() { + assertTrue(ParameterValidationUtils.validateLongParameter(5555L)); + assertTrue(ParameterValidationUtils.validateLongParameter(new Long(7777L))); + assertFalse(ParameterValidationUtils.validateLongParameter(0L)); + assertFalse(ParameterValidationUtils.validateLongParameter(-1L)); + } +} -- cgit 1.2.3-korg