diff options
Diffstat (limited to 'certService/src/main/java/org/onap/aaf/certservice/certification/configuration/CmpServersConfigLoader.java')
-rw-r--r-- | certService/src/main/java/org/onap/aaf/certservice/certification/configuration/CmpServersConfigLoader.java | 31 |
1 files changed, 23 insertions, 8 deletions
diff --git a/certService/src/main/java/org/onap/aaf/certservice/certification/configuration/CmpServersConfigLoader.java b/certService/src/main/java/org/onap/aaf/certservice/certification/configuration/CmpServersConfigLoader.java index c8415ac0..a6dd5fcf 100644 --- a/certService/src/main/java/org/onap/aaf/certservice/certification/configuration/CmpServersConfigLoader.java +++ b/certService/src/main/java/org/onap/aaf/certservice/certification/configuration/CmpServersConfigLoader.java @@ -21,30 +21,45 @@ package org.onap.aaf.certservice.certification.configuration; import com.fasterxml.jackson.databind.ObjectMapper; +import java.io.File; +import java.io.IOException; +import java.security.InvalidParameterException; +import java.util.ArrayList; +import java.util.List; import org.onap.aaf.certservice.certification.configuration.model.CmpServers; import org.onap.aaf.certservice.certification.configuration.model.Cmpv2Server; +import org.onap.aaf.certservice.certification.configuration.validation.Cmpv2ServerConfigurationValidator; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; -import java.io.File; -import java.io.IOException; -import java.util.ArrayList; -import java.util.List; - @Component class CmpServersConfigLoader { + private static final Logger LOGGER = LoggerFactory.getLogger(CmpServersConfigLoader.class); + private final Cmpv2ServerConfigurationValidator validator; + + @Autowired + public CmpServersConfigLoader(Cmpv2ServerConfigurationValidator validator) { + this.validator = validator; + } + List<Cmpv2Server> load(String path) { - List<Cmpv2Server> result = new ArrayList<>(); + List<Cmpv2Server> servers = new ArrayList<>(); try { - result = loadConfigFromFile(path).getCmpv2Servers(); + servers = loadConfigFromFile(path).getCmpv2Servers(); + servers.forEach(validator::validate); LOGGER.info(String.format("CMP Servers configuration successfully loaded from file '%s'", path)); } catch (IOException e) { LOGGER.error("Exception occurred during CMP Servers configuration loading: ", e); + } catch (InvalidParameterException e) { + LOGGER.error("Validation of CMPv2 servers configuration failed:", e); + throw e; } - return result; + + return servers; } private CmpServers loadConfigFromFile(String path) throws IOException { |