diff --git a/controller/api/initialise_test.go b/controller/api/initialise_test.go index 0c5bf313e5258a0a47e270c073c4265b023a7541..af37f2363d1e465fc2426eceea3fb888f5705dc7 100644 --- a/controller/api/initialise_test.go +++ b/controller/api/initialise_test.go @@ -26,6 +26,7 @@ import ( "code.fbi.h-da.de/danet/gosdn/controller/topology/links" "code.fbi.h-da.de/danet/gosdn/controller/topology/nodes" "code.fbi.h-da.de/danet/gosdn/controller/topology/ports" + "code.fbi.h-da.de/danet/gosdn/controller/topology/store" "code.fbi.h-da.de/danet/gosdn/models/generated/openconfig" "github.com/google/uuid" log "github.com/sirupsen/logrus" @@ -146,14 +147,14 @@ func bootstrapUnitTest() { jwtManager := rbacImpl.NewJWTManager("", (10000 * time.Hour)) - topoloyStore := topology.NewGenericStore[links.Link]() - topologyService := topology.NewTopologyService(&topoloyStore) + topoloyStore := store.NewGenericStore[links.Link]() + topologyService := topology.NewTopologyService(topoloyStore) - nodeStore := topology.NewGenericStore[nodes.Node]() - nodeService := nodes.NewNodeService(&nodeStore) + nodeStore := store.NewGenericStore[nodes.Node]() + nodeService := nodes.NewNodeService(nodeStore) - portStore := topology.NewGenericStore[ports.Port]() - portService := ports.NewPortService(&portStore) + portStore := store.NewGenericStore[ports.Port]() + portService := ports.NewPortService(portStore) northbound := nbi.NewNBI(pndStore, userService, roleService, *jwtManager, topologyService, nodeService, portService) diff --git a/controller/controller.go b/controller/controller.go index 7f602931773b5a31887bd3175b47c56c239444bc..a9651bd7a449e92fe141871c738988f89e3db205 100644 --- a/controller/controller.go +++ b/controller/controller.go @@ -48,7 +48,7 @@ type Core struct { pndStore networkdomain.PndStore userService rbac.UserService roleService rbac.RoleService - topologyService topology.TopologyService + topologyService topology.Service nodeService nodes.Service portService ports.Service httpServer *http.Server diff --git a/controller/northbound/server/nbi.go b/controller/northbound/server/nbi.go index 1b022237fec1f0ac9eb6d408760d46607df11dd6..3fb3bb65cea4d596e40aa424b1c99f1cd1338278 100644 --- a/controller/northbound/server/nbi.go +++ b/controller/northbound/server/nbi.go @@ -34,7 +34,7 @@ func NewNBI( users rbacInterfaces.UserService, roles rbacInterfaces.RoleService, jwt rbac.JWTManager, - topologyService topology.TopologyService, + topologyService topology.Service, nodeService nodes.Service, portService ports.Service, diff --git a/controller/northbound/server/topology.go b/controller/northbound/server/topology.go index 71ee89a6fb9db008628cc810efe9d751677f8b2c..e922dc87794c38e80fba914ad04e7efacc151299 100644 --- a/controller/northbound/server/topology.go +++ b/controller/northbound/server/topology.go @@ -17,14 +17,14 @@ import ( // Topology holds a topologyService and represents a TopologyServiceServer. type Topology struct { apb.UnimplementedTopologyServiceServer - topologyService topology.TopologyService + topologyService topology.Service nodeService nodes.Service portService ports.Service } // NewTopologyServer receives a topologyService and returns a new TopologyServer. func NewTopologyServer( - service topology.TopologyService, + service topology.Service, nodeService nodes.Service, portService ports.Service, ) *Topology { diff --git a/controller/topology/ports/portService.go b/controller/topology/ports/portService.go index fadf319349df12714c5eefee9dff176dc596ade4..60fba823684c183f38b516b4047f6bfc318b772e 100644 --- a/controller/topology/ports/portService.go +++ b/controller/topology/ports/portService.go @@ -1,7 +1,7 @@ package ports import ( - "code.fbi.h-da.de/danet/gosdn/controller/store" + "code.fbi.h-da.de/danet/gosdn/controller/topology/store" "github.com/google/uuid" ) diff --git a/controller/topology/ports/portStore.go b/controller/topology/ports/portStore.go index 7b2b6bc43c901d68f1752a7e27ccd3be3f597740..d5dfd0ee20e40311a15347eb38bd2fd55d5d59f2 100644 --- a/controller/topology/ports/portStore.go +++ b/controller/topology/ports/portStore.go @@ -7,7 +7,7 @@ import ( "code.fbi.h-da.de/danet/gosdn/controller/interfaces/device" "code.fbi.h-da.de/danet/gosdn/controller/nucleus/database" "code.fbi.h-da.de/danet/gosdn/controller/nucleus/errors" - "code.fbi.h-da.de/danet/gosdn/controller/store" + "code.fbi.h-da.de/danet/gosdn/controller/topology/store" "github.com/google/uuid" "go.mongodb.org/mongo-driver/bson" "go.mongodb.org/mongo-driver/bson/primitive" diff --git a/controller/topology/store/query.go b/controller/topology/store/query.go index 4235ff48e1b162552c3cf3acc024b0a6b71b57b5..888fde795ed442de0d51f4c1ebbe356ab5dd1365 100644 --- a/controller/topology/store/query.go +++ b/controller/topology/store/query.go @@ -2,6 +2,7 @@ package store import "github.com/google/uuid" +// Query is used as parameter to query for items in a store. type Query struct { ID uuid.UUID Name string diff --git a/controller/topology/topologyService.go b/controller/topology/topologyService.go index 71881fd4d25075bd6eeb6e585f5d1344724470e3..4defe312bde10bceb11af394f7c6694fba803d44 100644 --- a/controller/topology/topologyService.go +++ b/controller/topology/topologyService.go @@ -2,28 +2,28 @@ package topology import "code.fbi.h-da.de/danet/gosdn/controller/topology/links" -// TopologyService defines an interface for a TopologyService -type TopologyService interface { +// Service defines an interface for a Service +type Service interface { AddLink(links.Link) error UpdateLink(links.Link) error DeleteLink(links.Link) error GetAll() ([]links.Link, error) } -// Service is a service for ports -type Service struct { +// service is a service for ports +type service struct { store Store } // NewTopologyService creates a new TopologyService -func NewTopologyService(store Store) TopologyService { - return &Service{ +func NewTopologyService(store Store) Service { + return &service{ store: store, } } // AddLink adds a new link to the topology -func (t *Service) AddLink(link links.Link) error { +func (t *service) AddLink(link links.Link) error { err := t.store.Add(link) if err != nil { return err @@ -33,7 +33,7 @@ func (t *Service) AddLink(link links.Link) error { } // UpdateLink updates an existing link -func (t *Service) UpdateLink(link links.Link) error { +func (t *service) UpdateLink(link links.Link) error { err := t.store.Update(link) if err != nil { return err @@ -43,7 +43,7 @@ func (t *Service) UpdateLink(link links.Link) error { } // DeleteLink deletes a link -func (t *Service) DeleteLink(link links.Link) error { +func (t *service) DeleteLink(link links.Link) error { err := t.store.Delete(link) if err != nil { return err @@ -53,7 +53,7 @@ func (t *Service) DeleteLink(link links.Link) error { } // GetAll returns the current topology -func (t *Service) GetAll() ([]links.Link, error) { +func (t *service) GetAll() ([]links.Link, error) { topo, err := t.store.GetAll() if err != nil { return topo, err diff --git a/controller/topology/topologyStore.go b/controller/topology/topologyStore.go index 5c27c0c7e1fb5ab6ff5106caf1aa74e0b5c8a6ac..263e5c4b92e4f360a1499b0eac97b452137c2708 100644 --- a/controller/topology/topologyStore.go +++ b/controller/topology/topologyStore.go @@ -6,8 +6,8 @@ import ( "code.fbi.h-da.de/danet/gosdn/controller/nucleus/database" "code.fbi.h-da.de/danet/gosdn/controller/nucleus/errors" - "code.fbi.h-da.de/danet/gosdn/controller/store" "code.fbi.h-da.de/danet/gosdn/controller/topology/links" + "code.fbi.h-da.de/danet/gosdn/controller/topology/store" "github.com/google/uuid" "go.mongodb.org/mongo-driver/bson" "go.mongodb.org/mongo-driver/bson/primitive"