X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=mod%2Fbpgenerator%2Fonap%2Fsrc%2Fmain%2Fjava%2Forg%2Fonap%2Fblueprintgenerator%2Fservice%2Fcommon%2FPropertiesService.java;h=2758f8c19c559951816b6196e5dce2288dc650fa;hb=72c2d38329865afa6692454b4fb90ab6f8a70638;hp=e858d88f14a1b1b4a8c3cd98fcb711472a90f574;hpb=55dcf3197958c76b1622a0c26489e68fe77e0314;p=dcaegen2%2Fplatform.git diff --git a/mod/bpgenerator/onap/src/main/java/org/onap/blueprintgenerator/service/common/PropertiesService.java b/mod/bpgenerator/onap/src/main/java/org/onap/blueprintgenerator/service/common/PropertiesService.java index e858d88..2758f8c 100644 --- a/mod/bpgenerator/onap/src/main/java/org/onap/blueprintgenerator/service/common/PropertiesService.java +++ b/mod/bpgenerator/onap/src/main/java/org/onap/blueprintgenerator/service/common/PropertiesService.java @@ -4,6 +4,7 @@ * * 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. @@ -23,9 +24,15 @@ 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; @@ -35,25 +42,13 @@ import org.onap.blueprintgenerator.model.dmaap.Streams; 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 used by ONAP and DMAAP Blueprint to create Properties Node + * @date 10/16/2020 Application: ONAP - Blueprint Generator Common ONAP Service to create Properties Node */ - - - @Service("onapPropertiesService") public class PropertiesService { @@ -72,24 +67,34 @@ public class PropertiesService { @Autowired private BlueprintHelperService blueprintHelperService; - // Method to create ONAP properties - public Map createOnapProperties(Map> inputs, OnapComponentSpec onapComponentSpec, String override) { - Map response = new HashMap<>(); - org.onap.blueprintgenerator.model.common.Properties properties = new org.onap.blueprintgenerator.model.common.Properties(); + /** + * Creates ONAP properties + * + * @param inputs Inputs + * @param onapComponentSpec OnapComponentSpec + * @param override Override + * @return + */ + public Map createOnapProperties( + Map> inputs, + OnapComponentSpec onapComponentSpec, + String override) { + Map response = new HashMap<>(); + org.onap.blueprintgenerator.model.common.Properties properties = + new org.onap.blueprintgenerator.model.common.Properties(); GetInput image = new GetInput(); image.setBpInputName("image"); properties.setImage(image); - LinkedHashMap img = new LinkedHashMap<>(); - inputs.put("image", blueprintHelperService.createStringInput(onapComponentSpec.getArtifacts()[0].getUri())); - + inputs.put( + "image", + blueprintHelperService.createStringInput(onapComponentSpec.getArtifacts()[0].getUri())); GetInput location = new GetInput(); location.setBpInputName("location_id"); properties.setLocation_id(location); - LinkedHashMap locMap = new LinkedHashMap(); inputs.put("location_id", blueprintHelperService.createStringInput(Constants.EMPTY_VALUE)); properties.setLog_info(onapComponentSpec.getAuxilary().getLog_info()); @@ -98,15 +103,17 @@ public class PropertiesService { replica.setBpInputName("replicas"); properties.setReplicas(replica); - LinkedHashMap replicas = blueprintHelperService.createIntegerInput("number of instances", 1); + Map replicas = + blueprintHelperService.createIntegerInput("number of instances", 1); inputs.put("replicas", replicas); OnapAuxilary onapAuxilary = onapComponentSpec.getAuxilary(); properties.setDocker_config(onapAuxilary); - Map appConfigResponse = appConfigService.createAppconfig(inputs, onapComponentSpec, override, false); - inputs = (Map>) appConfigResponse.get("inputs"); + Map appConfigResponse = + appConfigService.createAppconfig(inputs, onapComponentSpec, false); + inputs = (Map>) appConfigResponse.get("inputs"); properties.setApplication_config((Appconfig) appConfigResponse.get("appconfig")); GetInput always_pull_image = new GetInput(); @@ -114,47 +121,68 @@ public class PropertiesService { properties.setAlways_pull_image(always_pull_image); - LinkedHashMap inputAlwaysPullImage = blueprintHelperService.createBooleanInput("Set to true if the image should always be pulled",true); + Map inputAlwaysPullImage = + blueprintHelperService.createBooleanInput( + "Set to true if the image should always be pulled", true); inputs.put("always_pull_image", inputAlwaysPullImage); String sType = onapComponentSpec.getSelf().getName(); sType = sType.replace('.', '-'); properties.setService_component_type(sType); + inputs.put(Constants.SERVICE_COMPONENT_NAME_OVERRIDE, + addServiceComponentNameOverride(override, properties)); + Map tls_info = onapComponentSpec.getAuxilary().getTls_info(); - if(tls_info != null) { + if (tls_info != null) { addTlsInfo(onapComponentSpec, inputs, properties); if (tls_info.get(Constants.USE_EXTERNAL_TLS_FIELD) != null) { - inputs.putAll(addExternalTlsInfo(onapComponentSpec,properties)); + inputs.putAll(addExternalTlsInfo(onapComponentSpec, properties)); } } - Map resourceConfigResponse = resourceConfigService.createResourceConfig(inputs, onapComponentSpec.getSelf().getName()); - inputs = (Map>) resourceConfigResponse.get("inputs"); - properties.setResource_config((ResourceConfig) resourceConfigResponse.get("resourceConfig")); + Map resourceConfigResponse = + resourceConfigService + .createResourceConfig(inputs, onapComponentSpec.getSelf().getName()); + inputs = (Map>) resourceConfigResponse.get("inputs"); + properties + .setResource_config((ResourceConfig) resourceConfigResponse.get("resourceConfig")); response.put("properties", properties); response.put("inputs", inputs); return response; } - // Method to create Dmaap properties - public Map createDmaapProperties(Map> inputs, OnapComponentSpec onapComponentSpec, String override) { - Map response = new HashMap<>(); - org.onap.blueprintgenerator.model.common.Properties properties = new org.onap.blueprintgenerator.model.common.Properties(); + /** + * Creates Dmaap properties + * + * @param inputs Inputs + * @param onapComponentSpec OnapComponentSpec + * @param override Override + * @return + */ + public Map createDmaapProperties( + Map> inputs, + OnapComponentSpec onapComponentSpec, + String override) { + Map response = new HashMap<>(); + org.onap.blueprintgenerator.model.common.Properties properties = + new org.onap.blueprintgenerator.model.common.Properties(); GetInput image = new GetInput(); image.setBpInputName("tag_version"); properties.setImage(image); - LinkedHashMap img = new LinkedHashMap<>(); - inputs.put("tag_version", blueprintHelperService.createStringInput(onapComponentSpec.getArtifacts()[0].getUri())); + Map img = new LinkedHashMap<>(); + inputs.put( + "tag_version", + blueprintHelperService.createStringInput(onapComponentSpec.getArtifacts()[0].getUri())); GetInput location = new GetInput(); location.setBpInputName("location_id"); properties.setLocation_id(location); - LinkedHashMap locMap = new LinkedHashMap(); + Map locMap = new LinkedHashMap(); inputs.put("location_id", blueprintHelperService.createStringInput(Constants.EMPTY_VALUE)); properties.setLog_info(onapComponentSpec.getAuxilary().getLog_info()); @@ -163,11 +191,14 @@ public class PropertiesService { sType = sType.replace('.', '-'); properties.setService_component_type(sType); + inputs.put(Constants.SERVICE_COMPONENT_NAME_OVERRIDE, + addServiceComponentNameOverride(override, properties)); + Map tls_info = onapComponentSpec.getAuxilary().getTls_info(); - if(tls_info != null) { + if (tls_info != null) { addTlsInfo(onapComponentSpec, inputs, properties); if (tls_info.get(Constants.USE_EXTERNAL_TLS_FIELD) != null) { - inputs.putAll(addExternalTlsInfo(onapComponentSpec,properties)); + inputs.putAll(addExternalTlsInfo(onapComponentSpec, properties)); } } @@ -175,31 +206,50 @@ public class PropertiesService { replica.setBpInputName("replicas"); properties.setReplicas(replica); - LinkedHashMap rep = blueprintHelperService.createIntegerInput( "number of instances", 1); + Map rep = + blueprintHelperService.createIntegerInput("number of instances", 1); inputs.put("replicas", rep); OnapAuxilary onapAuxilary = onapComponentSpec.getAuxilary(); properties.setDocker_config(onapAuxilary); - Map appConfigResponse = appConfigService.createAppconfig(inputs, onapComponentSpec, override, true); - inputs = (Map>) appConfigResponse.get("inputs"); + Map appConfigResponse = + appConfigService.createAppconfig(inputs, onapComponentSpec, true); + inputs = (Map>) appConfigResponse.get("inputs"); properties.setApplication_config((Appconfig) appConfigResponse.get("appconfig")); - List pubStreams = new ArrayList(); - if(onapComponentSpec.getStreams() != null) { + if (onapComponentSpec.getStreams() != null) { if (onapComponentSpec.getStreams().getPublishes() != null) { for (Publishes publishes : onapComponentSpec.getStreams().getPublishes()) { if (blueprintHelperService.isMessageRouterType(publishes.getType())) { - String topic = publishes.getConfig_key() + Constants._TOPIC; - Map streamsMessageRouterResponse = streamsService.createStreams(inputs, topic, publishes.getType(), publishes.getConfig_key(), publishes.getRoute(), 'p'); - inputs = (Map>) streamsMessageRouterResponse.get("inputs"); + String topic = publishes.getConfig_key() + Constants.A_TOPIC; + Map streamsMessageRouterResponse = + streamsService.createStreams( + inputs, + topic, + publishes.getType(), + publishes.getConfig_key(), + publishes.getRoute(), + 'p'); + inputs = + (Map>) + streamsMessageRouterResponse.get("inputs"); pubStreams.add((Streams) streamsMessageRouterResponse.get("streams")); } else if (blueprintHelperService.isDataRouterType(publishes.getType())) { - String feed = publishes.getConfig_key() + Constants._FEED; - Map streamsDataRouterResponse = streamsService.createStreams(inputs, feed, publishes.getType(), publishes.getConfig_key(), publishes.getRoute(), 'p'); - inputs = (Map>) streamsDataRouterResponse.get("inputs"); + String feed = publishes.getConfig_key() + Constants.A_FEED; + Map streamsDataRouterResponse = + streamsService.createStreams( + inputs, + feed, + publishes.getType(), + publishes.getConfig_key(), + publishes.getRoute(), + 'p'); + inputs = + (Map>) + streamsDataRouterResponse.get("inputs"); pubStreams.add((Streams) streamsDataRouterResponse.get("streams")); } } @@ -207,53 +257,91 @@ public class PropertiesService { } ArrayList subStreams = new ArrayList(); - if(onapComponentSpec.getStreams() != null) { + if (onapComponentSpec.getStreams() != null) { if (onapComponentSpec.getStreams().getSubscribes() != null) { for (Subscribes subscribes : onapComponentSpec.getStreams().getSubscribes()) { if (blueprintHelperService.isMessageRouterType(subscribes.getType())) { - String topic = subscribes.getConfig_key() + Constants._TOPIC; - Map streamsMessageRouterResponse = streamsService.createStreams(inputs, topic, subscribes.getType(), subscribes.getConfig_key(), subscribes.getRoute(), 's'); - inputs = (Map>) streamsMessageRouterResponse.get("inputs"); + String topic = subscribes.getConfig_key() + Constants.A_TOPIC; + Map streamsMessageRouterResponse = + streamsService.createStreams( + inputs, + topic, + subscribes.getType(), + subscribes.getConfig_key(), + subscribes.getRoute(), + 's'); + inputs = + (Map>) + streamsMessageRouterResponse.get("inputs"); subStreams.add((Streams) streamsMessageRouterResponse.get("streams")); } else if (blueprintHelperService.isDataRouterType(subscribes.getType())) { - String feed = subscribes.getConfig_key() + Constants._FEED; - Map streamsDataRouterResponse = streamsService.createStreams(inputs, feed, subscribes.getType(), subscribes.getConfig_key(), subscribes.getRoute(), 's'); - inputs = (Map>) streamsDataRouterResponse.get("inputs"); + String feed = subscribes.getConfig_key() + Constants.A_FEED; + Map streamsDataRouterResponse = + streamsService.createStreams( + inputs, + feed, + subscribes.getType(), + subscribes.getConfig_key(), + subscribes.getRoute(), + 's'); + inputs = + (Map>) + streamsDataRouterResponse.get("inputs"); subStreams.add((Streams) streamsDataRouterResponse.get("streams")); } } } } - if(!pubStreams.isEmpty()) + if (!pubStreams.isEmpty()) { properties.setStreams_publishes(pubStreams); + } - if(!subStreams.isEmpty()) + if (!subStreams.isEmpty()) { properties.setStreams_subscribes(subStreams); + } - Map resourceConfigResponse = resourceConfigService.createResourceConfig(inputs, onapComponentSpec.getSelf().getName()); - inputs = (Map>) resourceConfigResponse.get("inputs"); - properties.setResource_config((ResourceConfig) resourceConfigResponse.get("resourceConfig")); + Map resourceConfigResponse = + resourceConfigService + .createResourceConfig(inputs, onapComponentSpec.getSelf().getName()); + inputs = (Map>) resourceConfigResponse.get("inputs"); + properties + .setResource_config((ResourceConfig) resourceConfigResponse.get("resourceConfig")); response.put("properties", properties); response.put("inputs", inputs); return response; } - private void addTlsInfo(OnapComponentSpec onapComponentSpec, Map> inputs, Properties properties) { + private Map 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> inputs, + Properties properties) { TlsInfo tlsInfo = new TlsInfo(); - tlsInfo.setCertDirectory((String) onapComponentSpec.getAuxilary().getTls_info().get("cert_directory")); + tlsInfo.setCertDirectory( + (String) onapComponentSpec.getAuxilary().getTls_info().get("cert_directory")); GetInput useTLSFlag = new GetInput(); useTLSFlag.setBpInputName("use_tls"); tlsInfo.setUseTls(useTLSFlag); properties.setTls_info(tlsInfo); - LinkedHashMap useTlsFlagInput = blueprintHelperService.createBooleanInput("flag to indicate tls enable/disable",onapComponentSpec.getAuxilary().getTls_info().get("use_tls")); + Map useTlsFlagInput = + blueprintHelperService.createBooleanInput( + "flag to indicate tls enable/disable", + onapComponentSpec.getAuxilary().getTls_info().get("use_tls")); inputs.put("use_tls", useTlsFlagInput); } - private Map> addExternalTlsInfo(OnapComponentSpec onapComponentSpec, Properties properties) { - properties.setExternal_cert(externalTlsInfoFactoryService.createFromComponentSpec(onapComponentSpec)); - return externalTlsInfoFactoryService.createInputListFromComponentSpec(onapComponentSpec); - } - + private Map> addExternalTlsInfo( + OnapComponentSpec onapComponentSpec, Properties properties) { + properties.setExternal_cert( + externalTlsInfoFactoryService.createFromComponentSpec(onapComponentSpec)); + return externalTlsInfoFactoryService.createInputListFromComponentSpec(onapComponentSpec); + } }