From b9cb00657207bb020c1802485c930b46621d4813 Mon Sep 17 00:00:00 2001 From: Tomasz Wrobel Date: Tue, 22 Sep 2020 15:19:03 +0200 Subject: Refactor, fix code formatting and add unittests -Refactor DmaapNode class -Add UT for DmaapNode -Refactor and fix code formatting in DmaapStreem class -Top up version to 1.5.2 Issue-ID: DCAEGEN2-2449 Signed-off-by: Tomasz Wrobel Change-Id: If6781f26bb6bfe2a645b0b0438157823670341a2 --- .../models/dmaapbp/DmaapNode.java | 240 +++++++++++---------- 1 file changed, 129 insertions(+), 111 deletions(-) (limited to 'mod/bpgenerator/src/main/java/org/onap/blueprintgenerator/models/dmaapbp/DmaapNode.java') diff --git a/mod/bpgenerator/src/main/java/org/onap/blueprintgenerator/models/dmaapbp/DmaapNode.java b/mod/bpgenerator/src/main/java/org/onap/blueprintgenerator/models/dmaapbp/DmaapNode.java index 37d7d2d..e28e49a 100644 --- a/mod/bpgenerator/src/main/java/org/onap/blueprintgenerator/models/dmaapbp/DmaapNode.java +++ b/mod/bpgenerator/src/main/java/org/onap/blueprintgenerator/models/dmaapbp/DmaapNode.java @@ -43,117 +43,135 @@ import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; +import static org.onap.blueprintgenerator.common.blueprint.BlueprintHelper.isDataRouterType; +import static org.onap.blueprintgenerator.common.blueprint.BlueprintHelper.isMessageRouterType; + @JsonIgnoreProperties(ignoreUnknown = true) -@Getter @Setter -@EqualsAndHashCode(callSuper=false) +@Getter +@Setter +@EqualsAndHashCode(callSuper = false) @NoArgsConstructor -@JsonInclude(value=Include.NON_NULL) - -public class DmaapNode extends Node{ - - public TreeMap> createDmaapNode(ComponentSpec cs, TreeMap> inps, String override) { - TreeMap> retInputs = inps; - - //set the type - this.setType("dcae.nodes.ContainerizedServiceComponentUsingDmaap"); - - //create the interface - Interfaces inter = new Interfaces(); - retInputs = inter.createInterface(retInputs, cs); - TreeMap interfaces = new TreeMap(); - interfaces.put("cloudify.interfaces.lifecycle", inter); - this.setInterfaces(interfaces); - - //create and set the relationships - ArrayList> rets = new ArrayList(); - - //go through the streams publishes - if(cs.getStreams().getPublishes() != null) { - for(Publishes p: cs.getStreams().getPublishes()) { - LinkedHashMap pubRelations = new LinkedHashMap(); - if(p.getType().equals("message_router") || p.getType().equals("message router")) { - pubRelations.put("type", "ccsdk.relationships.publish_events"); - pubRelations.put("target", p.getConfig_key() + "_topic"); - } else if(p.getType().equals("data_router") || p.getType().equals("data router")) { - pubRelations.put("type", "ccsdk.relationships.publish_files"); - pubRelations.put("target", p.getConfig_key() + "_feed"); - } - rets.add(pubRelations); - } - } - //go through the stream subscribes - if(cs.getStreams().getSubscribes() != null) { - for(Subscribes s: cs.getStreams().getSubscribes()) { - LinkedHashMap subRelations = new LinkedHashMap(); - if(s.getType().equals("message_router") || s.getType().equals("message router")) { - subRelations.put("type", "ccsdk.relationships.subscribe_to_events"); - subRelations.put("target", s.getConfig_key() + "_topic"); - } else if(s.getType().equals("data_router") || s.getType().equals("data router")) { - subRelations.put("type", "ccsdk.relationships.subscribe_to_files"); - subRelations.put("target", s.getConfig_key() + "_feed"); - } - rets.add(subRelations); - } - } - - //add relationship for policy if exist - if(cs.getPolicyInfo() != null){ - ArrayList> policyRelationshipsList = PolicyNodeBuilder.getPolicyRelationships(cs); - rets.addAll(policyRelationshipsList); - } - - //add relationships and env_variables for pgaas dbs if exist - if(cs.getAuxilary().getDatabases() != null){ - ArrayList> pgaasRelationshipsList = PgaasNodeBuilder.getPgaasNodeRelationships(cs); - rets.addAll(pgaasRelationshipsList); - } - - this.setRelationships(rets); - - //create and set the properties - Properties props = new Properties(); - retInputs = props.createDmaapProperties(retInputs, cs, override); - this.setProperties(props); - - return retInputs; - } - public TreeMap> createFeedNode(ComponentSpec cs, TreeMap> inps, String name){ - TreeMap> retInputs = inps; - LinkedHashMap stringType = new LinkedHashMap(); - stringType.put("type", "string"); - - //set the type - this.setType("ccsdk.nodes.Feed"); - - //create and set the properties - Properties props = new Properties(); - GetInput topicInput = new GetInput(); - topicInput.setBpInputName(name + "_name"); - props.setFeed_name(topicInput); - //props.setUseExisting(true); - retInputs.put(name + "_name", stringType); - this.setProperties(props); - - return retInputs; - } - - public TreeMap> createTopicNode(ComponentSpec cs, TreeMap> inps, String name){ - TreeMap> retInputs = inps; - LinkedHashMap stringType = new LinkedHashMap(); - stringType.put("type", "string"); - - //set the type - this.setType("ccsdk.nodes.Topic"); - - //create and set the properties - Properties props = new Properties(); - GetInput topicInput = new GetInput(); - topicInput.setBpInputName(name + "_name"); - props.setTopic_name(topicInput); - //props.setUseExisting(true); - retInputs.put(name + "_name", stringType); - this.setProperties(props); - - return retInputs; - } +@JsonInclude(value = Include.NON_NULL) + +public class DmaapNode extends Node { + + public TreeMap> createDmaapNode(ComponentSpec componentSpec, + TreeMap> inps, String override) { + TreeMap> retInputs = inps; + + //set the type + this.setType("dcae.nodes.ContainerizedServiceComponentUsingDmaap"); + + //create the interface + Interfaces inter = new Interfaces(); + retInputs = inter.createInterface(retInputs, componentSpec); + TreeMap interfaces = new TreeMap<>(); + interfaces.put("cloudify.interfaces.lifecycle", inter); + this.setInterfaces(interfaces); + + //create and set the relationships + ArrayList> relationships = new ArrayList<>(); + + //go through the streams publishes + if (componentSpec.getStreams().getPublishes() != null) { + for (Publishes publishes : componentSpec.getStreams().getPublishes()) { + relationships.add(createTypeAndTargetPubRelations(publishes)); + } + } + //go through the stream subscribes + if (componentSpec.getStreams().getSubscribes() != null) { + for (Subscribes subscribes : componentSpec.getStreams().getSubscribes()) { + relationships.add(createTypeAndTargetSubRelations(subscribes)); + } + } + + //add relationship for policy if exist + if (componentSpec.getPolicyInfo() != null) { + ArrayList> policyRelationshipsList = PolicyNodeBuilder + .getPolicyRelationships(componentSpec); + relationships.addAll(policyRelationshipsList); + } + + //add relationships and env_variables for pgaas dbs if exist + if (componentSpec.getAuxilary().getDatabases() != null) { + ArrayList> pgaasRelationshipsList = PgaasNodeBuilder + .getPgaasNodeRelationships(componentSpec); + relationships.addAll(pgaasRelationshipsList); + } + + this.setRelationships(relationships); + + //create and set the properties + Properties props = new Properties(); + retInputs = props.createDmaapProperties(retInputs, componentSpec, override); + this.setProperties(props); + + return retInputs; + } + + public TreeMap> createFeedNode(ComponentSpec cs, + TreeMap> inps, String name) { + TreeMap> retInputs = inps; + LinkedHashMap stringType = new LinkedHashMap<>(); + stringType.put("type", "string"); + + //set the type + this.setType("ccsdk.nodes.Feed"); + + //create and set the properties + Properties props = new Properties(); + GetInput topicInput = new GetInput(); + topicInput.setBpInputName(name + "_name"); + props.setFeed_name(topicInput); + //props.setUseExisting(true); + retInputs.put(name + "_name", stringType); + this.setProperties(props); + + return retInputs; + } + + public TreeMap> createTopicNode(ComponentSpec cs, + TreeMap> inps, String name) { + TreeMap> retInputs = inps; + LinkedHashMap stringType = new LinkedHashMap<>(); + stringType.put("type", "string"); + + //set the type + this.setType("ccsdk.nodes.Topic"); + + //create and set the properties + Properties props = new Properties(); + GetInput topicInput = new GetInput(); + topicInput.setBpInputName(name + "_name"); + props.setTopic_name(topicInput); + //props.setUseExisting(true); + retInputs.put(name + "_name", stringType); + this.setProperties(props); + + return retInputs; + } + + private LinkedHashMap createTypeAndTargetPubRelations(Publishes publishes) { + LinkedHashMap pubRelations = new LinkedHashMap<>(); + if (isMessageRouterType(publishes.getType())) { + pubRelations.put("type", "ccsdk.relationships.publish_events"); + pubRelations.put("target", publishes.getConfig_key() + "_topic"); + } else if (isDataRouterType(publishes.getType())) { + pubRelations.put("type", "ccsdk.relationships.publish_files"); + pubRelations.put("target", publishes.getConfig_key() + "_feed"); + } + return pubRelations; + } + + private LinkedHashMap createTypeAndTargetSubRelations(Subscribes subscribes) { + LinkedHashMap subRelations = new LinkedHashMap<>(); + if (isMessageRouterType(subscribes.getType())) { + subRelations.put("type", "ccsdk.relationships.subscribe_to_events"); + subRelations.put("target", subscribes.getConfig_key() + "_topic"); + } else if (isDataRouterType(subscribes.getType())) { + subRelations.put("type", "ccsdk.relationships.subscribe_to_files"); + subRelations.put("target", subscribes.getConfig_key() + "_feed"); + } + return subRelations; + } } -- cgit 1.2.3-korg