From 51d32e9a792956142b10d934d0d27d9bd77597b4 Mon Sep 17 00:00:00 2001 From: TeoV Date: Wed, 5 Feb 2020 17:16:41 +0200 Subject: [PATCH] Add missing values after merge --- config/navigablemap.go | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/config/navigablemap.go b/config/navigablemap.go index 57b0607f3..26568b78d 100644 --- a/config/navigablemap.go +++ b/config/navigablemap.go @@ -104,9 +104,19 @@ func (nM *NavigableMap) GetField(path []string) (fldVal interface{}, err error) if i == lenPath-1 { // lastElement return nM.getLastRealItem(lastMp, spath) } - if lastMp, err = nM.getNextMap(lastMp, spath); err != nil { + var dp interface{} + if dp, err = nM.getNextMap(lastMp, spath); err != nil { return } + switch mv := dp.(type) { // used for cdr when populating eventCost whitin + case map[string]interface{}: + lastMp = mv + case DataProvider: + return mv.FieldAsInterface(path[i+1:]) + default: + return nil, fmt.Errorf("cannot cast field: <%+v> type: %T with path: <%s> to map[string]interface{}", + dp, dp, spath) + } } panic("BUG") // should never make it here }