diff options
Diffstat (limited to 'common-be/src/main/java/org/openecomp/sdc/be/datatypes/elements/RequirementDataDefinition.java')
-rw-r--r-- | common-be/src/main/java/org/openecomp/sdc/be/datatypes/elements/RequirementDataDefinition.java | 308 |
1 files changed, 308 insertions, 0 deletions
diff --git a/common-be/src/main/java/org/openecomp/sdc/be/datatypes/elements/RequirementDataDefinition.java b/common-be/src/main/java/org/openecomp/sdc/be/datatypes/elements/RequirementDataDefinition.java new file mode 100644 index 0000000000..7defd1df3c --- /dev/null +++ b/common-be/src/main/java/org/openecomp/sdc/be/datatypes/elements/RequirementDataDefinition.java @@ -0,0 +1,308 @@ +package org.openecomp.sdc.be.datatypes.elements; + +import java.io.Serializable; +import java.util.ArrayList; +import java.util.List; + +import org.openecomp.sdc.be.datatypes.enums.JsonPresentationFields; +import org.openecomp.sdc.be.datatypes.tosca.ToscaDataDefinition; + +public class RequirementDataDefinition extends ToscaDataDefinition implements Serializable { + /** + * + */ + public final static String MIN_OCCURRENCES = "1"; + public final static String MAX_OCCURRENCES = "UNBOUNDED"; + public final static String MAX_DEFAULT_OCCURRENCES = "1"; + + private static final long serialVersionUID = -8840549489409274532L; + + public RequirementDataDefinition() { + super(); + this.setMinOccurrences( MIN_OCCURRENCES ); + this.setMaxOccurrences( MAX_OCCURRENCES); + this.setLeftOccurrences( MAX_OCCURRENCES); + } + + public RequirementDataDefinition(RequirementDataDefinition other) { + this.setUniqueId(other.getUniqueId()); + this.setName(other.getName()); + this.setCapability(other.getCapability()); + this.setNode(other.getNode()); + this.setRelationship(other.getRelationship()); + this.setOwnerId(other.getOwnerId()); + this.setOwnerName(other.getOwnerName()); + this.setMinOccurrences(other.getMinOccurrences()); + this.setMaxOccurrences(other.getMaxOccurrences()); + this.setLeftOccurrences(other.getLeftOccurrences()); + this.setPath(other.getPath()); + this.setSource(other.getSource()); + + } + + /** + * Unique id of the requirement + */ + public String getUniqueId() { + return (String) getToscaPresentationValue(JsonPresentationFields.UNIQUE_ID); + } + + public void setUniqueId(String uniqueId) { + setToscaPresentationValue(JsonPresentationFields.UNIQUE_ID, uniqueId); + } + + public String getName() { + return (String) getToscaPresentationValue(JsonPresentationFields.NAME); + } + + public void setName(String name) { + setToscaPresentationValue(JsonPresentationFields.NAME, name); + } + + /** + * specify the capability type + */ + + public String getCapability() { + return (String) getToscaPresentationValue(JsonPresentationFields.CAPAPILITY); + } + + public void setCapability(String capability) { + setToscaPresentationValue(JsonPresentationFields.CAPAPILITY, capability); + } + + /** + * specify the node type(Optional by tosca) + */ + public String getNode() { + return (String) getToscaPresentationValue(JsonPresentationFields.NODE); + } + + public void setNode(String node) { + setToscaPresentationValue(JsonPresentationFields.NODE, node); + } + + /** + * specify the relationship type(Optional by tosca) + */ + public String getRelationship() { + return (String) getToscaPresentationValue(JsonPresentationFields.RELATIONSHIP); + } + + public void setRelationship(String relationship) { + setToscaPresentationValue(JsonPresentationFields.RELATIONSHIP, relationship); + } + + // public RequirementImplDef getRequirementImpl() { + // return requirementImpl; + // } + // + // public void setRequirementImpl(RequirementImplDef requirementImpl) { + // this.requirementImpl = requirementImpl; + // } + + // specifies the resource instance holding this requirement + public String getOwnerId() { + return (String) getToscaPresentationValue(JsonPresentationFields.OWNER_ID); + } + + public void setOwnerId(String ownerId) { + setToscaPresentationValue(JsonPresentationFields.OWNER_ID, ownerId); + } + + public String getOwnerName() { + return (String) getToscaPresentationValue(JsonPresentationFields.OWNER_NAME); + } + + public void setOwnerName(String ownerName) { + setToscaPresentationValue(JsonPresentationFields.OWNER_NAME, ownerName); + } + + public String getMinOccurrences() { + return (String) getToscaPresentationValue(JsonPresentationFields.MIN_OCCURRENCES); + } + + public void setMinOccurrences(String minOccurrences) { + setToscaPresentationValue(JsonPresentationFields.MIN_OCCURRENCES, minOccurrences); + } + + public String getLeftOccurrences() { + return (String) getToscaPresentationValue(JsonPresentationFields.LEFT_OCCURRENCES); + } + + public void setLeftOccurrences(String leftOccurrences) { + setToscaPresentationValue(JsonPresentationFields.LEFT_OCCURRENCES, leftOccurrences); + } + + public String getMaxOccurrences() { + return (String) getToscaPresentationValue(JsonPresentationFields.MAX_OCCURRENCES); + } + + public void setMaxOccurrences(String maxOccurrences) { + setToscaPresentationValue(JsonPresentationFields.MAX_OCCURRENCES, maxOccurrences); + } + + public void setPath(List<String> path) { + setToscaPresentationValue(JsonPresentationFields.PATH, path); + } + + public List<String> getPath() { + return (List<String>) getToscaPresentationValue(JsonPresentationFields.PATH); + } + + public void setSource(String source) { + setToscaPresentationValue(JsonPresentationFields.SOURCE, source); + } + + public String getSource() { + return (String) getToscaPresentationValue(JsonPresentationFields.SOURCE); + } + + public void addToPath(String elementInPath) { + List<String> path = getPath(); + if (path == null) { + path = new ArrayList<>(); + } + path.add(elementInPath); + setPath(path); + } + + @Override + public int hashCode() { + final int prime = 31; + int result = 1; + String name = getUniqueId(); + String uniqueId = getUniqueId(); + String capability = getCapability(); + String node = getNode(); + String relationship = getRelationship(); + String ownerId = getOwnerId(); + String ownerName = getOwnerName(); + String minOccurrences = getMinOccurrences(); + String maxOccurrences = getMaxOccurrences(); + String leftOccurrences = getLeftOccurrences(); + + List<String> path = this.getPath(); + String source = getSource(); + + result = prime * result + ((capability == null) ? 0 : capability.hashCode()); + result = prime * result + ((name == null) ? 0 : name.hashCode()); + result = prime * result + ((node == null) ? 0 : node.hashCode()); + result = prime * result + ((ownerId == null) ? 0 : ownerId.hashCode()); + result = prime * result + ((ownerName == null) ? 0 : ownerName.hashCode()); + result = prime * result + ((relationship == null) ? 0 : relationship.hashCode()); + result = prime * result + ((uniqueId == null) ? 0 : uniqueId.hashCode()); + result = prime * result + ((minOccurrences == null) ? 0 : minOccurrences.hashCode()); + result = prime * result + ((maxOccurrences == null) ? 0 : maxOccurrences.hashCode()); + result = prime * result + ((leftOccurrences == null) ? 0 : leftOccurrences.hashCode()); + result = prime * result + ((path == null) ? 0 : path.hashCode()); + result = prime * result + ((source == null) ? 0 : source.hashCode()); + return result; + } + + @Override + public boolean equals(Object obj) { + if (this == obj) + return true; + if (obj == null) + return false; + if (getClass() != obj.getClass()) + return false; + RequirementDataDefinition other = (RequirementDataDefinition) obj; + + String name = getUniqueId(); + String uniqueId = getUniqueId(); + String capability = getCapability(); + String node = getNode(); + String relationship = getRelationship(); + String ownerId = getOwnerId(); + String ownerName = getOwnerName(); + String minOccurrences = getMinOccurrences(); + String maxOccurrences = getMaxOccurrences(); + String leftOccurrences = getLeftOccurrences(); + List<String> path = this.getPath(); + String source = getSource(); + + if (capability == null) { + if (other.getCapability() != null) + return false; + } else if (!capability.equals(other.getCapability())) + return false; + if (name == null) { + if (other.getName() != null) + return false; + } else if (!name.equals(other.getName())) + return false; + if (node == null) { + if (other.getNode() != null) + return false; + } else if (!node.equals(other.getNode())) + return false; + if (ownerId == null) { + if (other.getOwnerId() != null) + return false; + } else if (!ownerId.equals(other.getOwnerId())) + return false; + if (ownerName == null) { + if (other.getOwnerName() != null) + return false; + } else if (!ownerName.equals(other.getOwnerName())) + return false; + if (relationship == null) { + if (other.getRelationship() != null) + return false; + } else if (!relationship.equals(other.getRelationship())) + return false; + if (uniqueId == null) { + if (other.getUniqueId() != null) + return false; + } else if (!uniqueId.equals(other.getUniqueId())) + return false; + if (minOccurrences == null) { + if (other.getMinOccurrences() != null) + return false; + } else if (!minOccurrences.equals(other.getMinOccurrences())) + return false; + if (maxOccurrences == null) { + if (other.getMaxOccurrences() != null) + return false; + } else if (!maxOccurrences.equals(other.getMaxOccurrences())) + return false; + if (leftOccurrences == null) { + if (other.getLeftOccurrences() != null) + return false; + } else if (!leftOccurrences.equals(other.getLeftOccurrences())) + return false; + if (path == null) { + if (other.getPath() != null) + return false; + } else if (!path.equals(other.getPath())) + return false; + if (source == null) { + if (other.getSource() != null) + return false; + } else if (!source.equals(other.getSource())) + return false; + return true; + } + + @Override + public String toString() { + String name = getUniqueId(); + String uniqueId = getUniqueId(); + String capability = getCapability(); + String node = getNode(); + String relationship = getRelationship(); + String ownerId = getOwnerId(); + String ownerName = getOwnerName(); + String minOccurrences = getMinOccurrences(); + String maxOccurrences = getMaxOccurrences(); + String leftOccurrences = getLeftOccurrences(); + List<String> path = this.getPath(); + String source = getSource(); + + return "RequirementDefinition [uniqueId=" + uniqueId + ", name=" + name + ", capability=" + capability + ", node=" + node + ", relationship=" + relationship + ", ownerId=" + ownerId + ", ownerName=" + ownerName + ", minOccurrences=" + + minOccurrences + ", maxOccurrences=" + maxOccurrences + ",leftOccurrences=" + leftOccurrences + ", path=" + path + ", source=" + source + "]"; + } + +} |