From ed268ad6830a70c6a7d688efbafdf8b1a2411b8a Mon Sep 17 00:00:00 2001 From: James Shubin Date: Mon, 6 Feb 2017 16:29:02 -0500 Subject: [PATCH] pgraph, yamlgraph: Allow specifying notify value from YAML --- pgraph/graphviz.go | 6 +++++- yamlgraph/gconfig.go | 13 +++++++++---- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/pgraph/graphviz.go b/pgraph/graphviz.go index 110ec366..eacb0ada 100644 --- a/pgraph/graphviz.go +++ b/pgraph/graphviz.go @@ -50,7 +50,11 @@ func (g *Graph) Graphviz() (out string) { for j := range g.Adjacency[i] { k := g.Adjacency[i][j] // use str for clearer output ordering - str += fmt.Sprintf("\t%s -> %s [label=%s];\n", i.GetName(), j.GetName(), k.Name) + if k.Notify { + str += fmt.Sprintf("\t%s -> %s [label=%s,style=bold];\n", i.GetName(), j.GetName(), k.Name) + } else { + str += fmt.Sprintf("\t%s -> %s [label=%s];\n", i.GetName(), j.GetName(), k.Name) + } } } out += str diff --git a/yamlgraph/gconfig.go b/yamlgraph/gconfig.go index 933d824a..b0b2eb38 100644 --- a/yamlgraph/gconfig.go +++ b/yamlgraph/gconfig.go @@ -47,9 +47,10 @@ type Vertex struct { // Edge is the data structure of an edge. type Edge struct { - Name string `yaml:"name"` - From Vertex `yaml:"from"` - To Vertex `yaml:"to"` + Name string `yaml:"name"` + From Vertex `yaml:"from"` + To Vertex `yaml:"to"` + Notify bool `yaml:"notify"` } // Resources is the data structure of the set of resources. @@ -231,7 +232,11 @@ func (c *GraphConfig) NewGraphFromConfig(hostname string, world gapi.World, noop if _, ok := lookup[util.FirstToUpper(e.To.Kind)][e.To.Name]; !ok { return nil, fmt.Errorf("Can't find 'to' name!") } - graph.AddEdge(lookup[util.FirstToUpper(e.From.Kind)][e.From.Name], lookup[util.FirstToUpper(e.To.Kind)][e.To.Name], pgraph.NewEdge(e.Name)) + from := lookup[util.FirstToUpper(e.From.Kind)][e.From.Name] + to := lookup[util.FirstToUpper(e.To.Kind)][e.To.Name] + edge := pgraph.NewEdge(e.Name) + edge.Notify = e.Notify + graph.AddEdge(from, to, edge) } return graph, nil