aboutsummaryrefslogtreecommitdiffstats
path: root/certService/src/main/java/org/onap/aaf/certservice/certification/configuration/CmpServersConfigLoader.java
diff options
context:
space:
mode:
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.java31
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 {