Send notification for Connected status
[ric-plt/e2mgr.git] / E2Manager / handlers / rmrmsghandlers / e2_reset_request_handler.go
index 4e1e3f4..c3f7975 100644 (file)
@@ -40,20 +40,22 @@ var (
 )\r
 \r
 type E2ResetRequestNotificationHandler struct {\r
-       logger          *logger.Logger\r
-       rnibDataService services.RNibDataService\r
-       config          *configuration.Configuration\r
-       rmrSender       *rmrsender.RmrSender\r
-       ranResetManager *managers.RanResetManager\r
+       logger                            *logger.Logger\r
+       rnibDataService                   services.RNibDataService\r
+       config                            *configuration.Configuration\r
+       rmrSender                         *rmrsender.RmrSender\r
+       ranResetManager                   *managers.RanResetManager\r
+       changeStatusToConnectedRanManager *managers.ChangeStatusToConnectedRanManager\r
 }\r
 \r
-func NewE2ResetRequestNotificationHandler(logger *logger.Logger, rnibDataService services.RNibDataService, config *configuration.Configuration, rmrSender *rmrsender.RmrSender, ranResetManager *managers.RanResetManager) *E2ResetRequestNotificationHandler {\r
+func NewE2ResetRequestNotificationHandler(logger *logger.Logger, rnibDataService services.RNibDataService, config *configuration.Configuration, rmrSender *rmrsender.RmrSender, ranResetManager *managers.RanResetManager, changeStatusToConnectedRanManager *managers.ChangeStatusToConnectedRanManager) *E2ResetRequestNotificationHandler {\r
        return &E2ResetRequestNotificationHandler{\r
-               logger:          logger,\r
-               rnibDataService: rnibDataService,\r
-               config:          config,\r
-               rmrSender:       rmrSender,\r
-               ranResetManager: ranResetManager,\r
+               logger:                            logger,\r
+               rnibDataService:                   rnibDataService,\r
+               config:                            config,\r
+               rmrSender:                         rmrSender,\r
+               ranResetManager:                   ranResetManager,\r
+               changeStatusToConnectedRanManager: changeStatusToConnectedRanManager,\r
        }\r
 }\r
 \r
@@ -108,12 +110,19 @@ func (e *E2ResetRequestNotificationHandler) Handle(request *models.NotificationR
        e.logger.Infof("#E2ResetRequestNotificationHandler.Handle - RIC_RESET_REQUEST has been parsed successfully %+v", resetRequest)\r
        e.handleSuccessfulResponse(ranName, request, resetRequest)\r
 \r
-       nodebInfo.ConnectionStatus = entities.ConnectionStatus_CONNECTED\r
-\r
-       err = e.rnibDataService.UpdateNodebInfoAndPublish(nodebInfo)\r
-\r
+       isConnectedStatus, err := e.changeStatusToConnectedRanManager.ChangeStatusToConnectedRan(ranName)\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
+               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 isConnectedStatus {\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 - Connection status Set Successfully ran: %s , Connection status updated : %s", ranName, nodebInfoupdated.ConnectionStatus)\r
+               } else {\r
+                       e.logger.Debugf("#E2ResetRequestNotificationHandler.Handle - Connection status Setting Failed")\r
+               }\r
        }\r
 \r
        e.logger.Debugf("#E2ResetRequestNotificationHandler.Handle - nodeB entity connected state. RanName %s, ConnectionStatus %s", nodebInfo.RanName, nodebInfo.ConnectionStatus)\r