/** * Convert TOSCA YAML RequirementDefinition to TOSCA XML RequirementType * * @param node TOSCA YAML RequirementDefinition * @param id with name of the TRequirementType * @return QName of the TOSCA XML RequirementType */ private QName convertRequirementDefinition(org.eclipse.winery.model.tosca.yaml.TRequirementDefinition node, String id) { if (node == null) return null; String namespace = Optional.ofNullable(node.getCapability()).map(QName::getNamespaceURI).orElse(this.namespace); TRequirementType result = new TRequirementType.Builder(id) .setRequiredCapabilityType(node.getCapability()) .setTargetNamespace(namespace) .build(); requirementTypes.add(result); return new QName(namespace, result.getName()); }
@Override public boolean equals(Object o) { if (this == o) return true; if (!(o instanceof TRequirementDefinition)) return false; TRequirementDefinition that = (TRequirementDefinition) o; return Objects.equals(getCapability(), that.getCapability()) && Objects.equals(getNode(), that.getNode()) && Objects.equals(getRelationship(), that.getRelationship()) && Objects.equals(getOccurrences(), that.getOccurrences()) && Objects.equals(getDescription(), that.getDescription()); }
@Override public int hashCode() { return Objects.hash(getCapability(), getNode(), getRelationship(), getOccurrences(), getDescription()); }
@Override public String toString() { return "TRequirementDefinition{" + "capability=" + getCapability() + ", node=" + getNode() + ", relationship=" + getRelationship() + ", occurrences=" + getOccurrences() + ", description='" + getDescription() + '\'' + '}'; }
/** * Converts TOSCA YAML RequirementDefinition to TOSCA XML RequirementDefinition * * @param node TOSCA YAML RequirementDefinition * @return TOSCA XML RequirementDefinition */ private TRequirementDefinition convert(org.eclipse.winery.model.tosca.yaml.TRequirementDefinition node, String id) { if (Objects.isNull(node)) return null; // TOSCA YAML does not have RequirementTypes: // * construct TOSCA XML RequirementType from TOSCA YAML Requirement Definition return new TRequirementDefinition.Builder(id, convertRequirementDefinition( node, getRequirementTypeName(node.getCapability(), id) )) .setLowerBound(node.getLowerBound()) .setUpperBound(node.getUpperBound()) .build(); }
public Printer visit(TRequirementDefinition node, Parameter parameter) { return new Printer(parameter.getIndent()) .printKeyValue("capability", node.getCapability()) .printKeyValue("node", node.getNode()) .print(printVisitorNode(node.getRelationship(), new Parameter(parameter.getIndent()).addContext("relationship"))) .printKeyValue("occurrences", node.getOccurrences()) .printKeyValue("description", node.getDescription()); }