digraph nlpMessagingGenerator { overlap=scale; splines=true; layers="process:errors"; rankdir=TD; concentrate=true; node [shape=box, style="rounded,filled", layer=all, fillcolor="darkslategray3"]; edge [layer=all]; start [label="", shape=circle, fillcolor=black, fixedsize=true, width=0.2]; readXml [label="Read XML"]; retrieveNextCommType [label="Retrieve next\nCommunication Type"]; checkCommType[label="Check whether\nCommunication Type\nexists", fillcolor="orange", shape="diamond"]; // beginTransaction[label="Begin transaction", fillcolor="#D2D263"]; createCommType[label="Create Communication Type"]; createTemplate[label="Create Template"]; // commitTransaction[label="Commit transaction", fillcolor="#D2D263"]; // rollbackTransaction[label="Rollback transaction", fillcolor="#D2D263"]; error [label="Error", layer="error", fillcolor="red"]; end [label="", shape=doublecircle, fillcolor="black", fixedsize=true, width=0.2]; start -> readXml [label="0"]; readXml -> retrieveNextCommType [label="0"]; readXml -> error [label="-1", layer="error", color="gray85", fontcolor="gray85"]; retrieveNextCommType -> checkCommType [label="0", decorate="true"]; retrieveNextCommType -> end[label="1", color="darkgoldenrod4", fontcolor="darkgoldenrod4"]; retrieveNextCommType -> error [label="-1", layer="error", color="gray85", fontcolor="gray85"]; checkCommType -> retrieveNextCommType[label="0"]; // checkCommType -> beginTransaction[label="1", color="darkgoldenrod4", fontcolor="darkgoldenrod4"]; checkCommType -> createCommType[label="1", color="darkgoldenrod4", fontcolor="darkgoldenrod4"]; checkCommType -> error[label="-1", layer="error", color="gray85", fontcolor="gray85"]; // beginTransaction -> createCommType[label="1", color="darkgoldenrod4", fontcolor="darkgoldenrod4"]; // beginTransaction -> error[label="-1", layer="error", color="gray85", fontcolor="gray85"]; createCommType -> createTemplate [label="0"]; // createCommType -> rollbackTransaction [label="-1", layer="error", color="gray85", fontcolor="gray85"]; createCommType -> error [label="-1", layer="error", color="gray85", fontcolor="gray85"]; // createTemplate -> commitTransaction [label="0"]; createTemplate -> retrieveNextCommType [label="0"]; // createTemplate -> rollbackTransaction [label="-1", layer="error", color="gray85", fontcolor="gray85"]; createTemplate -> error [label="-1", layer="error", color="gray85", fontcolor="gray85"]; // commitTransaction -> retrieveNextCommType [label="0"]; // commitTransaction -> rollbackTransaction [label="-1", layer="error", color="gray85", fontcolor="gray85"]; // rollbackTransaction -> error [label="0"]; // rollbackTransaction -> error [label="-1", layer="error", color="gray85", fontcolor="gray85"]; error -> end[label="0", layer="error", color="gray85", fontcolor="gray85", fontcolor="gray85", fontcolor="gray85"]; }