@Override public boolean isCompatible(ToscaEdge left, ToscaEdge right) { return StringUtils.equals(left.getTemplate().getName(), right.getTemplate().getName()); } }
public ToscaEdge createEdge(ToscaNode sourceVertex, ToscaNode targetVertex) { return new ToscaEdge(sourceVertex, targetVertex); } }
@Override public boolean isCompatible(ToscaEdge left, ToscaEdge right) { return right.getActualType().equals(left.getActualType()); } }
public List<TRelationshipType> getRelationshipTypes() { return getTypes().stream().map(tEntityType -> (TRelationshipType) tEntityType).collect(Collectors.toList()); }
public void setTemplate(TRelationshipTemplate template) { this.template = template; this.setId(template.getId()); } }
protected static void initializeTOSCAEdge(TRelationshipTemplate tRelationshipTemplate, ToscaEdge edge) { edge.setTemplate(tRelationshipTemplate); addTEntityTypes(tRelationshipTemplate.getType(), edge, TRelationshipType.class); }
public Stream<TRelationshipTemplate> getExternalRelations(TNodeTemplate matchingNode, RefinementCandidate candidate, TTopologyTemplate topology) { return topology.getRelationshipTemplates().stream() .filter(relationship -> // all relationships which have the matchingNode as source or target // -> \pi_1(rm_x) = \pi_2(sgm_i) matchingNode.getId().equals(relationship.getSourceElement().getRef().getId()) || matchingNode.getId().equals(relationship.getTargetElement().getRef().getId()) ).filter(relationship -> { // ignore all relationships which are part of the sub-graph // \nexists sgm_y \in sgms : \pi_1(sgm_y) = r_j return candidate.getDetectorGraph().edgeSet() .stream() .noneMatch(toscaEdge -> { ToscaEdge edgeCorrespondence = candidate.getGraphMapping().getEdgeCorrespondence(toscaEdge, false); return edgeCorrespondence.getTemplate().equals(relationship); }); }); }
refinement.getDetectorGraph().edgeSet() .forEach(edge -> { TRelationshipTemplate tRelationshipTemplate = refinement.getGraphMapping().getEdgeCorrespondence(edge, false).getTemplate(); topology.getNodeTemplateOrRelationshipTemplate() .remove(tRelationshipTemplate);