From 57c8700a4808665d5005de583a15354b9fb0b9f8 Mon Sep 17 00:00:00 2001 From: Dmitry Puzikov Date: Thu, 21 Nov 2019 15:44:17 +0100 Subject: Fix sonar issue with test coverage Added tests to cover the case. Fixed provider load failure: If more than one provider is configured and if the first if failng try to load next one. Change-Id: Idd7edb90e2b9b1cf21ec20e299140d3362bd1138 Issue-ID: SDC-2693 Signed-off-by: Dmitry Puzikov --- .../src/main/java/org/onap/config/api/ConfigurationLoader.java | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'common/onap-common-configuration-management/onap-configuration-management-api/src/main') diff --git a/common/onap-common-configuration-management/onap-configuration-management-api/src/main/java/org/onap/config/api/ConfigurationLoader.java b/common/onap-common-configuration-management/onap-configuration-management-api/src/main/java/org/onap/config/api/ConfigurationLoader.java index 8d61701a9c..78f8b23024 100644 --- a/common/onap-common-configuration-management/onap-configuration-management-api/src/main/java/org/onap/config/api/ConfigurationLoader.java +++ b/common/onap-common-configuration-management/onap-configuration-management-api/src/main/java/org/onap/config/api/ConfigurationLoader.java @@ -17,6 +17,7 @@ package org.onap.config.api; import java.util.Iterator; +import java.util.ServiceConfigurationError; import java.util.ServiceLoader; /** @@ -34,8 +35,12 @@ class ConfigurationLoader { ServiceLoader loader = ServiceLoader.load(ConfigurationManager.class); Iterator configManagers = loader.iterator(); - if (configManagers.hasNext()) { - return configManagers.next(); + while (configManagers.hasNext()) { + try { + return configManagers.next(); + } catch (ServiceConfigurationError e) { + // this provider loading has failed, let's try next one + } } throw new IllegalStateException("No binding found for configuration service"); -- cgit 1.2.3-korg