public Map<String, AbstractPropertyValue> getServiceAttributes(NodeTemplate nodeTemplate) { if (nodeTemplate instanceof ServiceNodeTemplate) { ServiceNodeTemplate serviceNodeTemplate = (ServiceNodeTemplate) nodeTemplate; if (serviceNodeTemplate.getAttributeValues() != null) { return serviceNodeTemplate.getAttributeValues().entrySet().stream() .collect(Collectors.toMap(Map.Entry::getKey, entry -> new ScalarPropertyValue(entry.getValue()))); } else { return Collections.emptyMap(); } } else { return Collections.emptyMap(); } }
@Override protected void processServiceResourceReplacement(Topology topology, Map<String, NodeTemplate> topologyTemplateMap, String nodeId, String serviceResourceId) { ServiceResource serviceResource = getServiceResourceService().getOrFail(serviceResourceId); NodeTemplate serviceNodeTemplate = serviceResource.getNodeInstance().getNodeTemplate(); ServiceNodeTemplate substitutionNodeTemplate = new ServiceNodeTemplate(serviceNodeTemplate.getType(), serviceNodeTemplate.getProperties(), serviceNodeTemplate.getAttributes(), serviceNodeTemplate.getRelationships(), serviceNodeTemplate.getRequirements(), serviceNodeTemplate.getCapabilities(), serviceNodeTemplate.getInterfaces(), serviceNodeTemplate.getArtifacts()); substitutionNodeTemplate.setServiceResourceId(serviceResource.getId()); substitutionNodeTemplate.setAttributeValues(serviceResource.getNodeInstance().getAttributeValues()); NodeTemplate abstractTopologyNode = topologyTemplateMap.put(nodeId, substitutionNodeTemplate); substitutionNodeTemplate.setName(abstractTopologyNode.getName()); substitutionNodeTemplate.setRelationships(abstractTopologyNode.getRelationships()); // add all the necessary dependencies to the topology Csar csar = getToscaTypeSearchService().getArchive(serviceResource.getDependency().getName(), serviceResource.getDependency().getVersion()); Set<CSARDependency> dependencies = Sets.newHashSet(); if (csar.getDependencies() != null) { dependencies.addAll(csar.getDependencies()); } dependencies.add(new CSARDependency(csar.getName(), csar.getVersion())); topology.getDependencies().addAll(dependencies); } }
private void processService(PaaSNodeTemplate paaSNodeTemplate) { ServiceNodeTemplate serviceNodeTemplate = (ServiceNodeTemplate) paaSNodeTemplate.getTemplate(); ServiceResource serviceResource = serviceResourceService.getOrFail(serviceNodeTemplate.getServiceResourceId()); for (PaaSRelationshipTemplate paaSRelationshipTemplate : paaSNodeTemplate.getRelationshipTemplates()) { Interface templateInterface = safe(paaSRelationshipTemplate.getInterfaces()).get(ToscaRelationshipLifecycleConstants.CONFIGURE); if (templateInterface != null) { if (paaSRelationshipTemplate.getSource().equals(paaSNodeTemplate.getId())) { processSourceOperations(paaSRelationshipTemplate, serviceResource, templateInterface); } else { processTargetOperations(paaSRelationshipTemplate, serviceResource, templateInterface); } } } }
lrt.setId(serviceResource.getId()); ServiceNodeTemplate serviceNodeTemplate = new ServiceNodeTemplate(serviceResource.getNodeInstance()); lrt.setTemplate(serviceNodeTemplate); lrt.setLocationId(locationId);