in buildChainExport-server/src/main/java/org/jetbrains/teamcity/buildChainExport/formats/PlainTextFormat.java [13:37]
public final String export(@NotNull GraphNode startFrom) {
StringBuilder result = new StringBuilder();
result.append(prefix(startFrom));
Set<GraphNode> processed = new HashSet<GraphNode>();
Queue<GraphNode> toProcess = new LinkedList<GraphNode>();
toProcess.add(startFrom);
while (!toProcess.isEmpty()) {
GraphNode promo = toProcess.poll();
for (GraphNode dep: promo.getChildren()) {
if (!processed.contains(dep)) {
toProcess.add(dep);
}
result.append(edge(promo, dep, processed));
}
}
result.append(suffix(startFrom));
return result.toString();
}