J release: Release container Image
[ric-plt/e2mgr.git] / E2Manager / handlers / httpmsghandlers / update_nodeb_request_handler.go
index dae272a..551006e 100644 (file)
@@ -44,40 +44,39 @@ func NewUpdateNodebRequestHandler(logger *logger.Logger, rNibDataService service
 
 func (h *UpdateNodebRequestHandler) Handle(request models.Request) (models.IResponse, error) {
 
-       updateNodebRequest, ok := request.(*models.UpdateEnbRequest)
-       if ok != true {
-               //TODO updateNodebRequest := request.(*models.UpdateGnbRequest)
-       }
+       ranName := h.getRanName(request)
 
-       h.logger.Infof("#UpdateNodebRequestHandler.Handle - Ran name: %s", updateNodebRequest.RanName)
+       h.logger.Infof("#UpdateNodebRequestHandler.Handle - Ran name: %s", ranName)
 
-       err := h.updateNodebManager.Validate(updateNodebRequest)
+       err := h.updateNodebManager.Validate(request)
        if err != nil {
                return nil, e2managererrors.NewRequestValidationError()
        }
 
-       nodebInfo, err := h.rNibDataService.GetNodeb(updateNodebRequest.RanName)
+       nodebInfo, err := h.rNibDataService.GetNodeb(ranName)
        if err != nil {
                _, ok := err.(*common.ResourceNotFoundError)
                if !ok {
-                       h.logger.Errorf("#UpdateNodebRequestHandler.Handle - RAN name: %s - failed to get nodeb entity from RNIB. Error: %s", updateNodebRequest.RanName, err)
+                       h.logger.Errorf("#UpdateNodebRequestHandler.Handle - RAN name: %s - failed to get nodeb entity from RNIB. Error: %s", ranName, err)
                        return nil, e2managererrors.NewRnibDbError()
                }
 
-               h.logger.Errorf("#UpdateNodebRequestHandler.Handle - RAN name: %s - RAN not found on RNIB. Error: %s", updateNodebRequest.RanName, err)
+               h.logger.Errorf("#UpdateNodebRequestHandler.Handle - RAN name: %s - RAN not found on RNIB. Error: %s", ranName, err)
                return nil, e2managererrors.NewResourceNotFoundError()
        }
 
-       err = h.updateNodebManager.RemoveNodebCells(nodebInfo)
+       err = h.updateNodebManager.ValidateNodeb(nodebInfo)
        if err != nil {
-               return nil, err
+               return nil, e2managererrors.NewRequestValidationError()
        }
 
-       err = h.updateNodebManager.SetNodeb(nodebInfo, updateNodebRequest)
+       err = h.updateNodebManager.RemoveNodebCells(nodebInfo)
        if err != nil {
                return nil, err
        }
 
+       h.updateNodebManager.SetNodeb(nodebInfo, request)
+
        err = h.updateNodebManager.UpdateNodeb(nodebInfo)
        if err != nil {
                return nil, err
@@ -85,3 +84,14 @@ func (h *UpdateNodebRequestHandler) Handle(request models.Request) (models.IResp
 
        return models.NewNodebResponse(nodebInfo), nil
 }
+
+func (h *UpdateNodebRequestHandler) getRanName(request models.Request) string {
+       switch v := request.(type) {
+       case *models.UpdateEnbRequest:
+               return v.RanName
+       case *models.UpdateGnbRequest:
+               return v.RanName
+       }
+
+       return ""
+}