use of org.eclipse.winery.compliance.model.TOSCANode in project winery by eclipse.
the class ComplianceRuleChecker method extractViolatingMappings.
public List<GraphMapping> extractViolatingMappings(TOSCAGraph identifierGraph, List<GraphMapping> identifierMappings, List<GraphMapping> requiredStructureMappings) {
List<GraphMapping> violatingMappings = new ArrayList<>();
// for all mappings in identifierMappings, we need to find the corresponding required Structure Mappings
for (GraphMapping identifierMapping : identifierMappings) {
boolean foundCorrespondence = false;
for (GraphMapping requiredStructureMapping : requiredStructureMappings) {
// get the corresponding TOSCANode from the searchInGraph
TOSCANode identifierVertexCorrespondence = (TOSCANode) identifierMapping.getVertexCorrespondence(identifierGraph.getReferenceNode(), false);
foundCorrespondence = (requiredStructureMapping.getVertexCorrespondence(identifierVertexCorrespondence, true) != null) ? true : false;
}
if (!foundCorrespondence) {
violatingMappings.add(identifierMapping);
}
}
return violatingMappings;
}
use of org.eclipse.winery.compliance.model.TOSCANode in project winery by eclipse.
the class TOSCATransformer method createAndInitializeTOSCANode.
protected static TOSCANode createAndInitializeTOSCANode(TNodeTemplate nodeTemplate) {
TOSCANode node = new TOSCANode();
node.setNodeTemplate(nodeTemplate);
addTEntityTypes(nodeTemplate.getType(), node, TNodeType.class);
return node;
}
use of org.eclipse.winery.compliance.model.TOSCANode in project winery by eclipse.
the class TOSCAGraphIsomorphismTest method testTOSCADefaultMatcher.
@Test
public void testTOSCADefaultMatcher() {
TOSCAEdgeFactory ef = new TOSCAEdgeFactory();
TOSCAGraph queryGraph = new TOSCAGraph(ef);
TOSCAGraph searchInGraph = new TOSCAGraph(ef);
TOSCANode node1 = TOSCAModelHelper.createTOSCANode("node_01", "A");
TOSCANode node2 = TOSCAModelHelper.createTOSCANode("node_02", "B");
queryGraph.addVertex(node1);
queryGraph.addVertex(node2);
TOSCAEdge edge1 = TOSCAModelHelper.addEdge(queryGraph, node1, node2, "edge_1", "a");
TOSCANode node3 = TOSCAModelHelper.createTOSCANode("node_03", "A");
TOSCANode node4 = TOSCAModelHelper.createTOSCANode("node_04", "A");
TOSCANode node5 = TOSCAModelHelper.createTOSCANode("node_05", "B");
TOSCANode node6 = TOSCAModelHelper.createTOSCANode("node_06", "B");
searchInGraph.addVertex(node3);
searchInGraph.addVertex(node4);
searchInGraph.addVertex(node5);
searchInGraph.addVertex(node6);
TOSCAEdge edge2 = TOSCAModelHelper.addEdge(searchInGraph, node3, node4, "edge_2", "b");
TOSCAEdge edge3 = TOSCAModelHelper.addEdge(searchInGraph, node3, node5, "edge_3", "a");
TOSCAEdge edge4 = TOSCAModelHelper.addEdge(searchInGraph, node4, node6, "edge_4", "a");
TOSCAIsomorphismMatcher matcher = new TOSCAIsomorphismMatcher();
Iterator<GraphMapping<TOSCANode, TOSCAEdge>> iterator = matcher.findMatches(queryGraph, searchInGraph, null);
int isomorphismCount = 0;
while (iterator.hasNext()) {
isomorphismCount++;
GraphMapping<TOSCANode, TOSCAEdge> mapping = iterator.next();
TOSCAEdge edgeCor = mapping.getEdgeCorrespondence(edge1, false);
TOSCANode nodeCor1 = mapping.getVertexCorrespondence(node1, false);
TOSCANode nodeCor2 = mapping.getVertexCorrespondence(node2, false);
}
assertEquals(2, isomorphismCount);
}
use of org.eclipse.winery.compliance.model.TOSCANode in project winery by eclipse.
the class TOSCAModelHelper method createTOSCANode.
public static TOSCANode createTOSCANode(String id, String name) {
TNodeTemplate template = new TNodeTemplate();
template.setName(name);
TOSCANode node = new TOSCANode();
node.setNodeTemplate(template);
return node;
}
use of org.eclipse.winery.compliance.model.TOSCANode in project winery by eclipse.
the class TOSCAModelHelper method createTOSCANodeOnlyProperties.
public static TOSCANode createTOSCANodeOnlyProperties(TOSCAModelPropertiesBuilder bldr) {
TOSCANode node = new TOSCANode();
node.setNodeTemplate(new TNodeTemplate());
node.getNodeTemplate().setProperties(bldr.build());
return node;
}
Aggregations