summaryrefslogtreecommitdiffstats
path: root/catalog-be/src/test/java/org/openecomp/sdc/be/components/utils/ResourceBuilder.java
diff options
context:
space:
mode:
Diffstat (limited to 'catalog-be/src/test/java/org/openecomp/sdc/be/components/utils/ResourceBuilder.java')
-rw-r--r--catalog-be/src/test/java/org/openecomp/sdc/be/components/utils/ResourceBuilder.java126
1 files changed, 126 insertions, 0 deletions
diff --git a/catalog-be/src/test/java/org/openecomp/sdc/be/components/utils/ResourceBuilder.java b/catalog-be/src/test/java/org/openecomp/sdc/be/components/utils/ResourceBuilder.java
new file mode 100644
index 0000000000..3d4a29da71
--- /dev/null
+++ b/catalog-be/src/test/java/org/openecomp/sdc/be/components/utils/ResourceBuilder.java
@@ -0,0 +1,126 @@
+package org.openecomp.sdc.be.components.utils;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+
+import org.openecomp.sdc.be.datatypes.enums.ComponentTypeEnum;
+import org.openecomp.sdc.be.model.ComponentInstance;
+import org.openecomp.sdc.be.model.ComponentInstanceInput;
+import org.openecomp.sdc.be.model.ComponentInstanceProperty;
+import org.openecomp.sdc.be.model.InputDefinition;
+import org.openecomp.sdc.be.model.PropertyDefinition;
+import org.openecomp.sdc.be.model.RequirementCapabilityRelDef;
+import org.openecomp.sdc.be.model.Resource;
+
+public class ResourceBuilder {
+
+ private Resource resource;
+
+ public ResourceBuilder() {
+ this.resource = new Resource();
+ }
+
+ public ResourceBuilder(Resource resource) {
+ this.resource = resource;
+ }
+
+ public ResourceBuilder setUniqueId(String id) {
+ resource.setUniqueId(id);
+ return this;
+ }
+
+ public ResourceBuilder setInvariantUUid(String invariantUUid) {
+ resource.setInvariantUUID(invariantUUid);
+ return this;
+ }
+
+ public ResourceBuilder setName(String name) {
+ resource.setName(name);
+ return this;
+ }
+
+ public ResourceBuilder setComponentType(ComponentTypeEnum type) {
+ resource.setComponentType(type);
+ return this;
+ }
+
+ public ResourceBuilder setSystemName(String systemName) {
+ resource.setSystemName(systemName);
+ return this;
+ }
+
+ public ResourceBuilder addComponentInstance(ComponentInstance componentInstance) {
+ if (resource.getComponentInstances() == null) {
+ resource.setComponentInstances(new ArrayList<>());
+ }
+ resource.getComponentInstances().add(componentInstance);
+ return this;
+ }
+
+ public ResourceBuilder addInput(InputDefinition input) {
+ if (resource.getInputs() == null) {
+ resource.setInputs(new ArrayList<>());
+ }
+ resource.getInputs().add(input);
+ return this;
+ }
+
+ public ResourceBuilder addInput(String inputName) {
+ InputDefinition inputDefinition = new InputDefinition();
+ inputDefinition.setName(inputName);
+ inputDefinition.setUniqueId(inputName);
+ this.addInput(inputDefinition);
+ return this;
+ }
+
+ public ResourceBuilder addProperty(PropertyDefinition propertyDefinition) {
+ if (resource.getProperties() == null) {
+ resource.setProperties(new ArrayList<>());
+ }
+ resource.getProperties().add(propertyDefinition);
+ return this;
+ }
+
+ public ResourceBuilder addInstanceProperty(String instanceId, ComponentInstanceProperty prop) {
+ if (resource.getComponentInstancesProperties() == null) {
+ resource.setComponentInstancesProperties(new HashMap<>());
+ }
+ resource.getComponentInstancesProperties().computeIfAbsent(instanceId, key -> new ArrayList<>()).add(prop);
+ return this;
+ }
+
+ public ResourceBuilder addInstanceProperty(String instanceId, String propName) {
+ ComponentInstanceProperty componentInstanceProperty = new ComponentInstanceProperty();
+ componentInstanceProperty.setName(propName);
+ this.addInstanceProperty(instanceId, componentInstanceProperty);
+ return this;
+ }
+
+ public ResourceBuilder addInstanceInput(String instanceId, ComponentInstanceInput prop) {
+ if (resource.getComponentInstancesInputs() == null) {
+ resource.setComponentInstancesInputs(new HashMap<>());
+ }
+ resource.getComponentInstancesInputs().computeIfAbsent(instanceId, key -> new ArrayList<>()).add(prop);
+ return this;
+ }
+
+ public ResourceBuilder addInstanceInput(String instanceId, String propName) {
+ ComponentInstanceInput componentInstanceInput = new ComponentInstanceInput();
+ componentInstanceInput.setName(propName);
+ this.addInstanceInput(instanceId, componentInstanceInput);
+ return this;
+ }
+
+ public ResourceBuilder addRelationship(RequirementCapabilityRelDef requirementCapabilityRelDef) {
+ if (resource.getComponentInstancesRelations() == null) {
+ resource.setComponentInstancesRelations(new ArrayList<>());
+ }
+ resource.getComponentInstancesRelations().add(requirementCapabilityRelDef);
+ return this;
+ }
+
+
+ public Resource build() {
+ return resource;
+ }
+}