/* * * * ============LICENSE_START======================================================= * * org.onap.dcae * * ================================================================================ * * Copyright (c) 2020 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.blueprintgenerator.service.common; import org.onap.blueprintgenerator.constants.Constants; import org.onap.blueprintgenerator.model.common.ExternalTlsInfo; import org.onap.blueprintgenerator.model.componentspec.OnapComponentSpec; import org.onap.blueprintgenerator.service.base.BlueprintHelperService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.HashMap; import java.util.LinkedHashMap; import java.util.Map; /** * @author : Ravi Mantena * @date 10/16/2020 Application: ONAP - Blueprint Generator Common ONAP Service to add External TLS * Info */ @Service public class ExternalTlsInfoFactoryService extends ExternalCertificateDataFactoryService { @Autowired private ExternalCertificateParametersFactoryService externalCertificateParametersFactoryService; @Autowired private BlueprintHelperService blueprintHelperService; /** * Creates External TLS Info from Component Spec * * @param cs ComponentSpec * @return */ public ExternalTlsInfo createFromComponentSpec(OnapComponentSpec cs) { ExternalTlsInfo externalTlsInfoBp = new ExternalTlsInfo(); Map tlsInfoCs = cs.getAuxilary().getTls_info(); externalTlsInfoBp.setExternalCertDirectory( (String) tlsInfoCs.get(Constants.CERT_DIRECTORY_FIELD)); externalTlsInfoBp .setUseExternalTls(createPrefixedGetInput(Constants.USE_EXTERNAL_TLS_FIELD)); externalTlsInfoBp.setCaName(createPrefixedGetInput(Constants.CA_NAME_FIELD)); externalTlsInfoBp.setCertType(createPrefixedGetInput(Constants.CERT_TYPE_FIELD)); externalTlsInfoBp.setExternalCertificateParameters( externalCertificateParametersFactoryService.create()); return externalTlsInfoBp; } /** * Creates Input List for External TLS Info from Component Spec * * @param cs ComponentSpec * @return */ public Map> createInputListFromComponentSpec( OnapComponentSpec cs) { Map> retInputs = new HashMap<>(); Map externalTlsInfoCs = cs.getAuxilary().getTls_info(); LinkedHashMap useTlsFlagInput = blueprintHelperService.createBooleanInput( "Flag to indicate external tls enable/disable.", externalTlsInfoCs.get(Constants.USE_EXTERNAL_TLS_FIELD)); retInputs.put(addPrefix(Constants.USE_EXTERNAL_TLS_FIELD), useTlsFlagInput); LinkedHashMap caNameInputMap = blueprintHelperService.createStringInput( "Name of Certificate Authority configured on CertService side.", Constants.DEFAULT_CA); retInputs.put(addPrefix(Constants.CA_NAME_FIELD), caNameInputMap); LinkedHashMap certTypeInputMap = blueprintHelperService.createStringInput( "Format of provided certificates", Constants.DEFAULT_CERT_TYPE); retInputs.put(addPrefix(Constants.CERT_TYPE_FIELD), certTypeInputMap); retInputs.putAll(externalCertificateParametersFactoryService.createInputList()); return retInputs; } }