+ // Relationship Template Methods
+ fun relationshipTemplates(): MutableMap<String, RelationshipTemplate>? =
+ serviceTemplate.topologyTemplate?.relationshipTemplates
+
+ fun relationshipTemplateByName(name: String): RelationshipTemplate = relationshipTemplates()?.get(name)
+ ?: throw BluePrintException("could't get relationship template for the name($name)")
+
+ fun relationshipTemplateProperty(relationshipTemplateName: String, propertyName: String): Any? {
+ return nodeTemplateByName(relationshipTemplateName).properties?.get(propertyName)
+ }
+
+ fun relationshipTemplateForRelationshipType(name: String): MutableMap<String, RelationshipTemplate>? {
+ return relationshipTemplates()?.filterValues { relationshipTemplate -> relationshipTemplate.type == name }
+ ?.toMutableMap()
+ }
+
+ fun relationshipTemplateRelationshipType(relationshipName: String): RelationshipType {
+ val relationshipTemplateType: String = relationshipTemplateByName(relationshipName).type
+ return relationshipTypeByName(relationshipTemplateType)
+ }
+