Update external certificates SANs delimiter
[dcaegen2/platform.git] / mod / bpgenerator / onap / src / main / java / org / onap / blueprintgenerator / service / common / ExternalCertificateParametersFactoryService.java
1 /*
2  *
3  *  * ============LICENSE_START=======================================================
4  *  *  org.onap.dcae
5  *  *  ================================================================================
6  *  *  Copyright (c) 2020  AT&T Intellectual Property. All rights reserved.
7  *  *  Copyright (c) 2020  Nokia. All rights reserved.
8  *  *  ================================================================================
9  *  *  Licensed under the Apache License, Version 2.0 (the "License");
10  *  *  you may not use this file except in compliance with the License.
11  *  *  You may obtain a copy of the License at
12  *  *
13  *  *       http://www.apache.org/licenses/LICENSE-2.0
14  *  *
15  *  *  Unless required by applicable law or agreed to in writing, software
16  *  *  distributed under the License is distributed on an "AS IS" BASIS,
17  *  *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18  *  *  See the License for the specific language governing permissions and
19  *  *  limitations under the License.
20  *  *  ============LICENSE_END=========================================================
21  *
22  *
23  */
24
25 package org.onap.blueprintgenerator.service.common;
26
27 import org.onap.blueprintgenerator.constants.Constants;
28 import org.onap.blueprintgenerator.model.common.ExternalCertificateParameters;
29 import org.onap.blueprintgenerator.service.base.BlueprintHelperService;
30 import org.springframework.beans.factory.annotation.Autowired;
31 import org.springframework.stereotype.Service;
32
33 import java.util.LinkedHashMap;
34 import java.util.Map;
35
36 /**
37  * @author : Ravi Mantena
38  * @date 10/16/2020 Application: ONAP - Blueprint Generator Common ONAP Service used by ONAP and DMAAP Blueprint to add
39  * External Certificate Parameters
40  */
41
42
43 @Service
44 public class ExternalCertificateParametersFactoryService extends ExternalCertificateDataFactoryService {
45
46     @Autowired
47     private BlueprintHelperService blueprintHelperService;
48
49     // method to create external certificate parameters
50     public ExternalCertificateParameters create() {
51         ExternalCertificateParameters externalCertificateParameters = new ExternalCertificateParameters();
52         externalCertificateParameters.setCommonName(createPrefixedGetInput(Constants.COMMON_NAME_FIELD));
53         externalCertificateParameters.setSans(createPrefixedGetInput(Constants.SANS_FIELD));
54         return externalCertificateParameters;
55     }
56
57     // method to create input list for external certificate parameters factory
58     public Map<String, LinkedHashMap<String, Object>> createInputList() {
59         Map<String, LinkedHashMap<String, Object>> retInputs = new LinkedHashMap<>();
60
61         LinkedHashMap<String, Object> commonNameInputMap = blueprintHelperService
62             .createStringInput("Common name which should be present in certificate.", Constants.DEFAULT_COMMON_NAME);
63         retInputs.put(addPrefix(Constants.COMMON_NAME_FIELD), commonNameInputMap);
64
65         LinkedHashMap<String, Object> sansInputMap = blueprintHelperService
66             .createStringInput("\"List of Subject Alternative Names (SANs) which should be present in certificate. " +
67                 "Delimiter - , Should contain a common_name value and other FQDNs under which the given "
68                 + "component is accessible.\"", Constants.DEFAULT_SANS);
69         retInputs.put(addPrefix(Constants.SANS_FIELD), sansInputMap);
70
71         return retInputs;
72     }
73
74 }