@Override public boolean isCompatible(ToscaNode left, ToscaNode right) { return StringUtils.equals(left.getTemplate().getName(), right.getTemplate().getName()); }
public ToscaNode getNode(String id) { return vertexSet().stream().filter(n -> StringUtils.equals(id, n.getId())).findFirst().orElse(null); }
protected static ToscaNode createAndInitializeTOSCANode(TNodeTemplate nodeTemplate) { ToscaNode node = new ToscaNode(); node.setNodeTemplate(nodeTemplate); addTEntityTypes(nodeTemplate.getType(), node, TNodeType.class); return node; }
.forEach(vertex -> { TNodeTemplate matchingNode = refinement.getGraphMapping().getVertexCorrespondence(vertex, false).getTemplate(); this.applyPropertyMappings(refinement, vertex.getId(), matchingNode, topology, idMapping);
@Override public boolean isCompatible(ToscaNode left, ToscaNode right) { return left.getActualType().equals(right.getActualType()); }
public List<TNodeType> getNodeTypes() { return getTypes().stream().map(TNodeType.class::cast).collect(Collectors.toList()); }
public void setNodeTemplate(TNodeTemplate nodeTemplate) { this.nodeTemplate = nodeTemplate; this.setId(nodeTemplate.getId()); } }
public boolean isPropertiesCompatible(ToscaNode left, ToscaNode right) { if (left.getTemplate().getProperties() != null) { if (right.getTemplate().getProperties() != null) { for (Entry<String, String> leftEntry : left.getTemplate().getProperties().getKVProperties().entrySet()) { if (!isPropertyCompatible(leftEntry, right.getTemplate().getProperties().getKVProperties())) { return false; } } } else { return false; } } return true; }
String topologyNodeId = refinement.getGraphMapping().getVertexCorrespondence(node, false).getId();
public ArrayList<String> getNodeIdsToBeReplaced() { ArrayList<String> ids = new ArrayList<>(); this.detectorGraph.vertexSet().forEach(toscaNode -> ids.add(graphMapping.getVertexCorrespondence(toscaNode, false).getTemplate().getId()) ); return ids; } }
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; }
public boolean isApplicable(RefinementCandidate candidate, TTopologyTemplate topology) { return candidate.getDetectorGraph().vertexSet() .stream() .allMatch(vertex -> { TNodeTemplate matchingNode = candidate.getGraphMapping().getVertexCorrespondence(vertex, false).getTemplate(); return this.canRedirectExternalRelations(candidate, matchingNode, topology); }); }
private Map<String, Map<String, Integer>> calculateNewPositions(ToscaGraph detectorGraph, GraphMapping<ToscaNode, ToscaEdge> mapping, TTopologyTemplate refinementStructure) { HashMap<String, Map<String, Integer>> coordinates = new HashMap<>(); int[] topLeftOriginal = {-1, -1}; int[] topLeftReplacement = {-1, -1}; detectorGraph.vertexSet().forEach(toscaNode -> { ToscaNode node = mapping.getVertexCorrespondence(toscaNode, false); getTopLeft(node.getTemplate().getX(), node.getTemplate().getY(), topLeftOriginal); }); refinementStructure.getNodeTemplates().forEach( tNodeTemplate -> getTopLeft(tNodeTemplate.getX(), tNodeTemplate.getY(), topLeftReplacement) ); refinementStructure.getNodeTemplates().forEach(nodeTemplate -> { int x = Integer.parseInt(nodeTemplate.getX()); int y = Integer.parseInt(nodeTemplate.getY()); HashMap<String, Integer> newCoordinates = new HashMap<>(); newCoordinates.put("x", (x - topLeftReplacement[0]) + topLeftOriginal[0]); newCoordinates.put("y", (y - topLeftReplacement[1]) + topLeftOriginal[1]); coordinates.put(nodeTemplate.getId(), newCoordinates); }); return coordinates; }
Map<ToscaNode, ToscaNode> resultMap = checker.getSubGraphMappingAsMap(mapping, checker.getIdentifierGraph()); checkingResult.append(System.lineSeparator()); checkingResult.append(resultMap.values().stream().map(node -> node.getTemplate().getIdFromIdOrNameField()).collect(Collectors.joining(";", "NodeTemplateIds: ", "")));