diff options
author | awudzins <adam.wudzinski@nokia.com> | 2020-02-18 13:13:12 +0100 |
---|---|---|
committer | awudzins <adam.wudzinski@nokia.com> | 2020-02-18 14:52:12 +0100 |
commit | 43e32e7b052600fc7ebd675a7a6b32bab5b6f992 (patch) | |
tree | 40f195f21f52de8c2bc50060b4754729ae3b4838 /certService/src/main/java | |
parent | 39d5f8d61857e55fd36add1235ca87157b4c9c92 (diff) |
Add configuration reading mechanism for CMP Server
Issue-ID: AAF-997
Signed-off-by: adamwudzinski <adam.wudzinski@nokia.com>
Change-Id: I66ca48b019544f970fb1db18236a093cae28b2aa
Diffstat (limited to 'certService/src/main/java')
6 files changed, 280 insertions, 0 deletions
diff --git a/certService/src/main/java/org/onap/aaf/certservice/certification/configuration/CmpServersConfig.java b/certService/src/main/java/org/onap/aaf/certservice/certification/configuration/CmpServersConfig.java new file mode 100644 index 00000000..105b10e7 --- /dev/null +++ b/certService/src/main/java/org/onap/aaf/certservice/certification/configuration/CmpServersConfig.java @@ -0,0 +1,43 @@ +/* + * ============LICENSE_START======================================================= + * PROJECT + * ================================================================================ + * Copyright (C) 2020 Nokia. 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. + * ============LICENSE_END========================================================= + */ + +package org.onap.aaf.certservice.certification.configuration; + +import java.util.Collections; +import java.util.List; +import javax.annotation.PostConstruct; +import org.onap.aaf.certservice.certification.configuration.model.Cmpv2Server; +import org.springframework.context.annotation.Configuration; + +@Configuration +public class CmpServersConfig { + + private static final String CMP_SERVERS_CONFIG_FILENAME = "cmpServers.json"; + private List<Cmpv2Server> cmpServers; + + @PostConstruct + private void loadConfiguration() { + cmpServers = Collections.unmodifiableList(new CmpServersConfigLoader().load(CMP_SERVERS_CONFIG_FILENAME)); + } + + public List<Cmpv2Server> getCmpServers() { + return cmpServers; + } +} 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 new file mode 100644 index 00000000..b31fbcad --- /dev/null +++ b/certService/src/main/java/org/onap/aaf/certservice/certification/configuration/CmpServersConfigLoader.java @@ -0,0 +1,60 @@ +/* + * ============LICENSE_START======================================================= + * PROJECT + * ================================================================================ + * Copyright (C) 2020 Nokia. 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. + * ============LICENSE_END========================================================= + */ + +package org.onap.aaf.certservice.certification.configuration; + +import com.fasterxml.jackson.databind.ObjectMapper; +import java.io.File; +import java.io.FileNotFoundException; +import java.io.IOException; +import java.net.URL; +import java.util.ArrayList; +import java.util.List; +import org.onap.aaf.certservice.certification.CertificationModelFactory; +import org.onap.aaf.certservice.certification.configuration.model.CmpServers; +import org.onap.aaf.certservice.certification.configuration.model.Cmpv2Server; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +class CmpServersConfigLoader { + private static final Logger LOGGER = LoggerFactory.getLogger(CertificationModelFactory.class); + + List<Cmpv2Server> load(String path) { + List<Cmpv2Server> result = new ArrayList<>(); + try { + result = loadConfigFromFile(path).getCmpv2Servers(); + } catch (FileNotFoundException e) { + LOGGER.error("CMP Servers configuration file not found: ", e); + } catch (IOException e) { + LOGGER.error("Exception occurred during CMP Servers configuration loading: ", e); + } + return result; + } + + private CmpServers loadConfigFromFile(String path) throws IOException { + ObjectMapper objectMapper = new ObjectMapper(); + URL resource = getClass().getClassLoader().getResource(path); + if (resource == null) { + throw new FileNotFoundException(); + } + String configFilePath = resource.getFile(); + return objectMapper.readValue(new File(configFilePath), CmpServers.class); + } +} diff --git a/certService/src/main/java/org/onap/aaf/certservice/certification/configuration/model/Authentication.java b/certService/src/main/java/org/onap/aaf/certservice/certification/configuration/model/Authentication.java new file mode 100644 index 00000000..b689eb54 --- /dev/null +++ b/certService/src/main/java/org/onap/aaf/certservice/certification/configuration/model/Authentication.java @@ -0,0 +1,44 @@ +/* + * ============LICENSE_START======================================================= + * PROJECT + * ================================================================================ + * Copyright (C) 2020 Nokia. 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. + * ============LICENSE_END========================================================= + */ + +package org.onap.aaf.certservice.certification.configuration.model; + +public class Authentication { + + private String iak; + private String rv; + + public String getIak() { + return iak; + } + + public void setIak(String iak) { + this.iak = iak; + } + + public String getRv() { + return rv; + } + + public void setRv(String rv) { + this.rv = rv; + } + +} diff --git a/certService/src/main/java/org/onap/aaf/certservice/certification/configuration/model/CaMode.java b/certService/src/main/java/org/onap/aaf/certservice/certification/configuration/model/CaMode.java new file mode 100644 index 00000000..f226bc58 --- /dev/null +++ b/certService/src/main/java/org/onap/aaf/certservice/certification/configuration/model/CaMode.java @@ -0,0 +1,25 @@ +/* + * ============LICENSE_START======================================================= + * PROJECT + * ================================================================================ + * Copyright (C) 2020 Nokia. 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. + * ============LICENSE_END========================================================= + */ + +package org.onap.aaf.certservice.certification.configuration.model; + +public enum CaMode { + RA, CLIENT +} diff --git a/certService/src/main/java/org/onap/aaf/certservice/certification/configuration/model/CmpServers.java b/certService/src/main/java/org/onap/aaf/certservice/certification/configuration/model/CmpServers.java new file mode 100644 index 00000000..7fac1887 --- /dev/null +++ b/certService/src/main/java/org/onap/aaf/certservice/certification/configuration/model/CmpServers.java @@ -0,0 +1,37 @@ +/* + * ============LICENSE_START======================================================= + * PROJECT + * ================================================================================ + * Copyright (C) 2020 Nokia. 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. + * ============LICENSE_END========================================================= + */ + +package org.onap.aaf.certservice.certification.configuration.model; + +import java.util.List; + +public class CmpServers { + + private List<Cmpv2Server> cmpv2Servers; + + public List<Cmpv2Server> getCmpv2Servers() { + return cmpv2Servers; + } + + public void setCmpv2Servers(List<Cmpv2Server> cmpv2Servers) { + this.cmpv2Servers = cmpv2Servers; + } + +} diff --git a/certService/src/main/java/org/onap/aaf/certservice/certification/configuration/model/Cmpv2Server.java b/certService/src/main/java/org/onap/aaf/certservice/certification/configuration/model/Cmpv2Server.java new file mode 100644 index 00000000..0ee91cd4 --- /dev/null +++ b/certService/src/main/java/org/onap/aaf/certservice/certification/configuration/model/Cmpv2Server.java @@ -0,0 +1,71 @@ +/* + * ============LICENSE_START======================================================= + * PROJECT + * ================================================================================ + * Copyright (C) 2020 Nokia. 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. + * ============LICENSE_END========================================================= + */ + +package org.onap.aaf.certservice.certification.configuration.model; + +public class Cmpv2Server { + + private Authentication authentication; + private CaMode caMode; + private String caName; + private String issuerDN; + private String url; + + public Authentication getAuthentication() { + return authentication; + } + + public void setAuthentication(Authentication authentication) { + this.authentication = authentication; + } + + public CaMode getCaMode() { + return caMode; + } + + public void setCaMode(CaMode caMode) { + this.caMode = caMode; + } + + public String getCaName() { + return caName; + } + + public void setCaName(String caName) { + this.caName = caName; + } + + public String getIssuerDN() { + return issuerDN; + } + + public void setIssuerDN(String issuerDN) { + this.issuerDN = issuerDN; + } + + public String getUrl() { + return url; + } + + public void setUrl(String url) { + this.url = url; + } + +} |