diff --git a/AlgebraicDataflowArchitectureModel/src/application/editor/stages/ControlFlowModelingStage.java b/AlgebraicDataflowArchitectureModel/src/application/editor/stages/ControlFlowModelingStage.java index 1f98352..0b04103 100644 --- a/AlgebraicDataflowArchitectureModel/src/application/editor/stages/ControlFlowModelingStage.java +++ b/AlgebraicDataflowArchitectureModel/src/application/editor/stages/ControlFlowModelingStage.java @@ -18,7 +18,10 @@ import models.dataFlowModel.*; import java.awt.event.MouseListener; -import java.util.*; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; public class ControlFlowModelingStage extends Stage { public final int PORT_DIAMETER = 8; @@ -238,18 +241,10 @@ final mxCell rootCell = (mxCell) graph.getDefaultParent(); final mxCell layerCell = (mxCell) rootCell.getChildAt(layer); final Map channelNodeCells = new HashMap<>(); - final Map outputChannelNodeCells = new HashMap<>(); // TODO: Name it properly - - Set inputChannels = new HashSet<>(); - CallGraph callGraph = (layer == PUSH_FLOW_LAYER) ? controlFlowGraph.getPushCallGraph() : controlFlowGraph.getPullCallGraph(); - for (Node node : callGraph.getNodes()) { - if (node instanceof EventChannelObjectNode) { - inputChannels.add(((EventChannelObjectNode) node).getIOChannel()); - } - } + final Map outputChannelNodeCells = new HashMap<>(); for (ChannelNode rootChannelNode : controlFlowGraph.getDataFlowGraph().getRootChannelNodes()) { - createEventChannelNodeCell(graph, layerCell, rootChannelNode, channelNodeCells, outputChannelNodeCells, inputChannels, 120, 60); + createEventChannelNodeCell(graph, layerCell, rootChannelNode, channelNodeCells, outputChannelNodeCells, 120, 60); } return channelNodeCells; } @@ -266,9 +261,9 @@ * @param cellWidth The width of a new cell. * @param cellHeight The height of a new cell. */ - private void createEventChannelNodeCell(final mxGraph graph, final mxCell parentCell, final ChannelNode channelNode, Map channelNodeCells, Map outputChannelNodeCells, Set inputChannels, double cellWidth, double cellHeight) { + private void createEventChannelNodeCell(final mxGraph graph, final mxCell parentCell, final ChannelNode channelNode, Map channelNodeCells, Map outputChannelNodeCells, double cellWidth, double cellHeight) { DataTransferChannel channel = channelNode.getChannel(); - boolean isEventChannel = channel.getInputResources().isEmpty() || inputChannels.contains(channel); + boolean isEventChannel = channel.getInputResources().isEmpty(); if (!isEventChannel) { return; } @@ -296,7 +291,7 @@ // Create child cells for the channel node recursively for (ChannelNode childChannelNode : channelNode.getChildren()) { - createEventChannelNodeCell(graph, insertedChannelCell, childChannelNode, channelNodeCells, outputChannelNodeCells, inputChannels, cellWidth / 2.0, cellHeight / 2.0); + createEventChannelNodeCell(graph, insertedChannelCell, childChannelNode, channelNodeCells, outputChannelNodeCells, cellWidth / 2.0, cellHeight / 2.0); } }