From 69644638aa0e93c9c2c2ccea590fa02213d24a7a Mon Sep 17 00:00:00 2001 From: Remigiusz Janeczek Date: Wed, 17 Jun 2020 17:52:56 +0200 Subject: Add external tls info to bpgenerator and component spec schema Also: - Fix issue where local run without import file caused exception instead of use of default imports. - Update blueprint generator version from 1.3.2 to 1.4.0 Issue-ID: DCAEGEN2-2251 Signed-off-by: Remigiusz Janeczek Change-Id: I2f976ccc3e0b271bf9ae1357f02bd86fe0903459 --- .../models/blueprint/Properties.java | 96 ++++++++++++---------- 1 file changed, 54 insertions(+), 42 deletions(-) (limited to 'mod/bpgenerator/src/main/java/org/onap/blueprintgenerator/models/blueprint/Properties.java') diff --git a/mod/bpgenerator/src/main/java/org/onap/blueprintgenerator/models/blueprint/Properties.java b/mod/bpgenerator/src/main/java/org/onap/blueprintgenerator/models/blueprint/Properties.java index 382964b..d7947f8 100644 --- a/mod/bpgenerator/src/main/java/org/onap/blueprintgenerator/models/blueprint/Properties.java +++ b/mod/bpgenerator/src/main/java/org/onap/blueprintgenerator/models/blueprint/Properties.java @@ -1,8 +1,10 @@ -/**============LICENSE_START======================================================= - org.onap.dcae - ================================================================================ +/**============LICENSE_START======================================================= + org.onap.dcae + ================================================================================ Copyright (c) 2019 AT&T Intellectual Property. All rights reserved. - ================================================================================ + ================================================================================ + Modifications Copyright (c) 2020 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. You may obtain a copy of the License at @@ -15,13 +17,13 @@ See the License for the specific language governing permissions and limitations under the License. ============LICENSE_END========================================================= - */ package org.onap.blueprintgenerator.models.blueprint; import java.util.ArrayList; import java.util.LinkedHashMap; +import java.util.Map; import java.util.TreeMap; import org.onap.blueprintgenerator.models.componentspec.Auxilary; @@ -33,10 +35,12 @@ import org.onap.blueprintgenerator.models.dmaapbp.DmaapStreams; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude.Include; -import lombok.Getter; import lombok.Setter; +import lombok.Getter; +import lombok.Setter; -@Getter @Setter -@JsonInclude(value=Include.NON_NULL) +@Getter +@Setter +@JsonInclude(value = Include.NON_NULL) public class Properties { private Appconfig application_config; private Auxilary docker_config; @@ -52,6 +56,7 @@ public class Properties { ArrayList streams_publishes; ArrayList streams_subscribes; private TlsInfo tls_info; + private ExternalTlsInfo external_cert; private ResourceConfig resource_config; private GetInput always_pull_image; //private boolean useExisting; @@ -85,10 +90,7 @@ public class Properties { GetInput replica = new GetInput(); replica.setGet_input("replicas"); this.setReplicas(replica); - LinkedHashMap rep = new LinkedHashMap(); - rep.put("type", "integer"); - rep.put("description", "number of instances"); - rep.put("default", 1); + LinkedHashMap rep = makeInput("integer", "number of instances", 1); retInputs.put("replicas", rep); //set the dns name @@ -112,10 +114,9 @@ public class Properties { // set always_pull_image this.always_pull_image = new GetInput(); this.always_pull_image.setGet_input("always_pull_image"); - LinkedHashMap inputAlwaysPullImage = new LinkedHashMap(); - inputAlwaysPullImage.put("type", "boolean"); - inputAlwaysPullImage.put("description", "Set to true if the image should always be pulled"); - inputAlwaysPullImage.put("default", true); + LinkedHashMap inputAlwaysPullImage = makeInput("boolean", + "Set to true if the image should always be pulled", + true); retInputs.put("always_pull_image", inputAlwaysPullImage); @@ -124,9 +125,10 @@ public class Properties { sType = sType.replace('.', '-'); this.setService_component_type(sType); - //set the tls info - if(cs.getAuxilary().getTls_info() != null){ - addTlsInfo(cs,retInputs); + //set the tls info for internal and external communication + if (cs.getAuxilary().getTls_info() != null) { + addTlsInfo(cs, retInputs); + addExternalTlsInfo(cs, retInputs); } //set the reource config @@ -168,19 +170,17 @@ public class Properties { sType = sType.replace('.', '-'); this.setService_component_type(sType); - //set the tls info - if(cs.getAuxilary().getTls_info() != null){ - addTlsInfo(cs,retInputs); + //set the tls info for internal and external communication + if (cs.getAuxilary().getTls_info() != null) { + addTlsInfo(cs, retInputs); + addExternalTlsInfo(cs, retInputs); } //set the replicas GetInput replica = new GetInput(); replica.setGet_input("replicas"); this.setReplicas(replica); - LinkedHashMap rep = new LinkedHashMap(); - rep.put("type", "integer"); - rep.put("description", "number of instances"); - rep.put("default", 1); + LinkedHashMap rep = makeInput("integer", "number of instances", 1); retInputs.put("replicas", rep); // //set the dns name @@ -203,15 +203,14 @@ public class Properties { //set the stream publishes ArrayList pubStreams = new ArrayList(); - if(cs.getStreams().getPublishes() != null) { - for(Publishes p: cs.getStreams().getPublishes()) { - if(p.getType().equals("message_router") || p.getType().equals("message router")) { + if (cs.getStreams().getPublishes() != null) { + for (Publishes p : cs.getStreams().getPublishes()) { + if (p.getType().equals("message_router") || p.getType().equals("message router")) { String topic = p.getConfig_key() + "_topic"; DmaapStreams mrStreams = new DmaapStreams(); retInputs = mrStreams.createStreams(inps, cs, topic, p.getType(), p.getConfig_key(), p.getRoute(), 'p'); pubStreams.add(mrStreams); - } - else if(p.getType().equals("data_router") || p.getType().equals("data router")){ + } else if (p.getType().equals("data_router") || p.getType().equals("data router")) { String feed = p.getConfig_key() + "_feed"; DmaapStreams drStreams = new DmaapStreams(); retInputs = drStreams.createStreams(inps, cs, feed, p.getType(), p.getConfig_key(), p.getRoute(), 'p'); @@ -222,15 +221,14 @@ public class Properties { //set the stream subscribes ArrayList subStreams = new ArrayList(); - if(cs.getStreams().getSubscribes() != null) { - for(Subscribes s: cs.getStreams().getSubscribes()) { - if(s.getType().equals("message_router") || s.getType().equals("message router")) { + if (cs.getStreams().getSubscribes() != null) { + for (Subscribes s : cs.getStreams().getSubscribes()) { + if (s.getType().equals("message_router") || s.getType().equals("message router")) { String topic = s.getConfig_key() + "_topic"; DmaapStreams mrStreams = new DmaapStreams(); retInputs = mrStreams.createStreams(inps, cs, topic, s.getType(), s.getConfig_key(), s.getRoute(), 's'); subStreams.add(mrStreams); - } - else if(s.getType().equals("data_router") || s.getType().equals("data router")){ + } else if (s.getType().equals("data_router") || s.getType().equals("data router")) { String feed = s.getConfig_key() + "_feed"; DmaapStreams drStreams = new DmaapStreams(); retInputs = drStreams.createStreams(inps, cs, feed, s.getType(), s.getConfig_key(), s.getRoute(), 's'); @@ -239,10 +237,10 @@ public class Properties { } } - if(pubStreams.size() != 0) { + if (pubStreams.size() != 0) { this.setStreams_publishes(pubStreams); } - if(subStreams.size() != 0) { + if (subStreams.size() != 0) { this.setStreams_subscribes(subStreams); } @@ -262,10 +260,24 @@ public class Properties { useTLSFlag.setGet_input("use_tls"); tlsInfo.setUseTls(useTLSFlag); this.setTls_info(tlsInfo); - LinkedHashMap useTlsFlagInput = new LinkedHashMap(); - useTlsFlagInput.put("type", "boolean"); - useTlsFlagInput.put("description", "flag to indicate tls enable/disable"); - useTlsFlagInput.put("default", cs.getAuxilary().getTls_info().get("use_tls")); + LinkedHashMap useTlsFlagInput = makeInput("boolean", + "flag to indicate tls enable/disable", + cs.getAuxilary().getTls_info().get("use_tls")); retInputs.put("use_tls", useTlsFlagInput); } + + private void addExternalTlsInfo(ComponentSpec cs, Map> retInputs) { + if(cs.getAuxilary().getTls_info().get(ExternalTlsInfo.USE_EXTERNAL_TLS_FIELD) == null) + return; + this.setExternal_cert(ExternalTlsInfo.createFromComponentSpec(cs)); + retInputs.putAll(ExternalTlsInfo.createInputMapFromComponentSpec(cs)); + } + + static LinkedHashMap makeInput(String type, String description, Object defaultValue) { + LinkedHashMap inputMap = new LinkedHashMap<>(); + inputMap.put("type", type); + inputMap.put("description", description); + inputMap.put("default", defaultValue); + return inputMap; + } } -- cgit 1.2.3-korg