Unique Routes based on ID returned, using OrderedNavigableMap mechanism

This commit is contained in:
DanB
2020-12-23 13:30:54 +01:00
parent 6d5b7ef313
commit 007240bd73
4 changed files with 43 additions and 11 deletions

View File

@@ -154,7 +154,7 @@ func (onm *OrderedNavigableMap) FieldAsString(fldPath []string) (str string, err
}
// FieldAsInterface returns the interface at the path
func (onm *OrderedNavigableMap) FieldAsInterface(fldPath []string) (str interface{}, err error) {
func (onm *OrderedNavigableMap) FieldAsInterface(fldPath []string) (iface interface{}, err error) {
var val NMInterface
val, err = onm.nm.Field(NewPathItems(fldPath))
if err != nil {
@@ -169,7 +169,6 @@ func (OrderedNavigableMap) RemoteHost() net.Addr {
}
// GetOrder returns the elements order as a slice
// use this only for testing
func (onm *OrderedNavigableMap) GetOrder() (order []PathItems) {
for el := onm.GetFirstElement(); el != nil; el = el.Next() {
order = append(order, el.Value)
@@ -177,6 +176,15 @@ func (onm *OrderedNavigableMap) GetOrder() (order []PathItems) {
return
}
// OrderedFields returns the elements in order they were inserted
func (onm *OrderedNavigableMap) OrderedFields() (flds []interface{}) {
for el := onm.GetFirstElement(); el != nil; el = el.Next() {
fld, _ := onm.Field(el.Value)
flds = append(flds, fld.Interface())
}
return
}
// RemoveAll will clean the data and the odrder from OrderedNavigableMap
func (onm *OrderedNavigableMap) RemoveAll() {
onm.nm = NavigableMap2{}