From 6e666a8dc0882605c8fd39156165dced4801919d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andr=C3=A9=20Sterba?= <andre.sterba@stud.h-da.de>
Date: Thu, 14 Jul 2022 10:16:06 +0200
Subject: [PATCH] Apply error handling feedback

---
 controller/mocks/Device.go                    | 21 -------------------
 controller/topology/nodes/nodeStore.go        | 12 ++---------
 controller/topology/ports/portStore.go        | 20 ++++++------------
 .../routing-tables/routingTableStore.go       | 12 ++---------
 controller/topology/topologyStore.go          | 12 ++---------
 5 files changed, 12 insertions(+), 65 deletions(-)

diff --git a/controller/mocks/Device.go b/controller/mocks/Device.go
index 5cac8a61d..a9158c0cd 100644
--- a/controller/mocks/Device.go
+++ b/controller/mocks/Device.go
@@ -58,27 +58,6 @@ func (_m *Device) GetModel() ygot.GoStruct {
 	return r0
 }
 
-// GetModelAsString provides a mock function with given fields:
-func (_m *Device) GetModelAsString() (string, error) {
-	ret := _m.Called()
-
-	var r0 string
-	if rf, ok := ret.Get(0).(func() string); ok {
-		r0 = rf()
-	} else {
-		r0 = ret.Get(0).(string)
-	}
-
-	var r1 error
-	if rf, ok := ret.Get(1).(func() error); ok {
-		r1 = rf()
-	} else {
-		r1 = ret.Error(1)
-	}
-
-	return r0, r1
-}
-
 // ID provides a mock function with given fields:
 func (_m *Device) ID() uuid.UUID {
 	ret := _m.Called()
diff --git a/controller/topology/nodes/nodeStore.go b/controller/topology/nodes/nodeStore.go
index 675035ca4..8833a2aa7 100644
--- a/controller/topology/nodes/nodeStore.go
+++ b/controller/topology/nodes/nodeStore.go
@@ -2,7 +2,6 @@ package nodes
 
 import (
 	"fmt"
-	"log"
 
 	"code.fbi.h-da.de/danet/gosdn/controller/nucleus/database"
 	"code.fbi.h-da.de/danet/gosdn/controller/nucleus/errors"
@@ -71,8 +70,7 @@ func (s *DatabaseNodeStore) getByID(idOfNode uuid.UUID) (Node, error) {
 
 	err := result.Decode(&loadedNode)
 	if err != nil {
-		log.Printf("Failed marshalling %v", err)
-		return loadedNode, errors.ErrCouldNotFind{ID: idOfNode}
+		return loadedNode, errors.ErrCouldNotMarshall{Identifier: idOfNode, Type: loadedNode, Err: err}
 	}
 
 	return loadedNode, nil
@@ -94,8 +92,7 @@ func (s *DatabaseNodeStore) getByName(nameOfNode string) (Node, error) {
 
 	err := result.Decode(&loadedNode)
 	if err != nil {
-		log.Printf("Failed marshalling %v", err)
-		return loadedNode, errors.ErrCouldNotFind{Name: nameOfNode}
+		return loadedNode, errors.ErrCouldNotMarshall{Identifier: nameOfNode, Type: loadedNode, Err: err}
 	}
 
 	return loadedNode, nil
@@ -119,8 +116,6 @@ func (s *DatabaseNodeStore) GetAll() ([]Node, error) {
 
 	err = cursor.All(ctx, &loadedNode)
 	if err != nil {
-		log.Printf("Failed marshalling %v", err)
-
 		return loadedNode, errors.ErrCouldNotMarshall{Type: loadedNode, Err: err}
 	}
 
@@ -137,7 +132,6 @@ func (s *DatabaseNodeStore) Add(node Node) error {
 		Collection(s.storeName).
 		InsertOne(ctx, node)
 	if err != nil {
-		log.Printf("Could not add Node: %v", err)
 		return errors.ErrCouldNotCreate{Identifier: node.ID, Type: node, Err: err}
 	}
 
@@ -167,8 +161,6 @@ func (s *DatabaseNodeStore) Update(node Node) error {
 			ctx, bson.M{"_id": node.ID.String()}, update, &opt).
 		Decode(&updatedLoadedNodes)
 	if err != nil {
-		log.Printf("Could not update Node: %v", err)
-
 		return errors.ErrCouldNotUpdate{Identifier: node.ID, Type: node, Err: err}
 	}
 
diff --git a/controller/topology/ports/portStore.go b/controller/topology/ports/portStore.go
index bb32c3111..9c744cfa0 100644
--- a/controller/topology/ports/portStore.go
+++ b/controller/topology/ports/portStore.go
@@ -2,7 +2,6 @@ package ports
 
 import (
 	"fmt"
-	"log"
 
 	"code.fbi.h-da.de/danet/gosdn/controller/interfaces/device"
 	"code.fbi.h-da.de/danet/gosdn/controller/nucleus/database"
@@ -72,15 +71,14 @@ func (s *DatabasePortStore) getByID(idOfPort uuid.UUID) (Port, error) {
 
 	err := result.Decode(&loadedPort)
 	if err != nil {
-		log.Printf("Failed marshalling %v", err)
-		return loadedPort, errors.ErrCouldNotFind{ID: idOfPort}
+		return loadedPort, errors.ErrCouldNotMarshall{Identifier: idOfPort, Type: loadedPort, Err: err}
 	}
 
 	return loadedPort, nil
 }
 
 func (s *DatabasePortStore) getByName(nameOfPort string) (Port, error) {
-	var loadedDevice Port
+	var loadedPort Port
 
 	client, ctx, cancel := database.GetMongoConnection()
 	defer cancel()
@@ -90,16 +88,15 @@ func (s *DatabasePortStore) getByName(nameOfPort string) (Port, error) {
 	collection := db.Collection(s.storeName)
 	result := collection.FindOne(ctx, bson.D{primitive.E{Key: "name", Value: nameOfPort}})
 	if result == nil {
-		return loadedDevice, errors.ErrCouldNotFind{Name: nameOfPort}
+		return loadedPort, errors.ErrCouldNotFind{Name: nameOfPort}
 	}
 
-	err := result.Decode(&loadedDevice)
+	err := result.Decode(&loadedPort)
 	if err != nil {
-		log.Printf("Failed marshalling %v", err)
-		return loadedDevice, errors.ErrCouldNotFind{Name: nameOfPort}
+		return loadedPort, errors.ErrCouldNotMarshall{Identifier: nameOfPort, Type: loadedPort, Err: err}
 	}
 
-	return loadedDevice, nil
+	return loadedPort, nil
 }
 
 // GetAll returns all stored ports.
@@ -120,8 +117,6 @@ func (s *DatabasePortStore) GetAll() ([]Port, error) {
 
 	err = cursor.All(ctx, &loadedPort)
 	if err != nil {
-		log.Printf("Failed marshalling %v", err)
-
 		return loadedPort, errors.ErrCouldNotMarshall{Type: loadedPort, Err: err}
 	}
 
@@ -138,7 +133,6 @@ func (s *DatabasePortStore) Add(port Port) error {
 		Collection(s.storeName).
 		InsertOne(ctx, port)
 	if err != nil {
-		log.Printf("Could not add Port: %v", err)
 		return errors.ErrCouldNotCreate{Identifier: port.ID, Type: port, Err: err}
 	}
 
@@ -168,8 +162,6 @@ func (s *DatabasePortStore) Update(port Port) error {
 			ctx, bson.M{"_id": port.ID.String()}, update, &opt).
 		Decode(&updatedLoadedDevice)
 	if err != nil {
-		log.Printf("Could not update Port: %v", err)
-
 		return errors.ErrCouldNotUpdate{Identifier: port.ID, Type: port, Err: err}
 	}
 
diff --git a/controller/topology/routing-tables/routingTableStore.go b/controller/topology/routing-tables/routingTableStore.go
index 8ba74d7f3..6f80fd47c 100644
--- a/controller/topology/routing-tables/routingTableStore.go
+++ b/controller/topology/routing-tables/routingTableStore.go
@@ -2,7 +2,6 @@ package routingtables
 
 import (
 	"fmt"
-	"log"
 
 	"code.fbi.h-da.de/danet/gosdn/controller/nucleus/database"
 	"code.fbi.h-da.de/danet/gosdn/controller/nucleus/errors"
@@ -71,8 +70,7 @@ func (s *DatabaseRoutingTableStore) getByID(idOfRoutingTable uuid.UUID) (Routing
 
 	err := result.Decode(&RoutingTable)
 	if err != nil {
-		log.Printf("Failed marshalling %v", err)
-		return RoutingTable, errors.ErrCouldNotFind{ID: idOfRoutingTable}
+		return RoutingTable, errors.ErrCouldNotMarshall{Identifier: idOfRoutingTable, Type: RoutingTable, Err: err}
 	}
 
 	return RoutingTable, nil
@@ -94,8 +92,7 @@ func (s *DatabaseRoutingTableStore) getByName(nameOfRoutingTable string) (Routin
 
 	err := result.Decode(&loadedRoutingTable)
 	if err != nil {
-		log.Printf("Failed marshalling %v", err)
-		return loadedRoutingTable, errors.ErrCouldNotFind{Name: nameOfRoutingTable}
+		return loadedRoutingTable, errors.ErrCouldNotMarshall{Type: loadedRoutingTable, Err: err}
 	}
 
 	return loadedRoutingTable, nil
@@ -119,8 +116,6 @@ func (s *DatabaseRoutingTableStore) GetAll() ([]RoutingTable, error) {
 
 	err = cursor.All(ctx, &loadedRoutingTable)
 	if err != nil {
-		log.Printf("Failed marshalling %v", err)
-
 		return loadedRoutingTable, errors.ErrCouldNotMarshall{Type: loadedRoutingTable, Err: err}
 	}
 
@@ -137,7 +132,6 @@ func (s *DatabaseRoutingTableStore) Add(routingTable RoutingTable) error {
 		Collection(s.storeName).
 		InsertOne(ctx, routingTable)
 	if err != nil {
-		log.Printf("Could not add Node: %v", err)
 		return errors.ErrCouldNotCreate{Identifier: routingTable.ID, Type: routingTable, Err: err}
 	}
 
@@ -167,8 +161,6 @@ func (s *DatabaseRoutingTableStore) Update(routingTable RoutingTable) error {
 			ctx, bson.M{"_id": routingTable.ID.String()}, update, &opt).
 		Decode(&updatedLoadedRoutingTable)
 	if err != nil {
-		log.Printf("Could not update Node: %v", err)
-
 		return errors.ErrCouldNotUpdate{Identifier: routingTable.ID, Type: routingTable, Err: err}
 	}
 
diff --git a/controller/topology/topologyStore.go b/controller/topology/topologyStore.go
index 6414b1a69..3f046acaa 100644
--- a/controller/topology/topologyStore.go
+++ b/controller/topology/topologyStore.go
@@ -2,7 +2,6 @@ package topology
 
 import (
 	"fmt"
-	"log"
 
 	"code.fbi.h-da.de/danet/gosdn/controller/nucleus/database"
 	"code.fbi.h-da.de/danet/gosdn/controller/nucleus/errors"
@@ -72,8 +71,7 @@ func (s *DatabaseTopologyStore) getByID(idOfTopology uuid.UUID) (links.Link, err
 
 	err := result.Decode(&loadedTopology)
 	if err != nil {
-		log.Printf("Failed marshalling %v", err)
-		return loadedTopology, errors.ErrCouldNotFind{ID: idOfTopology}
+		return loadedTopology, errors.ErrCouldNotMarshall{Identifier: idOfTopology, Type: loadedTopology, Err: err}
 	}
 
 	return loadedTopology, nil
@@ -95,8 +93,7 @@ func (s *DatabaseTopologyStore) getByName(nameOfTopology string) (links.Link, er
 
 	err := result.Decode(&loadedTopology)
 	if err != nil {
-		log.Printf("Failed marshalling %v", err)
-		return loadedTopology, errors.ErrCouldNotFind{Name: nameOfTopology}
+		return loadedTopology, errors.ErrCouldNotMarshall{Identifier: nameOfTopology, Type: loadedTopology, Err: err}
 	}
 
 	return loadedTopology, nil
@@ -120,8 +117,6 @@ func (s *DatabaseTopologyStore) GetAll() ([]links.Link, error) {
 
 	err = cursor.All(ctx, &loadedTopology)
 	if err != nil {
-		log.Printf("Failed marshalling %v", err)
-
 		return loadedTopology, errors.ErrCouldNotMarshall{Type: loadedTopology, Err: err}
 	}
 
@@ -138,7 +133,6 @@ func (s *DatabaseTopologyStore) Add(link links.Link) error {
 		Collection(s.storeName).
 		InsertOne(ctx, link)
 	if err != nil {
-		log.Printf("Could not add Link: %v", err)
 		return errors.ErrCouldNotCreate{Identifier: link.ID, Type: link, Err: err}
 	}
 
@@ -168,8 +162,6 @@ func (s *DatabaseTopologyStore) Update(linkToUpdate links.Link) error {
 			ctx, bson.M{"_id": linkToUpdate.ID.String()}, update, &opt).
 		Decode(&updatedLink)
 	if err != nil {
-		log.Printf("Could not update link: %v", err)
-
 		return errors.ErrCouldNotUpdate{Identifier: linkToUpdate.ID, Type: linkToUpdate, Err: err}
 	}
 
-- 
GitLab