Blueprint Generator Refactored Code Issue-ID: DCAEGEN2-2472
[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  *  *  ================================================================================
8  *  *  Licensed under the Apache License, Version 2.0 (the "License");
9  *  *  you may not use this file except in compliance with the License.
10  *  *  You may obtain a copy of the License at
11  *  *
12  *  *       http://www.apache.org/licenses/LICENSE-2.0
13  *  *
14  *  *  Unless required by applicable law or agreed to in writing, software
15  *  *  distributed under the License is distributed on an "AS IS" BASIS,
16  *  *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17  *  *  See the License for the specific language governing permissions and
18  *  *  limitations under the License.
19  *  *  ============LICENSE_END=========================================================
20  *
21  *
22  */
23
24 package org.onap.blueprintgenerator.service.common;
25
26 import org.onap.blueprintgenerator.constants.Constants;
27 import org.onap.blueprintgenerator.model.common.ExternalCertificateParameters;
28 import org.onap.blueprintgenerator.service.base.BlueprintHelperService;
29 import org.springframework.beans.factory.annotation.Autowired;
30 import org.springframework.stereotype.Service;
31
32 import java.util.LinkedHashMap;
33 import java.util.Map;
34
35 /**
36  * @author : Ravi Mantena
37  * @date 10/16/2020
38  * Application: ONAP - Blueprint Generator
39  * Common ONAP Service used by ONAP and DMAAP Blueprint to add 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.createStringInput("Common name which should be present in certificate.",Constants.DEFAULT_COMMON_NAME);
62         retInputs.put(addPrefix(Constants.COMMON_NAME_FIELD), commonNameInputMap);
63
64         LinkedHashMap<String, Object> sansInputMap = blueprintHelperService.createStringInput("\"List of Subject Alternative Names (SANs) which should be present in certificate. " +
65                 "Delimiter - : Should contain a common_name value and other FQDNs under which the given " +"component is accessible.\"",Constants.DEFAULT_SANS);
66         retInputs.put(addPrefix(Constants.SANS_FIELD), sansInputMap);
67
68         return retInputs;
69     }
70
71 }