mergeGraph function
Merged Nodes/Edges/Flows aller Quellen. Konflikte zwischen manuellen Quellen führen zu einer AdapterException mit allen Fundstellen.
Implementation
MergeResult mergeGraph({
required List<GraphNode> nodes,
required List<GraphEdge> edges,
required List<GraphFlow> flows,
}) {
final conflicts = <String>[];
final mergedNodes = _mergeNodes(nodes, conflicts);
final mergedFlows = _mergeFlows(flows, conflicts);
final mergedEdges = _mergeEdges(edges, conflicts);
if (conflicts.isNotEmpty) {
throw AdapterException(conflicts);
}
return MergeResult(
nodes: mergedNodes,
edges: mergedEdges,
flows: mergedFlows,
);
}