diff options
Diffstat (limited to 'mod/bpgenerator/src/main/java/org/onap/blueprintgenerator/models/blueprint')
11 files changed, 242 insertions, 283 deletions
diff --git a/mod/bpgenerator/src/main/java/org/onap/blueprintgenerator/models/blueprint/Appconfig.java b/mod/bpgenerator/src/main/java/org/onap/blueprintgenerator/models/blueprint/Appconfig.java index b39a8ec..75864be 100644 --- a/mod/bpgenerator/src/main/java/org/onap/blueprintgenerator/models/blueprint/Appconfig.java +++ b/mod/bpgenerator/src/main/java/org/onap/blueprintgenerator/models/blueprint/Appconfig.java @@ -52,8 +52,7 @@ public class Appconfig { public TreeMap<String, LinkedHashMap<String, Object>> createAppconfig(TreeMap<String, LinkedHashMap<String, Object>> inps, ComponentSpec cs, String override, boolean isDmaap) { - TreeMap<String, LinkedHashMap<String, Object>> retInputs = new TreeMap<String, LinkedHashMap<String, Object>>(); - retInputs = inps; + TreeMap<String, LinkedHashMap<String, Object>> retInputs = inps; //set service calls CallsObj[] call = new CallsObj[0]; @@ -83,7 +82,7 @@ public class Appconfig { } //set the stream publishes - TreeMap<String, DmaapObj> streamSubscribes = new TreeMap<String, DmaapObj>(); + TreeMap<String, DmaapObj> streamSubscribes = new TreeMap<>(); if(cs.getStreams().getSubscribes().length != 0) { for(Subscribes s: cs.getStreams().getSubscribes()) { @@ -110,7 +109,7 @@ public class Appconfig { this.setStreams_subscribes(streamSubscribes); //set the parameters into the appconfig - TreeMap<String, Object> parameters = new TreeMap<String, Object>(); + TreeMap<String, Object> parameters = new TreeMap<>(); for(Parameters p: cs.getParameters()) { String pName = p.getName(); if(p.isSourced_at_deployment()) { @@ -119,17 +118,17 @@ public class Appconfig { parameters.put(pName, paramInput); if(!p.getValue().equals("")) { - LinkedHashMap<String, Object> inputs = new LinkedHashMap<String, Object>(); + LinkedHashMap<String, Object> inputs = new LinkedHashMap<>(); inputs.put("type", "string"); inputs.put("default", p.getValue()); retInputs.put(pName, inputs); } else { - LinkedHashMap<String, Object> inputs = new LinkedHashMap<String, Object>(); + LinkedHashMap<String, Object> inputs = new LinkedHashMap<>(); inputs.put("type", "string"); retInputs.put(pName, inputs); } } else { - if(p.getType() == "string") { + if("string".equals(p.getType())) { String val =(String) p.getValue(); val = '"' + val + '"'; parameters.put(pName, val); @@ -143,7 +142,7 @@ public class Appconfig { GetInput ov = new GetInput(); ov.setBpInputName("service_component_name_override"); parameters.put("service_component_name_override", ov); - LinkedHashMap<String, Object> over = new LinkedHashMap<String, Object>(); + LinkedHashMap<String, Object> over = new LinkedHashMap<>(); over.put("type", "string"); over.put("default", override); retInputs.put("service_component_name_override", over); diff --git a/mod/bpgenerator/src/main/java/org/onap/blueprintgenerator/models/blueprint/Blueprint.java b/mod/bpgenerator/src/main/java/org/onap/blueprintgenerator/models/blueprint/Blueprint.java index c043a9e..f2ef7aa 100644 --- a/mod/bpgenerator/src/main/java/org/onap/blueprintgenerator/models/blueprint/Blueprint.java +++ b/mod/bpgenerator/src/main/java/org/onap/blueprintgenerator/models/blueprint/Blueprint.java @@ -20,35 +20,27 @@ package org.onap.blueprintgenerator.models.blueprint; -import java.io.*; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.ObjectMapper; +import com.fasterxml.jackson.dataformat.yaml.YAMLFactory; +import com.fasterxml.jackson.dataformat.yaml.YAMLGenerator; +import java.io.BufferedWriter; +import java.io.File; +import java.io.FileWriter; +import java.io.IOException; +import java.io.PrintWriter; import java.util.ArrayList; import java.util.LinkedHashMap; import java.util.TreeMap; import java.util.regex.Pattern; - +import lombok.Getter; +import lombok.Setter; import org.onap.blueprintgenerator.core.Fixes; import org.onap.blueprintgenerator.models.componentspec.ComponentSpec; -import org.onap.blueprintgenerator.models.componentspec.Parameters; -import org.onap.blueprintgenerator.models.componentspec.Publishes; -import org.onap.blueprintgenerator.models.componentspec.Subscribes; import org.onap.blueprintgenerator.models.dmaapbp.DmaapBlueprint; import org.onap.blueprintgenerator.models.onapbp.OnapBlueprint; -import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.core.JsonProcessingException; -//import com.fasterxml.jackson.databind.ObjectMapper; -import com.fasterxml.jackson.databind.ObjectMapper; -import com.fasterxml.jackson.dataformat.yaml.YAMLFactory; -import com.fasterxml.jackson.dataformat.yaml.YAMLGenerator; - -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Getter; -import lombok.NoArgsConstructor; -import lombok.Setter; -import org.yaml.snakeyaml.Yaml; - - @Getter @Setter @JsonInclude(JsonInclude.Include.NON_NULL) @@ -100,93 +92,43 @@ public class Blueprint { public void blueprintToYaml(String outputPath, String bluePrintName, ComponentSpec cs) { File outputFile; - - if(bluePrintName.equals("")) { - String name = cs.getSelf().getName(); - if(name.contains(".")) { - name = name.replaceAll(Pattern.quote("."), "_"); - } - if(name.contains(" ")) { - name = name.replaceAll(" ", ""); - } - String file = name + ".yaml"; - - - outputFile = new File(outputPath, file); - outputFile.getParentFile().mkdirs(); - try { - outputFile.createNewFile(); - } catch (IOException e) { - - throw new RuntimeException(e); - } - } else { - if(bluePrintName.contains(" ") || bluePrintName.contains(".")) { - bluePrintName = bluePrintName.replaceAll(Pattern.quote("."), "_"); - bluePrintName = bluePrintName.replaceAll(" ", ""); - } - String file = bluePrintName + ".yaml"; - outputFile = new File(outputPath, file); - outputFile.getParentFile().mkdirs(); - try { - outputFile.createNewFile(); - } catch (IOException e) { - throw new RuntimeException(e); - } + String name = bluePrintName.equals("") ? cs.getSelf().getName() : bluePrintName; + if(name.contains(".")) { + name = name.replaceAll(Pattern.quote("."), "_"); + } + if(name.contains(" ")) { + name = name.replaceAll(" ", ""); + } + String file = name + ".yaml"; + outputFile = new File(outputPath, file); + outputFile.getParentFile().mkdirs(); + try { + outputFile.createNewFile(); + } catch (IOException e) { + throw new RuntimeException(e); } String version = "#blueprint_version: " + cs.getSelf().getVersion() + '\n'; String description = "#description: " + cs.getSelf().getDescription() + '\n'; - BufferedWriter writer = null; - try { - writer = new BufferedWriter(new FileWriter(outputFile, false)); + try(BufferedWriter writer = new BufferedWriter(new FileWriter(outputFile, false))) { + writer.write(description); + writer.write(version); } catch (IOException e1) { throw new RuntimeException(e1); } - if(writer != null) { - try { - writer.write(description); - } catch (IOException e) { - throw new RuntimeException(e); - } - try { - writer.write(version); - } catch (IOException e) { - throw new RuntimeException(e); - } - try { - writer.close(); - } catch (IOException e) { - throw new RuntimeException(e); - } - } - //read the translated blueprint into the file ObjectMapper blueprintMapper = new ObjectMapper(new YAMLFactory().configure(YAMLGenerator.Feature.MINIMIZE_QUOTES, true)); - PrintWriter out = null; - try { - out = new PrintWriter(new BufferedWriter(new FileWriter(outputFile, true))); + try (PrintWriter out = new PrintWriter(new BufferedWriter(new FileWriter(outputFile, true)))) { + blueprintMapper.writeValue(out, this); } catch (IOException e) { throw new RuntimeException(e); } try { - if(out != null) { - blueprintMapper.writeValue(out, this); - out.close(); - } - } catch (IOException e) { - - throw new RuntimeException(e); - } - - - Fixes fix = new Fixes(); - try { - fix.fixSingleQuotes(outputFile); + Fixes.fixSingleQuotes(outputFile); } catch (IOException e) { throw new RuntimeException(e); } diff --git a/mod/bpgenerator/src/main/java/org/onap/blueprintgenerator/models/blueprint/BpConstants.java b/mod/bpgenerator/src/main/java/org/onap/blueprintgenerator/models/blueprint/BpConstants.java new file mode 100644 index 0000000..ac14b47 --- /dev/null +++ b/mod/bpgenerator/src/main/java/org/onap/blueprintgenerator/models/blueprint/BpConstants.java @@ -0,0 +1,40 @@ +/*============LICENSE_START======================================================= + org.onap.dcae + ================================================================================ + Copyright (c) 2020 Nokia Intellectual Property. 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 + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + ============LICENSE_END========================================================= + */ + +package org.onap.blueprintgenerator.models.blueprint; + +public final class BpConstants { + + private BpConstants() {} + + public static final String CLOUDIFY_DSL_1_3 = "cloudify_dsl_1_3"; + + public static final String CONTENERIZED_SERVICE_COMPONENT_USING_DMAAP = "dcae.nodes.ContainerizedServiceComponentUsingDmaap"; + public static final String CONTENERIZED_SERVICE_COMPONENT = "dcae.nodes.ContainerizedServiceComponent"; + public static final String FEED = "dcaegen2.nodes.Feed"; + public static final String TOPIC = "dcaegen2.nodes.Topic"; + public static final String PUBLISH_EVENTS = "dcaegen2.relationships.publish_events"; + public static final String PUBLISH_FILES = "dcaegen2.relationships.publish_files"; + public static final String SUBSCRIBE_TO_EVENTS = "dcaegen2.relationships.subscribe_to_events"; + public static final String SUBSCRIBE_TO_FILES = "dcaegen2.relationships.subscribe_to_files"; + + public static final String TOSCA_DATATYPES_ROOT = "tosca.datatypes.Root"; + public static final String TOSCA_NODES_ROOT = "tosca.nodes.Root"; + public static final String TOSCA_SIMPLE_YAML = "tosca_simple_yaml_1_0_0"; +} diff --git a/mod/bpgenerator/src/main/java/org/onap/blueprintgenerator/models/blueprint/Imports.java b/mod/bpgenerator/src/main/java/org/onap/blueprintgenerator/models/blueprint/Imports.java index b17b045..7b55e17 100644 --- a/mod/bpgenerator/src/main/java/org/onap/blueprintgenerator/models/blueprint/Imports.java +++ b/mod/bpgenerator/src/main/java/org/onap/blueprintgenerator/models/blueprint/Imports.java @@ -20,24 +20,16 @@ package org.onap.blueprintgenerator.models.blueprint; - -import java.io.File; -import java.io.IOException; -import java.util.ArrayList; - - import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude.Include; -import com.fasterxml.jackson.core.JsonParseException; -import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.dataformat.yaml.YAMLFactory; import com.fasterxml.jackson.dataformat.yaml.YAMLGenerator; -import lombok.AllArgsConstructor; -import lombok.Getter; import lombok.Setter; -import lombok.NoArgsConstructor; - - +import java.io.File; +import java.io.IOException; +import java.util.ArrayList; +import lombok.Getter; +import lombok.Setter; @Getter @Setter @JsonInclude(value=Include.NON_NULL) @@ -46,32 +38,30 @@ public class Imports { private ArrayList<String> imports; public static ArrayList<String> createOnapImports() { - ArrayList<String> imps = new ArrayList<String>(); - imps.add("http://www.getcloudify.org/spec/cloudify/3.4/types.yaml"); - imps.add("https://nexus.onap.org/service/local/repositories/raw/content/org.onap.dcaegen2.platform.plugins/R6/k8splugin/1.7.2/k8splugin_types.yaml"); - imps.add("https://nexus.onap.org/service/local/repositories/raw/content/org.onap.dcaegen2.platform.plugins/R6/dcaepolicyplugin/2.4.0/dcaepolicyplugin_types.yaml"); + ArrayList<String> imps = new ArrayList<>(); + imps.add("https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml"); + imps.add("plugin:k8splugin?version=3.4.2"); + imps.add("plugin:dcaepolicyplugin?version=2.4.0"); return imps; } + public static ArrayList<String> createDmaapImports(){ - ArrayList<String> imps = new ArrayList<String>(); - imps.add("http://www.getcloudify.org/spec/cloudify/3.4/types.yaml"); - imps.add("https://nexus.onap.org/service/local/repositories/raw/content/org.onap.dcaegen2.platform.plugins/R5/k8splugin/1.6.0/k8splugin_types.yaml"); - imps.add("https://nexus.onap.org/service/local/repositories/raw/content/org.onap.ccsdk.platform.plugins/type_files/dmaap/dmaap.yaml"); + ArrayList<String> imps = new ArrayList<>(); + imps.add("https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml"); + imps.add("plugin:k8splugin?version=3.4.2"); + imps.add("plugin:dmaap?version=1.5.0"); return imps; } + public static ArrayList<String> createImportsFromFile(String path) { - Imports imports = new Imports(); ObjectMapper importMapper = new ObjectMapper(new YAMLFactory().configure(YAMLGenerator.Feature.MINIMIZE_QUOTES, true)); File importPath = new File(path); try { - imports = importMapper.readValue(importPath, Imports.class); + Imports imports = importMapper.readValue(importPath, Imports.class); + imports.getImports().removeIf(String::isBlank); + return imports.getImports(); } catch (IOException e) { throw new RuntimeException(e); } - ArrayList<String> imps = new ArrayList<String>(); - for(String s: imports.getImports()) { - imps.add(s); - } - return imps; } } diff --git a/mod/bpgenerator/src/main/java/org/onap/blueprintgenerator/models/blueprint/Interfaces.java b/mod/bpgenerator/src/main/java/org/onap/blueprintgenerator/models/blueprint/Interfaces.java index a3404f6..435059e 100644 --- a/mod/bpgenerator/src/main/java/org/onap/blueprintgenerator/models/blueprint/Interfaces.java +++ b/mod/bpgenerator/src/main/java/org/onap/blueprintgenerator/models/blueprint/Interfaces.java @@ -31,11 +31,9 @@ import lombok.Getter; import lombok.Setter; public class Interfaces { private Start start; public TreeMap<String, LinkedHashMap<String, Object>> createInterface(TreeMap<String, LinkedHashMap<String, Object>> inps, ComponentSpec cs){ - TreeMap<String, LinkedHashMap<String, Object>> retInputs = new TreeMap<String, LinkedHashMap<String, Object>>(); - retInputs = inps; //create the start object Start start = new Start(); - retInputs = start.createOnapStart(retInputs, cs); + TreeMap<String, LinkedHashMap<String, Object>> retInputs = start.createOnapStart(inps, cs); this.setStart(start); return retInputs; } 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 d32d6f4..9aa5354 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 @@ -20,6 +20,11 @@ package org.onap.blueprintgenerator.models.blueprint; +import static org.onap.blueprintgenerator.common.blueprint.BlueprintHelper.createBooleanInput; +import static org.onap.blueprintgenerator.common.blueprint.BlueprintHelper.createIntegerInput; +import static org.onap.blueprintgenerator.common.blueprint.BlueprintHelper.createStringInput; +import static org.onap.blueprintgenerator.common.blueprint.BlueprintHelper.isMessageRouterType; +import static org.onap.blueprintgenerator.common.blueprint.BlueprintHelper.isDataRouterType; import static org.onap.blueprintgenerator.models.blueprint.tls.TlsConstants.USE_EXTERNAL_TLS_FIELD; import com.fasterxml.jackson.annotation.JsonIgnore; @@ -31,7 +36,6 @@ import java.util.Map; import java.util.TreeMap; import lombok.Getter; import lombok.Setter; -import org.onap.blueprintgenerator.common.blueprint.BlueprintHelper; import org.onap.blueprintgenerator.models.blueprint.tls.ExternalCertificateParametersFactory; import org.onap.blueprintgenerator.models.blueprint.tls.ExternalTlsInfoFactory; import org.onap.blueprintgenerator.models.blueprint.tls.TlsInfo; @@ -42,11 +46,16 @@ import org.onap.blueprintgenerator.models.componentspec.Publishes; import org.onap.blueprintgenerator.models.componentspec.Subscribes; import org.onap.blueprintgenerator.models.dmaapbp.DmaapStreams; + @Getter @Setter @JsonInclude(value = Include.NON_NULL) public class Properties { + private static final String EMPTY_VALUE = ""; + + ArrayList<DmaapStreams> streams_publishes; + ArrayList<DmaapStreams> streams_subscribes; private Appconfig application_config; private Auxilary docker_config; private Object image; @@ -58,13 +67,11 @@ public class Properties { private String name; private GetInput topic_name; private GetInput feed_name; - ArrayList<DmaapStreams> streams_publishes; - ArrayList<DmaapStreams> streams_subscribes; private TlsInfo tls_info; private ExternalTlsInfo external_cert; private ResourceConfig resource_config; private GetInput always_pull_image; - //private boolean useExisting; + private Boolean useExisting; @JsonIgnore private ExternalTlsInfoFactory externalCertFactory; @@ -74,35 +81,29 @@ public class Properties { } public TreeMap<String, LinkedHashMap<String, Object>> createOnapProperties( - TreeMap<String, LinkedHashMap<String, Object>> inps, ComponentSpec cs, String override) { + TreeMap<String, LinkedHashMap<String, Object>> inps, ComponentSpec componentSpec, String override) { TreeMap<String, LinkedHashMap<String, Object>> retInputs = inps; //set the image GetInput image = new GetInput(); image.setBpInputName("image"); this.setImage(image); - LinkedHashMap<String, Object> img = new LinkedHashMap<String, Object>(); - img.put("type", "string"); - img.put("default", cs.getArtifacts()[0].getUri()); - retInputs.put("image", img); + retInputs.put("image", createStringInput(componentSpec.getImageUri())); //set the location id GetInput location = new GetInput(); location.setBpInputName("location_id"); this.setLocation_id(location); - LinkedHashMap<String, Object> locMap = new LinkedHashMap(); - locMap.put("type", "string"); - locMap.put("default", ""); - retInputs.put("location_id", locMap); + retInputs.put("location_id", createStringInput(EMPTY_VALUE)); //set the log info - this.setLog_info(cs.getAuxilary().getLog_info()); + this.setLog_info(componentSpec.getAuxilary().getLog_info()); //set the replicas GetInput replica = new GetInput(); replica.setBpInputName("replicas"); this.setReplicas(replica); - LinkedHashMap<String, Object> rep = BlueprintHelper.createInputValue("integer", "number of instances", 1); + LinkedHashMap<String, Object> rep = createIntegerInput("number of instances", 1); retInputs.put("replicas", rep); //set the dns name @@ -112,7 +113,7 @@ public class Properties { //this.setName(cs.getSelf().getName()); //set the docker config - Auxilary aux = cs.getAuxilary(); + Auxilary aux = componentSpec.getAuxilary(); // if(aux.getPorts() != null) { // retInputs = aux.createPorts(retInputs); // } @@ -120,76 +121,67 @@ public class Properties { //set the app config Appconfig app = new Appconfig(); - retInputs = app.createAppconfig(retInputs, cs, override, false); + retInputs = app.createAppconfig(retInputs, componentSpec, override, false); this.setApplication_config(app); // set always_pull_image this.always_pull_image = new GetInput(); this.always_pull_image.setBpInputName("always_pull_image"); - LinkedHashMap<String, Object> inputAlwaysPullImage = BlueprintHelper.createInputValue("boolean", + LinkedHashMap<String, Object> inputAlwaysPullImage = createBooleanInput( "Set to true if the image should always be pulled", true); retInputs.put("always_pull_image", inputAlwaysPullImage); //set service component type - String sType = cs.getSelf().getName(); - sType = sType.replace('.', '-'); - this.setService_component_type(sType); + String serviceComponentType = componentSpec.getSelfName().replace('.', '-'); + this.setService_component_type(serviceComponentType); //set the tls info for internal and external communication - TreeMap<String, Object> tls_info = cs.getAuxilary().getTls_info(); + TreeMap<String, Object> tls_info = componentSpec.getAuxilary().getTls_info(); if (tls_info != null) { - addTlsInfo(cs, retInputs); + addTlsInfo(componentSpec, retInputs); if (tls_info.get(USE_EXTERNAL_TLS_FIELD) != null) { - retInputs.putAll(addExternalTlsInfo(cs)); + retInputs.putAll(addExternalTlsInfo(componentSpec)); } } //set the reource config ResourceConfig resource = new ResourceConfig(); - retInputs = resource.createResourceConfig(retInputs, cs.getSelf().getName()); + retInputs = resource.createResourceConfig(retInputs, componentSpec.getSelf().getName()); this.setResource_config(resource); return retInputs; } public TreeMap<String, LinkedHashMap<String, Object>> createDmaapProperties( - TreeMap<String, LinkedHashMap<String, Object>> inps, ComponentSpec cs, String override) { - TreeMap<String, LinkedHashMap<String, Object>> retInputs = new TreeMap<String, LinkedHashMap<String, Object>>(); - retInputs = inps; + TreeMap<String, LinkedHashMap<String, Object>> inps, ComponentSpec componentSpec, String override) { + TreeMap<String, LinkedHashMap<String, Object>> retInputs = inps; //set the image GetInput image = new GetInput(); image.setBpInputName("tag_version"); this.setImage(image); - LinkedHashMap<String, Object> img = new LinkedHashMap<String, Object>(); - img.put("type", "string"); - img.put("default", cs.getArtifacts()[0].getUri()); - retInputs.put("tag_version", img); + retInputs.put("tag_version", createStringInput(componentSpec.getImageUri())); //set the location id GetInput location = new GetInput(); location.setBpInputName("location_id"); this.setLocation_id(location); - LinkedHashMap<String, Object> locMap = new LinkedHashMap(); - locMap.put("type", "string"); - locMap.put("default", ""); - retInputs.put("location_id", locMap); + retInputs.put("location_id", createStringInput(EMPTY_VALUE)); //set the log info - this.setLog_info(cs.getAuxilary().getLog_info()); + this.setLog_info(componentSpec.getAuxilary().getLog_info()); //set service component type - String sType = cs.getSelf().getName(); - sType = sType.replace('.', '-'); - this.setService_component_type(sType); + String serviceComponentType = componentSpec.getSelfName().replace('.', '-'); + this.setService_component_type(serviceComponentType); //set the tls info for internal and external communication - TreeMap<String, Object> tls_info = cs.getAuxilary().getTls_info(); + TreeMap<String, Object> tls_info = componentSpec.getAuxilary().getTls_info(); if (tls_info != null) { - addTlsInfo(cs, retInputs); + addTlsInfo(componentSpec, retInputs); if (tls_info.get(USE_EXTERNAL_TLS_FIELD) != null) { - retInputs.putAll(addExternalTlsInfo(cs)); + retInputs.putAll(addExternalTlsInfo(componentSpec)); } } @@ -197,7 +189,7 @@ public class Properties { GetInput replica = new GetInput(); replica.setBpInputName("replicas"); this.setReplicas(replica); - LinkedHashMap<String, Object> rep = BlueprintHelper.createInputValue("integer", "number of instances", 1); + LinkedHashMap<String, Object> rep = createIntegerInput("number of instances", 1); retInputs.put("replicas", rep); // //set the dns name @@ -207,7 +199,7 @@ public class Properties { // this.setName(cs.getSelf().getName()); //set the docker config - Auxilary aux = cs.getAuxilary(); + Auxilary aux = componentSpec.getAuxilary(); // if(aux.getPorts() != null) { // retInputs = aux.createPorts(retInputs); // } @@ -215,59 +207,63 @@ public class Properties { //set the appconfig Appconfig app = new Appconfig(); - retInputs = app.createAppconfig(retInputs, cs, override, true); + retInputs = app.createAppconfig(retInputs, componentSpec, override, true); this.setApplication_config(app); //set the stream publishes - ArrayList<DmaapStreams> 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")) { - String topic = p.getConfig_key() + "_topic"; + ArrayList<DmaapStreams> pubStreams = new ArrayList<>(); + if (componentSpec.getStreams().getPublishes() != null) { + for (Publishes publishes : componentSpec.getStreams().getPublishes()) { + if (isMessageRouterType(publishes.getType())) { + String topic = publishes.getConfig_key() + "_topic"; DmaapStreams mrStreams = new DmaapStreams(); retInputs = mrStreams - .createStreams(inps, cs, topic, p.getType(), p.getConfig_key(), p.getRoute(), 'p'); + .createStreams(inps, componentSpec, topic, publishes.getType(), publishes.getConfig_key(), + publishes.getRoute(), 'p'); pubStreams.add(mrStreams); - } else if (p.getType().equals("data_router") || p.getType().equals("data router")) { - String feed = p.getConfig_key() + "_feed"; + } else if (isDataRouterType(publishes.getType())) { + String feed = publishes.getConfig_key() + "_feed"; DmaapStreams drStreams = new DmaapStreams(); retInputs = drStreams - .createStreams(inps, cs, feed, p.getType(), p.getConfig_key(), p.getRoute(), 'p'); + .createStreams(inps, componentSpec, feed, publishes.getType(), publishes.getConfig_key(), + publishes.getRoute(), 'p'); pubStreams.add(drStreams); } } } //set the stream subscribes - ArrayList<DmaapStreams> 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")) { - String topic = s.getConfig_key() + "_topic"; + ArrayList<DmaapStreams> subStreams = new ArrayList<>(); + if (componentSpec.getStreams().getSubscribes() != null) { + for (Subscribes subscribes : componentSpec.getStreams().getSubscribes()) { + if (isMessageRouterType(subscribes.getType())) { + String topic = subscribes.getConfig_key() + "_topic"; DmaapStreams mrStreams = new DmaapStreams(); retInputs = mrStreams - .createStreams(inps, cs, topic, s.getType(), s.getConfig_key(), s.getRoute(), 's'); + .createStreams(inps, componentSpec, topic, subscribes.getType(), subscribes.getConfig_key(), + subscribes.getRoute(), 's'); subStreams.add(mrStreams); - } else if (s.getType().equals("data_router") || s.getType().equals("data router")) { - String feed = s.getConfig_key() + "_feed"; + } else if (isDataRouterType(subscribes.getType())) { + String feed = subscribes.getConfig_key() + "_feed"; DmaapStreams drStreams = new DmaapStreams(); retInputs = drStreams - .createStreams(inps, cs, feed, s.getType(), s.getConfig_key(), s.getRoute(), 's'); + .createStreams(inps, componentSpec, feed, subscribes.getType(), subscribes.getConfig_key(), + subscribes.getRoute(), 's'); subStreams.add(drStreams); } } } - if (pubStreams.size() != 0) { + if (!pubStreams.isEmpty()) { this.setStreams_publishes(pubStreams); } - if (subStreams.size() != 0) { + if (!subStreams.isEmpty()) { this.setStreams_subscribes(subStreams); } //set the reource config ResourceConfig resource = new ResourceConfig(); - retInputs = resource.createResourceConfig(retInputs, cs.getSelf().getName()); + retInputs = resource.createResourceConfig(retInputs, componentSpec.getSelf().getName()); this.setResource_config(resource); return retInputs; @@ -280,7 +276,7 @@ public class Properties { useTLSFlag.setBpInputName("use_tls"); tlsInfo.setUseTls(useTLSFlag); this.setTls_info(tlsInfo); - LinkedHashMap<String, Object> useTlsFlagInput = BlueprintHelper.createInputValue("boolean", + LinkedHashMap<String, Object> useTlsFlagInput = createBooleanInput( "flag to indicate tls enable/disable", cs.getAuxilary().getTls_info().get("use_tls")); retInputs.put("use_tls", useTlsFlagInput); diff --git a/mod/bpgenerator/src/main/java/org/onap/blueprintgenerator/models/blueprint/ResourceConfig.java b/mod/bpgenerator/src/main/java/org/onap/blueprintgenerator/models/blueprint/ResourceConfig.java index 13aa0d0..030374f 100644 --- a/mod/bpgenerator/src/main/java/org/onap/blueprintgenerator/models/blueprint/ResourceConfig.java +++ b/mod/bpgenerator/src/main/java/org/onap/blueprintgenerator/models/blueprint/ResourceConfig.java @@ -21,6 +21,8 @@ package org.onap.blueprintgenerator.models.blueprint; +import static org.onap.blueprintgenerator.common.blueprint.BlueprintHelper.createStringInput; + import java.util.LinkedHashMap; import java.util.TreeMap; @@ -32,93 +34,94 @@ import lombok.Setter; //TODO: Auto-generated Javadoc /* (non-Javadoc) -* @see java.lang.Object#toString() -*/ -@Getter @Setter + * @see java.lang.Object#toString() + */ +@Getter +@Setter /* (non-Javadoc) -* @see java.lang.Object#toString() -*/ + * @see java.lang.Object#toString() + */ @Builder /** -* Instantiates a new resource config obj. -*/ + * Instantiates a new resource config obj. + */ @NoArgsConstructor /** -* Instantiates a new resource config obj. -* -* @param limits the limits -* @param requests the requests -*/ + * Instantiates a new resource config obj. + * + * @param limits the limits + * @param requests the requests + */ @AllArgsConstructor public class ResourceConfig { - /** The limits. */ - private TreeMap<String, GetInput> limits; - - /** The requests. */ - private TreeMap<String, GetInput> requests; + /** + * The limits. + */ + private TreeMap<String, GetInput> limits; + /** + * The requests. + */ + private TreeMap<String, GetInput> requests; - /** - * Creates the resource config. - * - * @param inps the inps - * @param name the name - * @return the tree map - */ - public TreeMap<String, LinkedHashMap<String, Object>> createResourceConfig(TreeMap<String, LinkedHashMap<String, Object>> inps, String name){ - TreeMap<String, LinkedHashMap<String, Object>> retInputs = inps; - LinkedHashMap<String, Object> mi = new LinkedHashMap<String, Object>(); - mi.put("type", "string"); - mi.put("default", "128Mi"); + /** + * Creates the resource config. + * + * @param inps the inps + * @param name the name + * @return the tree map + */ + public TreeMap<String, LinkedHashMap<String, Object>> createResourceConfig( + TreeMap<String, LinkedHashMap<String, Object>> inps, String name) { - LinkedHashMap<String, Object> m = new LinkedHashMap<String, Object>(); - m.put("type", "string"); - m.put("default", "250m"); + LinkedHashMap<String, Object> memoryLimit = createStringInput("128Mi"); + LinkedHashMap<String, Object> cpuLimit = createStringInput("250m"); + String namePrefix = getNamePrefix(name); - if(!name.equals("")) { - name = name + "_"; - } + //set the limits + TreeMap<String, GetInput> limits = new TreeMap<>(); - //set the limits - TreeMap<String, GetInput> lim = new TreeMap<String, GetInput>(); + GetInput cpu = new GetInput(); + cpu.setBpInputName(namePrefix + "cpu_limit"); + limits.put("cpu", cpu); - GetInput cpu = new GetInput(); - cpu.setBpInputName(name + "cpu_limit"); - lim.put("cpu", cpu); + GetInput memL = new GetInput(); + memL.setBpInputName(namePrefix + "memory_limit"); + limits.put("memory", memL); - GetInput memL = new GetInput(); - memL.setBpInputName(name + "memory_limit"); - lim.put("memory", memL); + inps.put(namePrefix + "cpu_limit", cpuLimit); + inps.put(namePrefix + "memory_limit", memoryLimit); - retInputs.put(name + "cpu_limit", m); - retInputs.put(name + "memory_limit", mi); + this.setLimits(limits); - this.setLimits(lim); + //set the requests + TreeMap<String, GetInput> requests = new TreeMap<>(); - //set the requests - TreeMap<String, GetInput> req = new TreeMap<String, GetInput>(); + GetInput cpuR = new GetInput(); + cpuR.setBpInputName(namePrefix + "cpu_request"); + requests.put("cpu", cpuR); - GetInput cpuR = new GetInput(); - cpuR.setBpInputName(name + "cpu_request"); - req.put("cpu", cpuR); + GetInput memR = new GetInput(); + memR.setBpInputName(namePrefix + "memory_request"); + requests.put("memory", memR); - GetInput memR = new GetInput(); - memR.setBpInputName(name + "memory_request"); - req.put("memory", memR); + inps.put(namePrefix + "cpu_request", cpuLimit); + inps.put(namePrefix + "memory_request", memoryLimit); - retInputs.put(name + "cpu_request", m); - retInputs.put(name + "memory_request", mi); + this.setRequests(requests); - this.setRequests(req); + return inps; + } - return retInputs; - } + private String getNamePrefix(String name) { + return name.isEmpty() ? "" : name + "_"; + } } diff --git a/mod/bpgenerator/src/main/java/org/onap/blueprintgenerator/models/blueprint/Start.java b/mod/bpgenerator/src/main/java/org/onap/blueprintgenerator/models/blueprint/Start.java index d9c885d..0b03777 100644 --- a/mod/bpgenerator/src/main/java/org/onap/blueprintgenerator/models/blueprint/Start.java +++ b/mod/bpgenerator/src/main/java/org/onap/blueprintgenerator/models/blueprint/Start.java @@ -36,14 +36,12 @@ public class Start { private LinkedHashMap<String, Object> envs; public TreeMap<String, LinkedHashMap<String, Object>> createOnapStart(TreeMap<String, LinkedHashMap<String, Object>> inps, ComponentSpec cs) { - TreeMap<String, LinkedHashMap<String, Object>> retInputs = inps; - retInputs = inps; - + //create the start inputs StartInputs inputs = new StartInputs(); - inputs.createOnapStartInputs(retInputs, cs); + inputs.createOnapStartInputs(inps, cs); this.setInputs(inputs); - return retInputs; + return inps; } } diff --git a/mod/bpgenerator/src/main/java/org/onap/blueprintgenerator/models/blueprint/StartInputs.java b/mod/bpgenerator/src/main/java/org/onap/blueprintgenerator/models/blueprint/StartInputs.java index 1055fbd..a0cfe20 100644 --- a/mod/bpgenerator/src/main/java/org/onap/blueprintgenerator/models/blueprint/StartInputs.java +++ b/mod/bpgenerator/src/main/java/org/onap/blueprintgenerator/models/blueprint/StartInputs.java @@ -41,10 +41,9 @@ public class StartInputs { private Object envs; public TreeMap<String, LinkedHashMap<String, Object>> createOnapStartInputs(TreeMap<String, LinkedHashMap<String, Object>> inps, ComponentSpec cs){ - TreeMap<String, LinkedHashMap<String, Object>> retInputs = inps; int count = 0; - ArrayList<String> portList = new ArrayList(); + ArrayList<String> portList = new ArrayList<>(); Auxilary aux = cs.getAuxilary(); if (aux.getPorts() != null) { @@ -56,10 +55,10 @@ public class StartInputs { , ports[0], count); portList.add(internal); - LinkedHashMap<String, Object> portType = new LinkedHashMap(); + LinkedHashMap<String, Object> portType = new LinkedHashMap<>(); portType.put("type", "string"); portType.put("default", ports[1]); - retInputs.put("external_port_" + count, portType); + inps.put("external_port_" + count, portType); count++; } @@ -98,7 +97,7 @@ public class StartInputs { // } //set the envs - LinkedHashMap<String, Object> eMap = new LinkedHashMap(); + LinkedHashMap<String, Object> eMap = new LinkedHashMap<>(); if(cs.getAuxilary().getDatabases() != null){ //set db env variables LinkedHashMap<String, Object> envVars = PgaasNodeBuilder.getEnvVariables(cs.getAuxilary().getDatabases()); @@ -111,9 +110,9 @@ public class StartInputs { this.setEnvs(env); eMap.put("default", "{}"); } - retInputs.put("envs", eMap); + inps.put("envs", eMap); - return retInputs; + return inps; } } diff --git a/mod/bpgenerator/src/main/java/org/onap/blueprintgenerator/models/blueprint/dmaap/DmaapInfo.java b/mod/bpgenerator/src/main/java/org/onap/blueprintgenerator/models/blueprint/dmaap/DmaapInfo.java index 464fc4a..0cec284 100644 --- a/mod/bpgenerator/src/main/java/org/onap/blueprintgenerator/models/blueprint/dmaap/DmaapInfo.java +++ b/mod/bpgenerator/src/main/java/org/onap/blueprintgenerator/models/blueprint/dmaap/DmaapInfo.java @@ -46,9 +46,7 @@ public class DmaapInfo { public TreeMap<String, LinkedHashMap<String, Object>> createOnapDmaapMRInfo( TreeMap<String, LinkedHashMap<String, Object>> inps, String config, char type) { - TreeMap<String, LinkedHashMap<String, Object>> retInputs = new TreeMap<String, LinkedHashMap<String, Object>>(); - retInputs = inps; - LinkedHashMap<String, Object> stringType = new LinkedHashMap<String, Object>(); + LinkedHashMap<String, Object> stringType = new LinkedHashMap<>(); stringType.put("type", "string"); config = config.replaceAll("-", "_"); @@ -62,9 +60,9 @@ public class DmaapInfo { topic.setBpInputName(config); this.setTopic_url(topic); - retInputs.put(config, stringType); + inps.put(config, stringType); - return retInputs; + return inps; } public TreeMap<String, LinkedHashMap<String, Object>> createOnapDmaapDRInfo( diff --git a/mod/bpgenerator/src/main/java/org/onap/blueprintgenerator/models/blueprint/dmaap/DmaapObj.java b/mod/bpgenerator/src/main/java/org/onap/blueprintgenerator/models/blueprint/dmaap/DmaapObj.java index 6af69e5..30f59e2 100644 --- a/mod/bpgenerator/src/main/java/org/onap/blueprintgenerator/models/blueprint/dmaap/DmaapObj.java +++ b/mod/bpgenerator/src/main/java/org/onap/blueprintgenerator/models/blueprint/dmaap/DmaapObj.java @@ -40,10 +40,8 @@ public class DmaapObj { public TreeMap<String, LinkedHashMap<String, Object>> createOnapDmaapMRObj(TreeMap<String, LinkedHashMap<String, Object>> inps, String config, char type, String n, String num, boolean isDmaap) { - TreeMap<String, LinkedHashMap<String, Object>> retInputs = new TreeMap<String, LinkedHashMap<String, Object>>(); - LinkedHashMap<String, Object> stringType = new LinkedHashMap(); + LinkedHashMap<String, Object> stringType = new LinkedHashMap<>(); stringType.put("type", "string"); - retInputs = inps; //set the dmaapinfo DmaapInfo info = new DmaapInfo(); @@ -58,20 +56,18 @@ public class DmaapObj { GetInput u = new GetInput(); u.setBpInputName(config + "_" + num +"_aaf_username"); this.setUser(u); - retInputs.put(config + "_" + num +"_aaf_username", stringType); + inps.put(config + "_" + num +"_aaf_username", stringType); //set password GetInput p = new GetInput(); p.setBpInputName(config + "_" + num +"_aaf_password"); this.setPass(p); - retInputs.put(config + "_" + num +"_aaf_password", stringType); + inps.put(config + "_" + num +"_aaf_password", stringType); } - return retInputs; + return inps; } public TreeMap<String, LinkedHashMap<String, Object>> createOnapDmaapDRObj(TreeMap<String, LinkedHashMap<String, Object>> inps, String config, char type, String n, String num, boolean isDmaap) { - TreeMap<String, LinkedHashMap<String, Object>> retInputs = new TreeMap<String, LinkedHashMap<String, Object>>(); - retInputs = inps; - + //set the dmaapinfo DmaapInfo info = new DmaapInfo(); if(!isDmaap){ @@ -82,6 +78,6 @@ public class DmaapObj { String infoType = "<<" + n + ">>"; this.setDmaap_info(infoType); } - return retInputs; + return inps; } } |