relationshipTemplate.setProperties(Maps.newHashMap());
@Override protected void processRelationshipOperation(Csar csar, Topology topology, RebuildRelationshipOperation operation, NodeTemplate nodeTemplate, RelationshipTemplate relationshipTemplate) { // rebuild a relationship template based on the current relationship type log.debug("Rebuilding the relationship [ {} ] in the node template [ {} ] of topology [ {} ] .", operation.getRelationshipName(), operation.getNodeName(), topology.getId()); RelationshipType relType = ToscaContext.getOrFail(RelationshipType.class, relationshipTemplate.getType()); Map<String, AbstractPropertyValue> properties = Maps.newHashMap(); TemplateBuilder.fillProperties(properties, relType.getProperties(), relationshipTemplate.getProperties()); relationshipTemplate.setProperties(properties); relationshipTemplate.setAttributes(relType.getAttributes()); } }
relationshipTemplate.setProperties(properties); relationshipTemplate.setAttributes(indexedRelationshipType.getAttributes());
private void updateRelationshipsCapabilitiesRelationships(Topology topology, NodeTemplate nodeTemplate) { List<RelationshipEntry> targetRelationships = TopologyUtils.getTargetRelationships(nodeTemplate.getName(), topology.getNodeTemplates()); for (RelationshipEntry targetRelationshipEntry : targetRelationships) { RelationshipTemplate targetRelationship = targetRelationshipEntry.getRelationship(); Capability capability = safe(nodeTemplate.getCapabilities()).get(targetRelationship.getTargetedCapabilityName()); if (capability == null || isCapabilityNotOfType(capability, targetRelationship.getRequirementType())) { Entry<String, Capability> capabilityEntry = NodeTemplateUtils.getCapabilitEntryyByType(nodeTemplate, targetRelationship.getRequirementType()); targetRelationship.setTargetedCapabilityName(capabilityEntry.getKey()); // check that the relationship type is still valid with the new capability RelationshipType relationshipType = ToscaContext.get(RelationshipType.class, targetRelationship.getType()); if (!isValidRelationship(relationshipType, capabilityEntry.getValue())) { NodeType sourceNodeType = ToscaContext.get(NodeType.class, targetRelationshipEntry.getSource().getType()); RequirementDefinition requirementDefinition = NodeTypeUtils.getRequirementById(sourceNodeType, targetRelationshipEntry.getRelationship().getRequirementName()); NodeType targetNodeType = ToscaContext.get(NodeType.class, nodeTemplate.getType()); CapabilityDefinition capabilityDefinition = NodeTypeUtils.getCapabilityById(targetNodeType, capabilityEntry.getKey()); RelationshipType validRelationshipType = danglingRequirementService.fetchValidRelationshipType(requirementDefinition, capabilityDefinition); targetRelationship.setType(validRelationshipType.getElementId()); targetRelationship.setType(validRelationshipType.getElementId()); targetRelationship.setArtifacts(newLinkedHashMap(safe(validRelationshipType.getArtifacts()))); targetRelationship.setAttributes(newLinkedHashMap(safe(validRelationshipType.getAttributes()))); Map<String, AbstractPropertyValue> properties = new LinkedHashMap(); TemplateBuilder.fillProperties(properties, validRelationshipType.getProperties(), null); targetRelationship.setProperties(properties); } } } }
Map<String, AbstractPropertyValue> properties = new LinkedHashMap(); TemplateBuilder.fillProperties(properties, danglingRelationshipType.getProperties(), null); relationshipTemplate.setProperties(properties);
INodeParser<AbstractPropertyValue> propertyValueParser = context.getRegistry().get("node_template_property"); MapParser<AbstractPropertyValue> mapParser = baseParserFactory.getMapParser(propertyValueParser, "node_template_property"); relationshipTemplate.setProperties(mapParser.parse(nodeTuple.getValueNode(), context)); break; case "interfaces":
INodeParser<AbstractPropertyValue> propertyValueParser = context.getRegistry().get("node_template_property"); MapParser<AbstractPropertyValue> mapParser = baseParserFactory.getMapParser(propertyValueParser, "node_template_property"); relationshipTemplate.setProperties(mapParser.parse(nodeTuple.getValueNode(), context)); break; case "interfaces":
Map<String, AbstractPropertyValue> properties = new LinkedHashMap<String, AbstractPropertyValue>(); TemplateBuilder.fillProperties(properties, indexedRelationshipType.getProperties(), null); relationshipTemplate.setProperties(properties);