Newer
Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
package main
import (
"code.fbi.h-da.de/cocsn/yang-models/generated/openconfig"
"fmt"
"github.com/openconfig/goyang/pkg/yang"
)
type PathElement struct {
Children []*PathElement
Name string
}
func main() {
tree := openconfig.SchemaTree
paths := make(map[string]*PathElement)
for k,v := range tree {
if v.Parent.Name == "device" {
paths[k] = processEntry(v)
}
}
fmt.Println("stop")
}
func processEntry(e *yang.Entry) *PathElement {
if e.Dir != nil {
elem := &PathElement{
Children: make([]*PathElement, len(e.Dir)),
Name: e.Name,
}
for _,v := range e.Dir {
child := processEntry(v)
elem.Children = append(elem.Children, child)
}
}
leaf := &PathElement{
Name: e.Name,
}
return leaf
}