[RICPLT-1705] Reset Request received from E2T (Remote RAN)
[ric-plt/e2mgr.git] / E2Manager / managers / notification_manager.go
index 72b42a9..5533c52 100644 (file)
@@ -29,30 +29,28 @@ import (
        "time"
 )
 
-type NotificationManager struct{
-       rnibReaderProvider func() reader.RNibReader
-       rnibWriterProvider func() rNibWriter.RNibWriter
+type NotificationManager struct {
+       notificationHandlerProvider *providers.NotificationHandlerProvider
 }
 
 func NewNotificationManager(rnibReaderProvider func() reader.RNibReader, rnibWriterProvider func() rNibWriter.RNibWriter) *NotificationManager {
+       notificationHandlerProvider := providers.NewNotificationHandlerProvider(rnibReaderProvider, rnibWriterProvider)
+
        return &NotificationManager{
-               rnibReaderProvider: rnibReaderProvider,
-               rnibWriterProvider: rnibWriterProvider,
+               notificationHandlerProvider: notificationHandlerProvider,
        }
 }
+
 //TODO add NEWHandler with log
-func (m NotificationManager) HandleMessage(logger *logger.Logger, e2Sessions sessions.E2Sessions, mbuf *rmrCgo.MBuf, responseChannel chan<- *models.NotificationResponse){
+func (m NotificationManager) HandleMessage(logger *logger.Logger, e2Sessions sessions.E2Sessions, mbuf *rmrCgo.MBuf, responseChannel chan<- *models.NotificationResponse) {
 
-       provider := providers.NewNotificationHandlerProvider(m.rnibReaderProvider, m.rnibWriterProvider)
-       notificationHandler, err := provider.GetNotificationHandler(mbuf.MType)
+       notificationHandler, err := m.notificationHandlerProvider.GetNotificationHandler(mbuf.MType)
 
        if err != nil {
                logger.Errorf(fmt.Sprintf("%s", err))
                return
        }
 
-       notificationRequest := models.NotificationRequest{RanName: mbuf.Meid, Len: mbuf.Len, Payload: *mbuf.Payload,
-               StartTime: time.Now(), TransactionId: string(*mbuf.XAction)}
-
-       go notificationHandler.Handle(logger, e2Sessions, &notificationRequest, responseChannel)
-}
\ No newline at end of file
+       notificationRequest := models.NewNotificationRequest(mbuf.Meid, *mbuf.Payload, time.Now(), string(*mbuf.XAction))
+       go notificationHandler.Handle(logger, e2Sessions, notificationRequest, responseChannel)
+}