Commit 2db6f88d authored by Carlos Galindo's avatar Carlos Galindo
Browse files

Avoid printing ignored edges when exporting the graph

parent 2a174c48
Loading
Loading
Loading
Loading
+5 −7
Original line number Diff line number Diff line
@@ -21,11 +21,13 @@ package edg;
import java.io.File;
import java.util.*;
import java.util.function.Predicate;
import java.util.stream.Collectors;

import edg.constraint.EdgeConstraint;
import edg.graph.EDG;
import edg.graph.Edge;
import edg.graph.Node;
import org.jgrapht.graph.AsSubgraph;
import org.jgrapht.io.Attribute;
import org.jgrapht.io.DOTExporter;
import org.jgrapht.io.DefaultAttribute;
@@ -89,6 +91,8 @@ public class DotFactory {
					&& ((!ignoredNodeIds.contains(idFrom) && !ignoredNodeIds.contains(idTo))
					&& !(edgeType == Edge.Type.Control && (edg.getNode(idFrom).getType() == Node.Type.Clause || edg.getNode(idFrom).getType() == Node.Type.Parameters))); //IGNORE CLAUSE CONTROL EDGES TO ALL ELEMENTS
		});
		AsSubgraph<Node, Edge> subGraph = new AsSubgraph<>(edg, edg.vertexSet(),
				edg.edgeSet().stream().filter(slicedGraph.edgeFilter).collect(Collectors.toSet()));

		DOTExporter<Node, Edge> exporter = new DOTExporter<>(
				n -> String.valueOf(n.getId()), // Node --> id
@@ -99,7 +103,7 @@ public class DotFactory {

		try
		{
			exporter.exportGraph(edg, outputFile);
			exporter.exportGraph(subGraph, outputFile);
		}
		catch (ExportException e)
		{
@@ -273,12 +277,6 @@ public class DotFactory {
				default:
					throw new RuntimeException("Edge type not contemplated: " + edgeType);
			}

			if (!edgeFilter.test(edge))
			{
				attrs.put("constraint", FALSE);
				attrs.put("style", INVISIBLE);
			}
			return attrs;
		}
	}