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/DmaapBlueprint.java | 17 +- .../models/dmaapbp/DmaapNode.java | 240 +++++++++++---------- .../models/dmaapbp/DmaapStreams.java | 151 ++++++------- 3 files changed, 213 insertions(+), 195 deletions(-) (limited to 'mod/bpgenerator/src/main/java/org/onap/blueprintgenerator/models/dmaapbp') diff --git a/mod/bpgenerator/src/main/java/org/onap/blueprintgenerator/models/dmaapbp/DmaapBlueprint.java b/mod/bpgenerator/src/main/java/org/onap/blueprintgenerator/models/dmaapbp/DmaapBlueprint.java index 2774abb..84c5fc5 100644 --- a/mod/bpgenerator/src/main/java/org/onap/blueprintgenerator/models/dmaapbp/DmaapBlueprint.java +++ b/mod/bpgenerator/src/main/java/org/onap/blueprintgenerator/models/dmaapbp/DmaapBlueprint.java @@ -33,6 +33,8 @@ import org.onap.blueprintgenerator.models.componentspec.ComponentSpec; import org.onap.blueprintgenerator.models.componentspec.Publishes; import org.onap.blueprintgenerator.models.componentspec.Subscribes; +import static org.onap.blueprintgenerator.common.blueprint.BlueprintHelper.isDataRouterType; +import static org.onap.blueprintgenerator.common.blueprint.BlueprintHelper.isMessageRouterType; import static org.onap.blueprintgenerator.common.blueprint.BlueprintHelper.joinUnderscore; import static org.onap.blueprintgenerator.models.blueprint.Imports.createDmaapImports; import static org.onap.blueprintgenerator.models.blueprint.Imports.createImportsFromFile; @@ -74,12 +76,12 @@ public class DmaapBlueprint extends Blueprint { //go through the streams publishes if (componentSpec.getStreams().getPublishes() != null) { for (Publishes publisher : componentSpec.getStreams().getPublishes()) { - if (isMessageRouter(publisher.getType())) { + if (isMessageRouterType(publisher.getType())) { String topic = joinUnderscore(publisher.getConfig_key(), TOPIC); DmaapNode topicNode = new DmaapNode(); inps = topicNode.createTopicNode(componentSpec, inps, topic); nodeTemplate.put(topic, topicNode); - } else if (isDataRouter(publisher.getType())) { + } else if (isDataRouterType(publisher.getType())) { String feed = joinUnderscore(publisher.getConfig_key(), FEED); DmaapNode feedNode = new DmaapNode(); inps = feedNode.createFeedNode(componentSpec, inps, feed); @@ -90,12 +92,12 @@ public class DmaapBlueprint extends Blueprint { //go through the stream subscribes if (componentSpec.getStreams().getSubscribes() != null) { for (Subscribes subscriber : componentSpec.getStreams().getSubscribes()) { - if (isMessageRouter(subscriber.getType())) { + if (isMessageRouterType(subscriber.getType())) { String topic = joinUnderscore(subscriber.getConfig_key(), TOPIC); DmaapNode topicNode = new DmaapNode(); inps = topicNode.createTopicNode(componentSpec, inps, topic); nodeTemplate.put(topic, topicNode); - } else if (isDataRouter(subscriber.getType())) { + } else if (isDataRouterType(subscriber.getType())) { String feed = joinUnderscore(subscriber.getConfig_key(), FEED); DmaapNode feedNode = new DmaapNode(); inps = feedNode.createFeedNode(componentSpec, inps, feed); @@ -120,11 +122,4 @@ public class DmaapBlueprint extends Blueprint { return blueprint; } - private boolean isDataRouter(String type) { - return type.equals("data_router") || type.equals("data router"); - } - - private boolean isMessageRouter(String type) { - return type.equals("message_router") || type.equals("message router"); - } } 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; + } } diff --git a/mod/bpgenerator/src/main/java/org/onap/blueprintgenerator/models/dmaapbp/DmaapStreams.java b/mod/bpgenerator/src/main/java/org/onap/blueprintgenerator/models/dmaapbp/DmaapStreams.java index e2847d7..162337e 100644 --- a/mod/bpgenerator/src/main/java/org/onap/blueprintgenerator/models/dmaapbp/DmaapStreams.java +++ b/mod/bpgenerator/src/main/java/org/onap/blueprintgenerator/models/dmaapbp/DmaapStreams.java @@ -33,72 +33,77 @@ import com.fasterxml.jackson.annotation.JsonInclude.Include; import lombok.Getter; import lombok.Setter; -@Getter @Setter -@JsonInclude(value=Include.NON_NULL) +import static org.onap.blueprintgenerator.common.blueprint.BlueprintHelper.isDataRouterType; + +@Getter +@Setter +@JsonInclude(value = Include.NON_NULL) public class DmaapStreams { - private String name; - private GetInput location; - private GetInput client_role; - private String type; - - private GetInput username; - private GetInput password; - //private GetInput delivery_url; - - private GetInput privileged; - private GetInput decompress; - - private String route; - private String scheme; - - public TreeMap> createStreams(TreeMap> inps, ComponentSpec cs, String name, String type, String key, String route, char o){ - TreeMap> retInputs = inps; - LinkedHashMap stringType = new LinkedHashMap(); - stringType.put("type", "string"); - - //set the name - this.setName(name); - - //set the type - this.setType(type); - - //set the location - GetInput location = new GetInput(); - location.setBpInputName(key + "_" + name + "_location"); - retInputs.put(key + "_" + name + "_location", stringType); - this.setLocation(location); - - //if its data router we need to add some more - if(type.equals("data_router") || type.equals("data router")) { - if(o == 's') { - //set the username - GetInput username = new GetInput(); - username.setBpInputName(key + "_" + name + "_username"); - this.setUsername(username); - retInputs.put(key + "_" + name + "_username", stringType); - - //set the password - GetInput password = new GetInput(); - password.setBpInputName(key + "_" + name + "_password"); - this.setPassword(password); - retInputs.put(key + "_" + name + "_password", stringType); - - //set privileged - GetInput priviliged = new GetInput(); - priviliged.setBpInputName(key + "_" + name + "_priviliged"); - this.setPrivileged(priviliged); - retInputs.put(key + "_" + name + "_priviliged", stringType); - - //set decompress - GetInput decompress = new GetInput(); - decompress.setBpInputName(key + "_" + name + "_decompress"); - this.setDecompress(decompress); - retInputs.put(key + "_" + name + "_decompress", stringType); - - this.setRoute(route); - this.setScheme("https"); - } + private String name; + private GetInput location; + private GetInput client_role; + private String type; + + private GetInput username; + private GetInput password; + //private GetInput delivery_url; + + private GetInput privileged; + private GetInput decompress; + + private String route; + private String scheme; + + public TreeMap> createStreams( + TreeMap> inps, ComponentSpec cs, String name, String type, String key, + String route, char o) { + TreeMap> retInputs = inps; + LinkedHashMap stringType = new LinkedHashMap(); + stringType.put("type", "string"); + + //set the name + this.setName(name); + + //set the type + this.setType(type); + + //set the location + GetInput location = new GetInput(); + location.setBpInputName(key + "_" + name + "_location"); + retInputs.put(key + "_" + name + "_location", stringType); + this.setLocation(location); + + //if its data router we need to add some more + if (isDataRouterType(type)) { + if ('s' == o) { + //set the username + GetInput username = new GetInput(); + username.setBpInputName(key + "_" + name + "_username"); + this.setUsername(username); + retInputs.put(key + "_" + name + "_username", stringType); + + //set the password + GetInput password = new GetInput(); + password.setBpInputName(key + "_" + name + "_password"); + this.setPassword(password); + retInputs.put(key + "_" + name + "_password", stringType); + + //set privileged + GetInput priviliged = new GetInput(); + priviliged.setBpInputName(key + "_" + name + "_priviliged"); + this.setPrivileged(priviliged); + retInputs.put(key + "_" + name + "_priviliged", stringType); + + //set decompress + GetInput decompress = new GetInput(); + decompress.setBpInputName(key + "_" + name + "_decompress"); + this.setDecompress(decompress); + retInputs.put(key + "_" + name + "_decompress", stringType); + + this.setRoute(route); + this.setScheme("https"); + } // //set the delivery url // GetInput delivery = new GetInput(); @@ -106,13 +111,13 @@ public class DmaapStreams { // this.setDelivery_url(delivery); // retInputs.put(name + "delivery_url", stringType); - } else { - //set the client role - GetInput client = new GetInput(); - client.setBpInputName(key + "_" + name + "_client_role"); - this.setClient_role(client); - retInputs.put(key + "_" + name + "_client_role", stringType); - } - return retInputs; - } + } else { + //set the client role + GetInput client = new GetInput(); + client.setBpInputName(key + "_" + name + "_client_role"); + this.setClient_role(client); + retInputs.put(key + "_" + name + "_client_role", stringType); + } + return retInputs; + } } -- cgit 1.2.3-korg