From be3a6e911d6a36487e3330589412c42158ca437c Mon Sep 17 00:00:00 2001 From: Neil Schark <neil-jocelyn.schark@stud.h-da.de> Date: Thu, 15 Dec 2022 19:00:29 +0100 Subject: [PATCH] made uuid param optional --- controller/interfaces/networkdomain/pnd.go | 2 +- controller/mocks/NetworkDomain.go | 21 +++++++++++++------- controller/nucleus/principalNetworkDomain.go | 7 ++++++- 3 files changed, 21 insertions(+), 9 deletions(-) diff --git a/controller/interfaces/networkdomain/pnd.go b/controller/interfaces/networkdomain/pnd.go index 8a943abe1..16692e621 100644 --- a/controller/interfaces/networkdomain/pnd.go +++ b/controller/interfaces/networkdomain/pnd.go @@ -16,7 +16,7 @@ type NetworkDomain interface { Destroy() error AddSbi(s southbound.SouthboundInterface) error RemoveSbi(uuid.UUID) error - AddNetworkElement(name string, opts *tpb.TransportOption, sid uuid.UUID, networkElement uuid.UUID) (uuid.UUID, error) + AddNetworkElement(name string, opts *tpb.TransportOption, sid uuid.UUID, optionalNetworkElementID ...uuid.UUID) (uuid.UUID, error) GetNetworkElement(identifier string) (networkelement.NetworkElement, error) RemoveNetworkElement(uuid.UUID) error UpdateNetworkElement(networkelement.NetworkElement, string) error diff --git a/controller/mocks/NetworkDomain.go b/controller/mocks/NetworkDomain.go index 43f249c7c..5b273b2cb 100644 --- a/controller/mocks/NetworkDomain.go +++ b/controller/mocks/NetworkDomain.go @@ -24,13 +24,20 @@ type NetworkDomain struct { mock.Mock } -// AddNetworkElement provides a mock function with given fields: name, opts, sid, networkElement -func (_m *NetworkDomain) AddNetworkElement(name string, opts *transport.TransportOption, sid uuid.UUID, networkElement uuid.UUID) (uuid.UUID, error) { - ret := _m.Called(name, opts, sid, networkElement) +// AddNetworkElement provides a mock function with given fields: name, opts, sid, optionalNetworkElementID +func (_m *NetworkDomain) AddNetworkElement(name string, opts *transport.TransportOption, sid uuid.UUID, optionalNetworkElementID ...uuid.UUID) (uuid.UUID, error) { + _va := make([]interface{}, len(optionalNetworkElementID)) + for _i := range optionalNetworkElementID { + _va[_i] = optionalNetworkElementID[_i] + } + var _ca []interface{} + _ca = append(_ca, name, opts, sid) + _ca = append(_ca, _va...) + ret := _m.Called(_ca...) var r0 uuid.UUID - if rf, ok := ret.Get(0).(func(string, *transport.TransportOption, uuid.UUID, uuid.UUID) uuid.UUID); ok { - r0 = rf(name, opts, sid, networkElement) + if rf, ok := ret.Get(0).(func(string, *transport.TransportOption, uuid.UUID, ...uuid.UUID) uuid.UUID); ok { + r0 = rf(name, opts, sid, optionalNetworkElementID...) } else { if ret.Get(0) != nil { r0 = ret.Get(0).(uuid.UUID) @@ -38,8 +45,8 @@ func (_m *NetworkDomain) AddNetworkElement(name string, opts *transport.Transpor } var r1 error - if rf, ok := ret.Get(1).(func(string, *transport.TransportOption, uuid.UUID, uuid.UUID) error); ok { - r1 = rf(name, opts, sid, networkElement) + if rf, ok := ret.Get(1).(func(string, *transport.TransportOption, uuid.UUID, ...uuid.UUID) error); ok { + r1 = rf(name, opts, sid, optionalNetworkElementID...) } else { r1 = ret.Error(1) } diff --git a/controller/nucleus/principalNetworkDomain.go b/controller/nucleus/principalNetworkDomain.go index 4e7d5d506..b66918bd0 100644 --- a/controller/nucleus/principalNetworkDomain.go +++ b/controller/nucleus/principalNetworkDomain.go @@ -246,7 +246,12 @@ func (pnd *pndImplementation) RemoveSbi(sid uuid.UUID) error { } // AddNetworkElement adds a new network element to the PND. The UUID for the networkElementID is optional and should normally be empty -func (pnd *pndImplementation) AddNetworkElement(name string, opt *tpb.TransportOption, sid uuid.UUID, networkElementID uuid.UUID) (uuid.UUID, error) { +func (pnd *pndImplementation) AddNetworkElement(name string, opt *tpb.TransportOption, sid uuid.UUID, optionalNetworkElementID ...uuid.UUID) (uuid.UUID, error) { + networkElementID := uuid.Nil + if len(optionalNetworkElementID) > 0 { + networkElementID = optionalNetworkElementID[0] + } + labels := prometheus.Labels{"type": opt.Type.String()} start := metrics.StartHook(labels, networkElementCreationsTotal) defer metrics.FinishHook(labels, start, networkElementCreationDurationSecondsTotal, networkElementCreationDurationSeconds) -- GitLab