From 2a9802dbea95a2a568e5977c1cf4747d5ecca149 Mon Sep 17 00:00:00 2001 From: PatrikBuhr Date: Fri, 26 Mar 2021 11:47:37 +0100 Subject: Ignoring RiConfigs with empty baseUrl Illegal message from A1 policy management causing flood of log messages Change-Id: I851f36f499255dbd82714d39caa77e771d39d282 Issue-ID: CCSDK-3227 Signed-off-by: PatrikBuhr --- .../configuration/ApplicationConfigParser.java | 10 ++++++++-- .../configuration/ApplicationConfigParserTest.java | 10 ++++++---- .../test_application_configuration_with_dmaap_config.json | 10 +++++++++- 3 files changed, 23 insertions(+), 7 deletions(-) diff --git a/a1-policy-management/src/main/java/org/onap/ccsdk/oran/a1policymanagementservice/configuration/ApplicationConfigParser.java b/a1-policy-management/src/main/java/org/onap/ccsdk/oran/a1policymanagementservice/configuration/ApplicationConfigParser.java index bc1f62a4..a6af2023 100644 --- a/a1-policy-management/src/main/java/org/onap/ccsdk/oran/a1policymanagementservice/configuration/ApplicationConfigParser.java +++ b/a1-policy-management/src/main/java/org/onap/ccsdk/oran/a1policymanagementservice/configuration/ApplicationConfigParser.java @@ -39,11 +39,14 @@ import javax.validation.constraints.NotNull; import org.immutables.gson.Gson; import org.immutables.value.Value; import org.onap.ccsdk.oran.a1policymanagementservice.exceptions.ServiceException; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; /** * Parser for the Json representing of the component configuration. */ public class ApplicationConfigParser { + private static final Logger logger = LoggerFactory.getLogger(ApplicationConfigParser.class); private static final String CONFIG = "config"; private static final String CONTROLLER = "controller"; @@ -109,7 +112,6 @@ public class ApplicationConfigParser { throw new ServiceException( "Configuration error, controller configuration not found: " + ric.controllerName()); } - } } @@ -124,7 +126,11 @@ public class ApplicationConfigParser { .managedElementIds(parseManagedElementIds(get(ricAsJson, "managedElementIds").getAsJsonArray())) // .controllerName(controllerNameElement != null ? controllerNameElement.getAsString() : "") // .build(); - result.add(ricConfig); + if (!ricConfig.baseUrl().isEmpty()) { + result.add(ricConfig); + } else { + logger.error("RIC configuration error {}, baseUrl is empty", ricConfig.ricId()); + } } return result; } diff --git a/a1-policy-management/src/test/java/org/onap/ccsdk/oran/a1policymanagementservice/configuration/ApplicationConfigParserTest.java b/a1-policy-management/src/test/java/org/onap/ccsdk/oran/a1policymanagementservice/configuration/ApplicationConfigParserTest.java index 0a75fd30..fe2fb275 100644 --- a/a1-policy-management/src/test/java/org/onap/ccsdk/oran/a1policymanagementservice/configuration/ApplicationConfigParserTest.java +++ b/a1-policy-management/src/test/java/org/onap/ccsdk/oran/a1policymanagementservice/configuration/ApplicationConfigParserTest.java @@ -69,6 +69,8 @@ class ApplicationConfigParserTest { .password("password") // .build(); // assertEquals(expectedControllerConfig, controllers.get("controller1"), "controller contents"); + + assertEquals(2, result.ricConfigs().size()); } private JsonObject getJsonRootObject() throws JsonIOException, JsonSyntaxException, IOException { @@ -91,8 +93,8 @@ class ApplicationConfigParserTest { fake_info_object.addProperty("fake_info", "fake"); json.add("fake_info_object", new Gson().toJsonTree(fake_info_object)); DataPublishing data = new Gson().fromJson(json.toString(), DataPublishing.class); - final String expectedMessage = - "Invalid configuration. Number of streams must be one, config: " + data.toString(); + final String expectedMessage = "Invalid configuration. Number of streams must be one, config: " + + data.toString(); Exception actualException = assertThrows(ServiceException.class, () -> parserUnderTest.parse(jsonRootObject)); @@ -119,8 +121,8 @@ class ApplicationConfigParserTest { fake_info_object.addProperty("fake_info", "fake"); json.add("fake_info_object", new Gson().toJsonTree(fake_info_object)); DataSubscribing data = new Gson().fromJson(json.toString(), DataSubscribing.class); - final String expectedMessage = - "Invalid configuration. Number of streams must be one, config: " + data.toString(); + final String expectedMessage = "Invalid configuration. Number of streams must be one, config: " + + data.toString(); Exception actualException = assertThrows(ServiceException.class, () -> parserUnderTest.parse(jsonRootObject)); diff --git a/a1-policy-management/src/test/resources/test_application_configuration_with_dmaap_config.json b/a1-policy-management/src/test/resources/test_application_configuration_with_dmaap_config.json index 61ab31e8..ed1501dd 100644 --- a/a1-policy-management/src/test/resources/test_application_configuration_with_dmaap_config.json +++ b/a1-policy-management/src/test/resources/test_application_configuration_with_dmaap_config.json @@ -25,6 +25,14 @@ "kista_3", "kista_4" ] + }, + { + "name": "ric3_noBaseURL", + "baseUrl": "", + "managedElementIds": [ + "kista_3", + "kista_4" + ] } ], "streams_publishes": { @@ -44,4 +52,4 @@ } } } -} \ No newline at end of file +} -- cgit 1.2.3-korg