for (Interface anInterface : safe(node.getInterfaces()).values()) { for (Operation operation : safe(anInterface.getOperations()).values()) { if (operation.getImplementationArtifact() != null
public static boolean hasRepositories(String topologyArchiveName, String topologyArchiveVersion, Topology topology) { // we don't support node types in Editor context, just check the node templates for (NodeTemplate node : safe(topology.getNodeTemplates()).values()) { for (DeploymentArtifact artifact : safe(node.getArtifacts()).values()) { // Only consider artifact of the topology if (isInternalRepoArtifact(artifact, topologyArchiveName, topologyArchiveVersion)) { return true; } } for (Interface anInterface : safe(node.getInterfaces()).values()) { for (Operation operation : safe(anInterface.getOperations()).values()) { if (operation.getImplementationArtifact() != null && isInternalRepoArtifact(operation.getImplementationArtifact(), topologyArchiveName, topologyArchiveVersion)) { return true; } } } } return MapUtils.isNotEmpty(topology.getInputArtifacts()) && topology.getInputArtifacts().values().stream() .anyMatch(deploymentArtifact -> StringUtils.isNotBlank(deploymentArtifact.getRepositoryName())); }
safe(instance.getInterfaces()).values().stream().flatMap(anInterface -> safe(anInterface.getOperations()).values().stream()) .map(Operation::getImplementationArtifact).filter(Objects::nonNull).forEach(implementationArtifactPostProcessor); instance.setRequirements(tempObject.getRequirements()); instance.setArtifacts(tempObject.getArtifacts()); instance.setInterfaces(tempObject.getInterfaces());
public ServiceNodeTemplate(NodeTemplate nodeTemplate, Map<String, String> attributeValues) { super(nodeTemplate.getType(), nodeTemplate.getProperties(), nodeTemplate.getAttributes(), nodeTemplate.getRelationships(), nodeTemplate.getRequirements(), nodeTemplate.getCapabilities(), nodeTemplate.getInterfaces(), nodeTemplate.getArtifacts()); this.attributeValues = attributeValues; }
@Override public void process(Csar csar, Topology topology, DeleteFileOperation operation) { // Topology topology = EditionContextManager.get().getTopology(); if (csar.getYamlFilePath().equals(operation.getPath())) { throw new InvalidPathException("Topology yaml file cannot be removed."); } TreeNode target = FileProcessorHelper.getFileTreeNode(operation.getPath()); target.getParent().getChildren().remove(target); for (NodeTemplate nodeTemplate : safe(topology.getNodeTemplates()).values()) { for (DeploymentArtifact artifact : safe(nodeTemplate.getArtifacts()).values()) { resetRemovedArtifact(artifact, operation.getPath()); } cleanupInterfaces(nodeTemplate.getInterfaces(), operation.getPath()); for (RelationshipTemplate relationshipTemplate : safe(nodeTemplate.getRelationships()).values()) { cleanupInterfaces(relationshipTemplate.getInterfaces(), operation.getPath()); } } }
+ "] does not inherit from [" + NormativeNodeTypesConstants.DOCKER_TYPE + "]."); Interface standard = safe(nodeTemplate.getInterfaces()).get(ToscaNodeLifecycleConstants.STANDARD); if (standard == null) { standard = new Interface(ToscaNodeLifecycleConstants.STANDARD); if (nodeTemplate.getInterfaces() == null) { nodeTemplate.setInterfaces(Maps.newHashMap()); nodeTemplate.getInterfaces().put(ToscaNodeLifecycleConstants.STANDARD, standard);
private void validateCommand(OperationExecRequest operationRequest, Topology topology) throws ConstraintFunctionalException { NodeTemplate nodeTemplate = TopologyUtils.getNodeTemplate(topology.getId(), operationRequest.getNodeTemplateName(), TopologyUtils.getNodeTemplates(topology)); NodeType indexedNodeType = toscaTypeSearchService.getRequiredElementInDependencies(NodeType.class, nodeTemplate.getType(), topology.getDependencies()); Map<String, Interface> interfaces = IndexedModelUtils.mergeInterfaces(indexedNodeType.getInterfaces(), nodeTemplate.getInterfaces()); if (interfaces == null || interfaces.get(operationRequest.getInterfaceName()) == null) { throw new NotFoundException("Interface [" + operationRequest.getInterfaceName() + "] not found in the node template [" + operationRequest.getNodeTemplateName() + "] related to [" + indexedNodeType.getId() + "]"); } Interface interfass = interfaces.get(operationRequest.getInterfaceName()); validateOperation(interfass, operationRequest, topology.getDependencies()); }
@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); } }