* * org.onap.dcae
* * ================================================================================
* * Copyright (c) 2020 AT&T Intellectual Property. All rights reserved.
+ * * Copyright (c) 2021 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.
package org.onap.blueprintgenerator.service.common;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.Map;
import org.onap.blueprintgenerator.constants.Constants;
import org.onap.blueprintgenerator.model.common.Appconfig;
import org.onap.blueprintgenerator.model.common.GetInput;
+import org.onap.blueprintgenerator.model.common.Properties;
import org.onap.blueprintgenerator.model.common.ResourceConfig;
import org.onap.blueprintgenerator.model.componentspec.OnapAuxilary;
import org.onap.blueprintgenerator.model.componentspec.OnapComponentSpec;
import org.onap.blueprintgenerator.model.dmaap.TlsInfo;
import org.onap.blueprintgenerator.service.base.BlueprintHelperService;
import org.onap.blueprintgenerator.service.dmaap.StreamsService;
-import org.onap.blueprintgenerator.model.common.Properties;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
-import java.util.LinkedHashMap;
-import java.util.Map;
-import java.util.HashMap;
-import java.util.ArrayList;
-import java.util.List;
-
/**
* @author : Ravi Mantena
- * @date 10/16/2020 Application: ONAP - Blueprint Generator Common ONAP Service to create Properties
- * Node
+ * @date 10/16/2020 Application: ONAP - Blueprint Generator Common ONAP Service to create Properties Node
*/
@Service("onapPropertiesService")
public class PropertiesService {
/**
* Creates ONAP properties
*
- * @param inputs Inputs
+ * @param inputs Inputs
* @param onapComponentSpec OnapComponentSpec
- * @param override Override
+ * @param override Override
* @return
*/
public Map<String, Object> createOnapProperties(
- Map<String, LinkedHashMap<String, Object>> inputs,
+ Map<String, Map<String, Object>> inputs,
OnapComponentSpec onapComponentSpec,
String override) {
Map<String, Object> response = new HashMap<>();
image.setBpInputName("image");
properties.setImage(image);
- LinkedHashMap<String, Object> img = new LinkedHashMap<>();
inputs.put(
"image",
blueprintHelperService.createStringInput(onapComponentSpec.getArtifacts()[0].getUri()));
location.setBpInputName("location_id");
properties.setLocation_id(location);
- LinkedHashMap<String, Object> locMap = new LinkedHashMap();
inputs.put("location_id", blueprintHelperService.createStringInput(Constants.EMPTY_VALUE));
properties.setLog_info(onapComponentSpec.getAuxilary().getLog_info());
replica.setBpInputName("replicas");
properties.setReplicas(replica);
- LinkedHashMap<String, Object> replicas =
+ Map<String, Object> replicas =
blueprintHelperService.createIntegerInput("number of instances", 1);
inputs.put("replicas", replicas);
properties.setDocker_config(onapAuxilary);
Map<String, Object> appConfigResponse =
- appConfigService.createAppconfig(inputs, onapComponentSpec, override, false);
- inputs = (Map<String, LinkedHashMap<String, Object>>) appConfigResponse.get("inputs");
+ appConfigService.createAppconfig(inputs, onapComponentSpec, false);
+ inputs = (Map<String, Map<String, Object>>) appConfigResponse.get("inputs");
properties.setApplication_config((Appconfig) appConfigResponse.get("appconfig"));
GetInput always_pull_image = new GetInput();
properties.setAlways_pull_image(always_pull_image);
- LinkedHashMap<String, Object> inputAlwaysPullImage =
+ Map<String, Object> inputAlwaysPullImage =
blueprintHelperService.createBooleanInput(
"Set to true if the image should always be pulled", true);
inputs.put("always_pull_image", inputAlwaysPullImage);
sType = sType.replace('.', '-');
properties.setService_component_type(sType);
+ inputs.put(Constants.SERVICE_COMPONENT_NAME_OVERRIDE,
+ addServiceComponentNameOverride(override, properties));
+
Map<String, Object> tls_info = onapComponentSpec.getAuxilary().getTls_info();
if (tls_info != null) {
addTlsInfo(onapComponentSpec, inputs, properties);
Map<String, Object> resourceConfigResponse =
resourceConfigService
.createResourceConfig(inputs, onapComponentSpec.getSelf().getName());
- inputs = (Map<String, LinkedHashMap<String, Object>>) resourceConfigResponse.get("inputs");
+ inputs = (Map<String, Map<String, Object>>) resourceConfigResponse.get("inputs");
properties
.setResource_config((ResourceConfig) resourceConfigResponse.get("resourceConfig"));
/**
* Creates Dmaap properties
*
- * @param inputs Inputs
+ * @param inputs Inputs
* @param onapComponentSpec OnapComponentSpec
- * @param override Override
+ * @param override Override
* @return
*/
public Map<String, Object> createDmaapProperties(
- Map<String, LinkedHashMap<String, Object>> inputs,
+ Map<String, Map<String, Object>> inputs,
OnapComponentSpec onapComponentSpec,
String override) {
Map<String, Object> response = new HashMap<>();
image.setBpInputName("tag_version");
properties.setImage(image);
- LinkedHashMap<String, Object> img = new LinkedHashMap<>();
+ Map<String, Object> img = new LinkedHashMap<>();
inputs.put(
"tag_version",
blueprintHelperService.createStringInput(onapComponentSpec.getArtifacts()[0].getUri()));
location.setBpInputName("location_id");
properties.setLocation_id(location);
- LinkedHashMap<String, Object> locMap = new LinkedHashMap();
+ Map<String, Object> locMap = new LinkedHashMap();
inputs.put("location_id", blueprintHelperService.createStringInput(Constants.EMPTY_VALUE));
properties.setLog_info(onapComponentSpec.getAuxilary().getLog_info());
sType = sType.replace('.', '-');
properties.setService_component_type(sType);
+ inputs.put(Constants.SERVICE_COMPONENT_NAME_OVERRIDE,
+ addServiceComponentNameOverride(override, properties));
+
Map<String, Object> tls_info = onapComponentSpec.getAuxilary().getTls_info();
if (tls_info != null) {
addTlsInfo(onapComponentSpec, inputs, properties);
replica.setBpInputName("replicas");
properties.setReplicas(replica);
- LinkedHashMap<String, Object> rep =
+ Map<String, Object> rep =
blueprintHelperService.createIntegerInput("number of instances", 1);
inputs.put("replicas", rep);
properties.setDocker_config(onapAuxilary);
Map<String, Object> appConfigResponse =
- appConfigService.createAppconfig(inputs, onapComponentSpec, override, true);
- inputs = (Map<String, LinkedHashMap<String, Object>>) appConfigResponse.get("inputs");
+ appConfigService.createAppconfig(inputs, onapComponentSpec, true);
+ inputs = (Map<String, Map<String, Object>>) appConfigResponse.get("inputs");
properties.setApplication_config((Appconfig) appConfigResponse.get("appconfig"));
List<Streams> pubStreams = new ArrayList();
if (onapComponentSpec.getStreams().getPublishes() != null) {
for (Publishes publishes : onapComponentSpec.getStreams().getPublishes()) {
if (blueprintHelperService.isMessageRouterType(publishes.getType())) {
- String topic = publishes.getConfig_key() + Constants._TOPIC;
+ String topic = publishes.getConfig_key() + Constants.A_TOPIC;
Map<String, Object> streamsMessageRouterResponse =
streamsService.createStreams(
inputs,
publishes.getRoute(),
'p');
inputs =
- (Map<String, LinkedHashMap<String, Object>>)
+ (Map<String, Map<String, Object>>)
streamsMessageRouterResponse.get("inputs");
pubStreams.add((Streams) streamsMessageRouterResponse.get("streams"));
} else if (blueprintHelperService.isDataRouterType(publishes.getType())) {
- String feed = publishes.getConfig_key() + Constants._FEED;
+ String feed = publishes.getConfig_key() + Constants.A_FEED;
Map<String, Object> streamsDataRouterResponse =
streamsService.createStreams(
inputs,
publishes.getRoute(),
'p');
inputs =
- (Map<String, LinkedHashMap<String, Object>>)
+ (Map<String, Map<String, Object>>)
streamsDataRouterResponse.get("inputs");
pubStreams.add((Streams) streamsDataRouterResponse.get("streams"));
}
if (onapComponentSpec.getStreams().getSubscribes() != null) {
for (Subscribes subscribes : onapComponentSpec.getStreams().getSubscribes()) {
if (blueprintHelperService.isMessageRouterType(subscribes.getType())) {
- String topic = subscribes.getConfig_key() + Constants._TOPIC;
+ String topic = subscribes.getConfig_key() + Constants.A_TOPIC;
Map<String, Object> streamsMessageRouterResponse =
streamsService.createStreams(
inputs,
subscribes.getRoute(),
's');
inputs =
- (Map<String, LinkedHashMap<String, Object>>)
+ (Map<String, Map<String, Object>>)
streamsMessageRouterResponse.get("inputs");
subStreams.add((Streams) streamsMessageRouterResponse.get("streams"));
} else if (blueprintHelperService.isDataRouterType(subscribes.getType())) {
- String feed = subscribes.getConfig_key() + Constants._FEED;
+ String feed = subscribes.getConfig_key() + Constants.A_FEED;
Map<String, Object> streamsDataRouterResponse =
streamsService.createStreams(
inputs,
subscribes.getRoute(),
's');
inputs =
- (Map<String, LinkedHashMap<String, Object>>)
+ (Map<String, Map<String, Object>>)
streamsDataRouterResponse.get("inputs");
subStreams.add((Streams) streamsDataRouterResponse.get("streams"));
}
Map<String, Object> resourceConfigResponse =
resourceConfigService
.createResourceConfig(inputs, onapComponentSpec.getSelf().getName());
- inputs = (Map<String, LinkedHashMap<String, Object>>) resourceConfigResponse.get("inputs");
+ inputs = (Map<String, Map<String, Object>>) resourceConfigResponse.get("inputs");
properties
.setResource_config((ResourceConfig) resourceConfigResponse.get("resourceConfig"));
return response;
}
+ private Map<String, Object> addServiceComponentNameOverride(String override, Properties properties) {
+ GetInput overrideGetInput = new GetInput();
+ overrideGetInput.setBpInputName(Constants.SERVICE_COMPONENT_NAME_OVERRIDE);
+ properties.setService_component_name_override(overrideGetInput);
+ return blueprintHelperService.createStringInput(override != null ? override : "");
+ }
+
private void addTlsInfo(
OnapComponentSpec onapComponentSpec,
- Map<String, LinkedHashMap<String, Object>> inputs,
+ Map<String, Map<String, Object>> inputs,
Properties properties) {
TlsInfo tlsInfo = new TlsInfo();
tlsInfo.setCertDirectory(
useTLSFlag.setBpInputName("use_tls");
tlsInfo.setUseTls(useTLSFlag);
properties.setTls_info(tlsInfo);
- LinkedHashMap<String, Object> useTlsFlagInput =
+ Map<String, Object> useTlsFlagInput =
blueprintHelperService.createBooleanInput(
"flag to indicate tls enable/disable",
onapComponentSpec.getAuxilary().getTls_info().get("use_tls"));
inputs.put("use_tls", useTlsFlagInput);
}
- private Map<String, LinkedHashMap<String, Object>> addExternalTlsInfo(
+ private Map<String, Map<String, Object>> addExternalTlsInfo(
OnapComponentSpec onapComponentSpec, Properties properties) {
properties.setExternal_cert(
externalTlsInfoFactoryService.createFromComponentSpec(onapComponentSpec));