diff options
Diffstat (limited to 'mod2/catalog-service/src/main/java/org/onap/dcaegen2/platform/mod/util')
3 files changed, 227 insertions, 18 deletions
diff --git a/mod2/catalog-service/src/main/java/org/onap/dcaegen2/platform/mod/util/BlueprintDistributionUtils.java b/mod2/catalog-service/src/main/java/org/onap/dcaegen2/platform/mod/util/BlueprintDistributionUtils.java new file mode 100644 index 0000000..2860a39 --- /dev/null +++ b/mod2/catalog-service/src/main/java/org/onap/dcaegen2/platform/mod/util/BlueprintDistributionUtils.java @@ -0,0 +1,140 @@ +/* + * ============LICENSE_START======================================================= + * org.onap.dcae + * ================================================================================ + * Copyright (c) 2021 AT&T Intellectual Property. 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.dcaegen2.platform.mod.util; + +import java.util.HashMap; +import java.util.Map; +import javax.annotation.PostConstruct; +import org.onap.dcaegen2.platform.mod.model.exceptions.policymodel.PolicyModelDistributionEnvNotFoundException; +import org.onap.dcaegen2.platform.mod.model.policymodel.EnvInfo; +import org.onap.dcaegen2.platform.mod.model.policymodel.PolicyModelDistributionEnv; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Component; + +/** + * Policy Model Service Utils to get URL, Username, Password, Webclient + */ + +@Component +public class BlueprintDistributionUtils { + + @Value("${dcae.platform.url.path}") + private String urlpath; + + @Value("${dcae.platform.dev.server}") + private String devServer; + + @Value("${dcae.platform.dev.port}") + private String devServerPort; + + @Value("${dcae.platform.dev.user}") + private String devServerUser; + + @Value("${dcae.platform.dev.password}") + private String devServerUserPassword; + + @Value("${dcae.platform.pst.server}") + private String pstServer; + + @Value("${dcae.platform.pst.port}") + private String pstServerPort; + + @Value("${dcae.platform.pst.user}") + private String pstServerUser; + + @Value("${dcae.platform.pst.password}") + private String pstServerUserPassword; + + @Value("${dcae.platform.ete.server}") + private String eteServer; + + @Value("${dcae.platform.ete.port}") + private String eteServerPort; + + @Value("${dcae.platform.ete.user}") + private String eteServerUser; + + @Value("${dcae.platform.ete.password}") + private String eteServerUserPassword; + + @Value("${dcae.platform.prod.server}") + private String prodServer; + + @Value("${dcae.platform.prod.port}") + private String prodServerPort; + + @Value("${dcae.platform.prod.user}") + private String prodServerUser; + + @Value("${dcae.platform.prod.password}") + private String prodServerUserPassword; + + Map<String, EnvInfo> envMap; + + /** + * Creates a Blueprint Distribution Dashboard URL for the Environment requested + */ + @PostConstruct + public void init() { + envMap = new HashMap<>(); + envMap.put(PolicyModelDistributionEnv.DEV.name(), EnvInfo.builder().url("https://"+ devServer + ":" + devServerPort + urlpath).username(devServerUser).password(devServerUserPassword).build()); + envMap.put(PolicyModelDistributionEnv.PST.name(), EnvInfo.builder().url("https://"+ pstServer + ":" + pstServerPort + urlpath).username(pstServerUser).password(pstServerUserPassword).build()); + envMap.put(PolicyModelDistributionEnv.ETE.name(), EnvInfo.builder().url("https://"+ eteServer + ":" + eteServerPort + urlpath).username(eteServerUser).password(eteServerUserPassword).build()); + envMap.put(PolicyModelDistributionEnv.PROD.name(), EnvInfo.builder().url("https://"+ prodServer + ":" + prodServerPort + urlpath).username(prodServerUser).password(prodServerUserPassword).build()); + } + + /** + * Generates a Blueprint Distribution Dashboard URL for the Environment + * + * @param env + * @return + */ + public String getBlueprintDashboardURL(String env) { + if(!envMap.containsKey(env)) throw new PolicyModelDistributionEnvNotFoundException(String.format("Blueprint Dashboard Environment with env %s invalid", env)); + return envMap.get(env).getUrl(); + } + + /** + * Generates a Blueprint Distribution Dashboard UserName for the Environment + * + * @param env + * @return + */ + + public String getBlueprintDashboardUserName(String env) { + if(!envMap.containsKey(env)) throw new PolicyModelDistributionEnvNotFoundException(String.format("Blueprint Dashboard Environment with env %s invalid", env)); + return envMap.get(env).getUsername(); + } + + + /** + * Generates a Blueprint Distribution Dashboard Password for the Environment + * + * @param env + * @return + */ + + public String getBlueprintDashboardPassword(String env) { + if(!envMap.containsKey(env)) throw new PolicyModelDistributionEnvNotFoundException(String.format("Blueprint Dashboard Environment with env %s invalid", env)); + return envMap.get(env).getPassword(); + } + +} diff --git a/mod2/catalog-service/src/main/java/org/onap/dcaegen2/platform/mod/util/PolicyModelUtils.java b/mod2/catalog-service/src/main/java/org/onap/dcaegen2/platform/mod/util/PolicyModelUtils.java index 30e13ea..347e66b 100644 --- a/mod2/catalog-service/src/main/java/org/onap/dcaegen2/platform/mod/util/PolicyModelUtils.java +++ b/mod2/catalog-service/src/main/java/org/onap/dcaegen2/platform/mod/util/PolicyModelUtils.java @@ -2,7 +2,7 @@ * ============LICENSE_START======================================================= * org.onap.dcae * ================================================================================ - * Copyright (c) 2020 AT&T Intellectual Property. All rights reserved. + * Copyright (c) 2020-2021 AT&T Intellectual Property. 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. @@ -46,55 +46,55 @@ import java.util.Map; @Component public class PolicyModelUtils { - @Value("${url.path}") + @Value("${policymodel.url.path}") private String urlpath; - @Value("${dev.server}") + @Value("${policymodel.dev.server}") private String devServer; - @Value("${dev.port}") + @Value("${policymodel.dev.port}") private String devServerPort; - @Value("${dev.user}") + @Value("${policymodel.dev.user}") private String devServerUser; - @Value("${dev.password}") + @Value("${policymodel.dev.password}") private String devServerUserPassword; - @Value("${pst.server}") + @Value("${policymodel.pst.server}") private String pstServer; - @Value("${pst.port}") + @Value("${policymodel.pst.port}") private String pstServerPort; - @Value("${pst.user}") + @Value("${policymodel.pst.user}") private String pstServerUser; - @Value("${pst.password}") + @Value("${policymodel.pst.password}") private String pstServerUserPassword; - @Value("${ete.server}") + @Value("${policymodel.ete.server}") private String eteServer; - @Value("${ete.port}") + @Value("${policymodel.ete.port}") private String eteServerPort; - @Value("${ete.user}") + @Value("${policymodel.ete.user}") private String eteServerUser; - @Value("${ete.password}") + @Value("${policymodel.ete.password}") private String eteServerUserPassword; - @Value("${prod.server}") + @Value("${policymodel.prod.server}") private String prodServer; - @Value("${prod.port}") + @Value("${policymodel.prod.port}") private String prodServerPort; - @Value("${prod.user}") + @Value("${policymodel.prod.user}") private String prodServerUser; - @Value("${prod.password}") + @Value("${policymodel.prod.password}") private String prodServerUserPassword; Map<String, EnvInfo> envMap; diff --git a/mod2/catalog-service/src/main/java/org/onap/dcaegen2/platform/mod/util/SSLUtils.java b/mod2/catalog-service/src/main/java/org/onap/dcaegen2/platform/mod/util/SSLUtils.java new file mode 100644 index 0000000..a5d313d --- /dev/null +++ b/mod2/catalog-service/src/main/java/org/onap/dcaegen2/platform/mod/util/SSLUtils.java @@ -0,0 +1,69 @@ +/* + * ============LICENSE_START======================================================= + * org.onap.dcae + * ================================================================================ + * Copyright (c) 2021 AT&T Intellectual Property. 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.dcaegen2.platform.mod.util; + +import java.security.KeyManagementException; +import java.security.NoSuchAlgorithmException; +import java.security.cert.X509Certificate; +import javax.net.ssl.HttpsURLConnection; +import javax.net.ssl.SSLContext; +import javax.net.ssl.TrustManager; +import javax.net.ssl.X509TrustManager; + +public final class SSLUtils { + + static { + // for localhost testing only + HttpsURLConnection.setDefaultHostnameVerifier(new javax.net.ssl.HostnameVerifier() { + public boolean verify(String hostname, javax.net.ssl.SSLSession sslSession) { + return true; + } + }); + } + + private static final TrustManager[] UNQUESTIONING_TRUST_MANAGER = new TrustManager[] { new X509TrustManager() { + public X509Certificate[] getAcceptedIssuers() { + return null; + } + + public void checkClientTrusted(X509Certificate[] certs, String authType) { + } + + public void checkServerTrusted(X509Certificate[] certs, String authType) { + } + } }; + + public static void turnOffSslChecking() throws NoSuchAlgorithmException, KeyManagementException { + // Install the all-trusting trust manager + final SSLContext sc = SSLContext.getInstance("SSL"); + sc.init(null, UNQUESTIONING_TRUST_MANAGER, null); + HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory()); + } + + public static void turnOnSslChecking() throws KeyManagementException, NoSuchAlgorithmException { + // Return it to the initial state (discovered by reflection, now hardcoded) + SSLContext.getInstance("SSL").init(null, null, null); + } + + private SSLUtils() { + throw new UnsupportedOperationException("Do not instantiate libraries."); + } +}
\ No newline at end of file |