From 0b4512bd9b30060ac7beeb694410b6ba51421151 Mon Sep 17 00:00:00 2001 From: Matthias Radestock Date: Wed, 27 Dec 2017 13:49:34 +0000 Subject: [PATCH] refactor: clarify and comment on summarisation logic --- render/detailed/summary.go | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/render/detailed/summary.go b/render/detailed/summary.go index 36ffbe776..d309c2835 100644 --- a/render/detailed/summary.go +++ b/render/detailed/summary.go @@ -117,17 +117,28 @@ func MakeBasicNodeSummary(r report.Report, n report.Node) (BasicNodeSummary, boo if t, ok := r.Topology(n.Topology); ok { summary.Shape = t.GetShape() } + + // Do we have a renderer for the topology? if renderer, ok := renderers[n.Topology]; ok { - // Skip (and don't fall through to fallback) if renderer maps to nil - if renderer != nil { - return renderer(summary, n), true + if renderer == nil { // we don't want to render this + return summary, false } - } else if _, ok := r.Topology(n.Topology); ok { - return summary, true + return renderer(summary, n), true } + + // Is it a group topology? if strings.HasPrefix(n.Topology, "group:") { return groupNodeSummary(summary, r, n), true } + + // Is it any known topology? + if _, ok := r.Topology(n.Topology); ok { + // We should never get here, since all known topologies are in + // 'renderers'. + return summary, true + } + + // We have no idea how to render this. return summary, false }