X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=E2Manager%2Fhandlers%2Fhttpmsghandlers%2Fadd_enb_request_handler.go;h=bfcced568511f6e056430cdc73b406e5034253a4;hb=70954308ad87e986f654b1fc7809ed5074cfcae5;hp=e5a1c5e26430fda262d13b57626caacacd0b9be1;hpb=64dc6b9da7e913c3ea89671be12a33b6d2b8c6f0;p=ric-plt%2Fe2mgr.git diff --git a/E2Manager/handlers/httpmsghandlers/add_enb_request_handler.go b/E2Manager/handlers/httpmsghandlers/add_enb_request_handler.go index e5a1c5e..bfcced5 100644 --- a/E2Manager/handlers/httpmsghandlers/add_enb_request_handler.go +++ b/E2Manager/handlers/httpmsghandlers/add_enb_request_handler.go @@ -34,13 +34,15 @@ type AddEnbRequestHandler struct { logger *logger.Logger nodebValidator *managers.NodebValidator rNibDataService services.RNibDataService + ranListManager managers.RanListManager } -func NewAddEnbRequestHandler(logger *logger.Logger, rNibDataService services.RNibDataService, nodebValidator *managers.NodebValidator) *AddEnbRequestHandler { +func NewAddEnbRequestHandler(logger *logger.Logger, rNibDataService services.RNibDataService, nodebValidator *managers.NodebValidator, ranListManager managers.RanListManager) *AddEnbRequestHandler { return &AddEnbRequestHandler{ logger: logger, nodebValidator: nodebValidator, rNibDataService: rNibDataService, + ranListManager: ranListManager, } } @@ -57,6 +59,12 @@ func (h *AddEnbRequestHandler) Handle(request models.Request) (models.IResponse, return nil, e2managererrors.NewRequestValidationError() } + enbType := addEnbRequest.Enb.GetEnbType() + if h.nodebValidator.IsNgEnbType(enbType){ + h.logger.Errorf("#AddEnbRequestHandler.Handle - validation failure: enb type is not supported. enb type: %s", enbType) + return nil, e2managererrors.NewRequestValidationError() + } + _, err = h.rNibDataService.GetNodeb(addEnbRequest.RanName) if err == nil { @@ -71,14 +79,19 @@ func (h *AddEnbRequestHandler) Handle(request models.Request) (models.IResponse, } nodebInfo := h.createNodebInfo(addEnbRequest) - err = h.rNibDataService.SaveNodeb(nodebInfo) + err = h.rNibDataService.AddEnb(nodebInfo) if err != nil { - h.logger.Errorf("#AddEnbRequestHandler.Handle - RAN name: %s - failed to save nodeb entity in RNIB. Error: %s", addEnbRequest.RanName, err) + h.logger.Errorf("#AddEnbRequestHandler.Handle - RAN name: %s - failed to add eNB entity in RNIB. Error: %s", addEnbRequest.RanName, err) return nil, e2managererrors.NewRnibDbError() } - _ = h.createNbIdentity(addEnbRequest) // TODO: add call to ranListManager + nbIdentity := h.createNbIdentity(addEnbRequest) + err = h.ranListManager.AddNbIdentity(entities.Node_ENB, nbIdentity) + + if err != nil { + return nil, e2managererrors.NewRnibDbError() + } return models.NewNodebResponse(nodebInfo), nil } @@ -92,6 +105,7 @@ func (h *AddEnbRequestHandler) createNodebInfo(addEnbRequest *models.AddEnbReque Configuration: &entities.NodebInfo_Enb{Enb: addEnbRequest.Enb}, NodeType: entities.Node_ENB, ConnectionStatus: entities.ConnectionStatus_DISCONNECTED, + SetupFromNetwork: false, } return &nodebInfo