public static List<TPolicyTemplate> getPolicyTemplates(TNodeTemplate nodeTemplate) { List<TPolicyTemplate> policyTemplates = new ArrayList<>(); if (nodeTemplate.getPolicies() != null) { List<TPolicy> tPolicies = nodeTemplate.getPolicies().getPolicy(); for (TPolicy tPolicy : tPolicies) { policyTemplates.add(toPolicyTemplate(tPolicy)); } } return policyTemplates; }
/** * Get policy templates by names specified in GUI. * The Policy Template names are used as IDs -> have to be unique. */ private Map<TNodeTemplate, List<PolicyWrapper>> getPoliciesForNTs(TopologyWrapper topology, JsonNode params) { Map<TNodeTemplate, List<PolicyWrapper>> policiesForNTs = new HashMap<>(); for (TNodeTemplate topLevelNT : topology.getTopLevelNTs()) { policiesForNTs.put(topLevelNT, new ArrayList<>()); if (topLevelNT.getPolicies() == null) { continue; } for (JsonNode policyWithOperator : params.get("policySelection")) { String propertyKey = policyWithOperator.get("property").asText(); String operator = policyWithOperator.get("operator").asText(); for (TPolicy policy : topLevelNT.getPolicies().getPolicy()) { if (policy.getName().equals(policyWithOperator.get("policy").asText())) { TPolicyTemplate policyTemplate = AllocationUtils.toPolicyTemplate(policy); policiesForNTs.get(topLevelNT).add(new PolicyWrapper(policyTemplate, propertyKey, operator)); } } } } return policiesForNTs; }
private void acceptBoundaryDefinitionsPolicies(@NonNull TBoundaryDefinitions boundaryDefinitions) { final TPolicies policies = boundaryDefinitions.getPolicies(); if (policies != null) { for (TPolicy policy : policies.getPolicy()) { policy.accept(this); } } }
@Path("policies/") public PoliciesResource getPoliciesResource() { TPolicies policies = this.boundaryDefinitions.getPolicies(); if (policies == null) { policies = new TPolicies(); this.boundaryDefinitions.setPolicies(policies); } return new PoliciesResource(policies.getPolicy(), this.serviceTemplateResource); }
public static boolean containsPatterns(List<TNodeTemplate> topologyNodes, Map<QName, TNodeType> nodeTypes) { NamespaceManager namespaceManager = RepositoryFactory.getRepository().getNamespaceManager(); return topologyNodes.stream() .anyMatch(nodeTemplate -> { TNodeType tNodeType = nodeTypes.get(nodeTemplate.getType()); boolean isPattern = namespaceManager.isPatternNamespace(tNodeType.getTargetNamespace()); boolean isAnnotatedByPattern = false; if (Objects.nonNull(nodeTemplate.getPolicies())) { isAnnotatedByPattern = nodeTemplate.getPolicies().getPolicy() .stream() .anyMatch(tPolicy -> namespaceManager.isPatternNamespace(tPolicy.getPolicyType().getNamespaceURI())); } return isPattern || isAnnotatedByPattern; }); } }
public boolean isPoliciesCompatible(ToscaNode left, ToscaNode right) { if (left.getTemplate().getPolicies() != null) { if (right.getTemplate().getPolicies() != null) { return mapToStringList(right.getTemplate().getPolicies().getPolicy()).containsAll(mapToStringList(left.getTemplate().getPolicies().getPolicy())); } else { return false; } } return true; }
List<TPolicy> candidatePolicies = candidate.getPolicies().getPolicy(); characterizingPatternsCompatible = detectorElement.getPolicies().getPolicy() .stream() .allMatch(detectorPolicy -> { } else if (Objects.nonNull(detectorElement.getPolicies())) { characterizingPatternsCompatible = detectorElement.getPolicies().getPolicy() .stream() .noneMatch(detectorPolicy -> characterizingPatternsCompatible = candidate.getPolicies().getPolicy() .stream() .noneMatch(candidatePolicy ->
public TTopologyTemplateDefinition convert(TTopologyTemplate node, TBoundaryDefinitions boundary) { if (Objects.isNull(node)) return null; return new TTopologyTemplateDefinition.Builder() .setDescription(convertDocumentation(node.getDocumentation())) .setNodeTemplates(convert(node.getNodeTemplates(), node.getRelationshipTemplates())) .setRelationshipTemplates(convert(node.getRelationshipTemplates())) .setPolicies(convert( node.getNodeTemplates().stream() .filter(Objects::nonNull) .map(org.eclipse.winery.model.tosca.TNodeTemplate::getPolicies) .filter(Objects::nonNull) .flatMap(p -> p.getPolicy().stream()) .filter(Objects::nonNull) .collect(Collectors.toList()) )) .setSubstitutionMappings(convert(boundary)) .build(); }
@Override public void visit(TNodeTemplate nodeTemplate) { final TNodeTemplate.Requirements requirements = nodeTemplate.getRequirements(); if ((requirements != null) && requirements.getRequirement().isEmpty()) { nodeTemplate.setRequirements(null); } final TNodeTemplate.Capabilities capabilities = nodeTemplate.getCapabilities(); if ((capabilities != null) && capabilities.getCapability().isEmpty()) { nodeTemplate.setCapabilities(null); } final TDeploymentArtifacts deploymentArtifacts = nodeTemplate.getDeploymentArtifacts(); if ((deploymentArtifacts != null) && deploymentArtifacts.getDeploymentArtifact().isEmpty()) { nodeTemplate.setDeploymentArtifacts(null); } final TPolicies policies = nodeTemplate.getPolicies(); if ((policies != null) && policies.getPolicy().isEmpty()) { nodeTemplate.setPolicies(null); } super.visit(nodeTemplate); }
TPolicies policies = boundaryDefs.getPolicies(); if (policies != null) { for (TPolicy policy : policies.getPolicy()) { PolicyTypeId policyTypeId = new PolicyTypeId(policy.getPolicyType()); ids.add(policyTypeId); for (TPolicy pol : policies.getPolicy()) { QName type = pol.getPolicyType(); PolicyTypeId ctId = new PolicyTypeId(type);
for (TPolicy pol : policies.getPolicy()) { QName type = pol.getPolicyType(); PolicyTypeId ctId = new PolicyTypeId(type);
public void visit(TNodeTemplate nodeTemplate) { this.visit((RelationshipSourceOrTarget) nodeTemplate); final TNodeTemplate.Requirements requirements = nodeTemplate.getRequirements(); if (requirements != null) { requirements.accept(this); } final TNodeTemplate.Capabilities capabilities = nodeTemplate.getCapabilities(); if (capabilities != null) { capabilities.accept(this); } final TDeploymentArtifacts deploymentArtifacts = nodeTemplate.getDeploymentArtifacts(); if (deploymentArtifacts != null) { for (TDeploymentArtifact deploymentArtifact : deploymentArtifacts.getDeploymentArtifact()) { deploymentArtifact.accept(this); } } final TPolicies policies = nodeTemplate.getPolicies(); if (policies != null) { for (TPolicy policy : policies.getPolicy()) { policy.accept(this); } } // meta model does not offer more children }