diff --git a/AlgebraicDataflowArchitectureModel/src/application/editor/Editor.java b/AlgebraicDataflowArchitectureModel/src/application/editor/Editor.java index 25604c4..4baa140 100644 --- a/AlgebraicDataflowArchitectureModel/src/application/editor/Editor.java +++ b/AlgebraicDataflowArchitectureModel/src/application/editor/Editor.java @@ -15,6 +15,7 @@ import java.util.HashSet; import java.util.List; import java.util.Map; +import java.util.Map.Entry; import java.util.Set; import com.mxgraph.layout.mxCircleLayout; @@ -22,6 +23,7 @@ import com.mxgraph.model.mxCell; import com.mxgraph.model.mxGeometry; import com.mxgraph.model.mxGraphModel; +import com.mxgraph.model.mxICell; import com.mxgraph.model.mxIGraphModel; import com.mxgraph.swing.mxGraphComponent; import com.mxgraph.util.mxConstants; @@ -468,7 +470,13 @@ } else { // input edge ResourcePath srcRes = ((ResourceNode) dfEdge.getSource()).getOutSideResource(); - DataTransferChannel channel = ((ChannelNode) dfEdge.getDestination()).getChannel(); + DataTransferChannel channel = ((ChannelNode) dfEdge.getDestination()).getChannel(); + Set> toRes = getResourceDependencyForChannel(channel, model, dataFlowGraph); + for(Map.Entry RtoR : toRes) { + graph.insertEdge(parent, null, null, + resources.get(RtoR.getValue().getOutSideResource()), resources.get(RtoR.getKey().getOutSideResource()), "dashed=true;movable=false"); + } + graph.insertEdge(parent, null, new SrcDstAttribute(srcRes, channel), resources.get(srcRes), channelsIn.get(channel), "movable=false"); } }