MDCLOG Implementation with Dynamic log-level changes
[ric-plt/e2mgr.git] / E2Manager / handlers / rmrmsghandlers / e2_reset_request_handler.go
index 5fb36c8..4e1e3f4 100644 (file)
@@ -21,6 +21,7 @@ package rmrmsghandlers
 import (\r
        "e2mgr/configuration"\r
        "e2mgr/logger"\r
+       "e2mgr/managers"\r
        "e2mgr/models"\r
        "e2mgr/rmrCgo"\r
        "e2mgr/services"\r
@@ -43,14 +44,16 @@ type E2ResetRequestNotificationHandler struct {
        rnibDataService services.RNibDataService\r
        config          *configuration.Configuration\r
        rmrSender       *rmrsender.RmrSender\r
+       ranResetManager *managers.RanResetManager\r
 }\r
 \r
-func NewE2ResetRequestNotificationHandler(logger *logger.Logger, rnibDataService services.RNibDataService, config *configuration.Configuration, rmrSender *rmrsender.RmrSender) *E2ResetRequestNotificationHandler {\r
+func NewE2ResetRequestNotificationHandler(logger *logger.Logger, rnibDataService services.RNibDataService, config *configuration.Configuration, rmrSender *rmrsender.RmrSender, ranResetManager *managers.RanResetManager) *E2ResetRequestNotificationHandler {\r
        return &E2ResetRequestNotificationHandler{\r
                logger:          logger,\r
                rnibDataService: rnibDataService,\r
                config:          config,\r
                rmrSender:       rmrSender,\r
+               ranResetManager: ranResetManager,\r
        }\r
 }\r
 \r
@@ -71,7 +74,21 @@ func (e *E2ResetRequestNotificationHandler) Handle(request *models.NotificationR
 \r
        nodebInfo.ConnectionStatus = entities.ConnectionStatus_UNDER_RESET\r
 \r
-       err = e.rnibDataService.UpdateNodebInfoAndPublish(nodebInfo)\r
+       ranName := request.RanName\r
+       isResetDone, err := e.ranResetManager.ResetRan(ranName)\r
+       if err != nil {\r
+               e.logger.Errorf("#E2ResetRequestNotificationHandler.Handle - failed to update and notify connection status of nodeB entity. RanName: %s. Error: %s", request.RanName, err.Error())\r
+       } else {\r
+               if isResetDone {\r
+                       nodebInfoupdated, err1 := e.getNodebInfo(request.RanName)\r
+                       if err1 != nil {\r
+                               e.logger.Errorf("#E2ResetRequestNotificationHandler.Handle - failed to get updated nodeB entity. RanName: %s. Error: %s", request.RanName, err1.Error())\r
+                       }\r
+                       e.logger.Debugf("#E2ResetRequestNotificationHandler.Handle - Reset Done Successfully ran: %s , Connection status updated : %s", ranName, nodebInfoupdated.ConnectionStatus)\r
+               } else {\r
+                       e.logger.Debugf("#E2ResetRequestNotificationHandler.Handle - Reset Failed")\r
+               }\r
+       }\r
 \r
        if err != nil {\r
                e.logger.Errorf("#E2ResetRequestNotificationHandler.Handle - failed to update connection status of nodeB entity. RanName: %s. Error: %s", request.RanName, err.Error())\r
@@ -83,7 +100,6 @@ func (e *E2ResetRequestNotificationHandler) Handle(request *models.NotificationR
 \r
        e.waitfortimertimeout(request)\r
 \r
-       ranName := request.RanName\r
        resetRequest, err := e.parseE2ResetMessage(request.Payload)\r
        if err != nil {\r
                e.logger.Errorf(err.Error())\r