From 4f3eb344101cd80aade8d71120f62d7d8bede66b Mon Sep 17 00:00:00 2001 From: "naman.gupta" Date: Mon, 22 May 2023 17:11:10 +0530 Subject: [PATCH] E2 reset request message model E2 reset request message model. Signed-off-by: naman.gupta Change-Id: I073aa960cfb7d3b6e89e15689d382c0c53a025ea --- .../rmrmsghandlers/e2_reset_request_handler.go | 4 +- E2Manager/models/e2_reset_request.go | 82 +++++++++++----------- E2Manager/models/e2_reset_response.go | 10 +-- 3 files changed, 49 insertions(+), 47 deletions(-) diff --git a/E2Manager/handlers/rmrmsghandlers/e2_reset_request_handler.go b/E2Manager/handlers/rmrmsghandlers/e2_reset_request_handler.go index c3f7975..eb20f13 100644 --- a/E2Manager/handlers/rmrmsghandlers/e2_reset_request_handler.go +++ b/E2Manager/handlers/rmrmsghandlers/e2_reset_request_handler.go @@ -153,13 +153,13 @@ func (e *E2ResetRequestNotificationHandler) waitfortimertimeout(request *models. func (e *E2ResetRequestNotificationHandler) parseE2ResetMessage(payload []byte) (*models.E2ResetRequestMessage, error) { e2resetMessage := models.E2ResetRequestMessage{} - err := xml.Unmarshal(utils.NormalizeXml(payload), &(e2resetMessage.E2APPDU)) + err := xml.Unmarshal(utils.NormalizeXml(payload), &(e2resetMessage.E2ApPDU)) if err != nil { e.logger.Errorf("#E2ResetRequestNotificationHandler.Handle - error in parsing request message: %+v", err) return nil, err } - e.logger.Debugf("#E2ResetRequestNotificationHandler.Handle - Unmarshalling is successful %v", e2resetMessage.E2APPDU.InitiatingMessage.ProcedureCode) + e.logger.Debugf("#E2ResetRequestNotificationHandler.Handle - Unmarshalling is successful %v", e2resetMessage.E2ApPDU.InitiatingMessage.ProcedureCode) return &e2resetMessage, nil } diff --git a/E2Manager/models/e2_reset_request.go b/E2Manager/models/e2_reset_request.go index 582453f..a0a35f8 100644 --- a/E2Manager/models/e2_reset_request.go +++ b/E2Manager/models/e2_reset_request.go @@ -18,47 +18,49 @@ package models -import ( - "encoding/xml" -) - type E2ResetRequestMessage struct { - XMLName xml.Name `xml:"E2ResetRequestMessage"` - Text string `xml:",chardata"` - E2APPDU struct { - XMLName xml.Name `xml:"E2AP-PDU"` - Text string `xml:",chardata"` - InitiatingMessage struct { - Text string `xml:",chardata"` - ProcedureCode string `xml:"procedureCode"` - Criticality struct { - Text string `xml:",chardata"` - Reject string `xml:"reject"` - } `xml:"criticality"` - Value struct { - Text string `xml:",chardata"` - ResetRequest struct { - Text string `xml:",chardata"` - ProtocolIEs struct { - Text string `xml:",chardata"` - ResetRequestIEs []struct { - Text string `xml:",chardata"` - ID string `xml:"id"` - Criticality struct { - Text string `xml:",chardata"` - Ignore string `xml:"ignore"` - } `xml:"criticality"` - Value struct { - Text string `xml:",chardata"` - TransactionID string `xml:"TransactionID"` - Cause CauseResetRequest `xml:"Cause"` - } `xml:"value"` - } `xml:"ResetRequestIEs"` - } `xml:"protocolIEs"` - } `xml:"ResetRequest"` - } `xml:"value"` - } `xml:"initiatingMessage"` - } `xml:"E2AP-PDU"` + E2ApPDU E2ApPDU `xml:"E2AP-PDU"` +} + +type E2ApPDU struct { + InitiatingMessage InitiatingMessageY `xml:"initiatingMessage"` +} + +type InitiatingMessageY struct { + ProcedureCode int64 `xml:"procedureCode"` + Criticality InitiatingMessageCriticality `xml:"criticality"` + Value InitiatingMessageValue `xml:"value"` +} + +type InitiatingMessageCriticality struct { + Reject string `xml:"reject"` +} + +type InitiatingMessageValue struct { + E2ResetRequest E2ResetRequest `xml:"ResetRequest"` +} + +type E2ResetRequest struct { + ProtocolIes ProtocolIes `xml:"protocolIEs"` +} + +type ProtocolIes struct { + ResetRequestIEs []ResetRequestIEs `xml:"ResetRequestIEs"` +} + +type ResetRequestIEs struct { + ID int64 `xml:"id"` + Criticality ResetRequestCriticality `xml:"criticality"` + Value ResetRequestValue `xml:"value"` +} + +type ResetRequestCriticality struct { + Ignore string `xml:"ignore"` +} + +type ResetRequestValue struct { + TransactionID *int64 `xml:"TransactionID"` + Cause *CauseResetRequest `xml:"Cause"` } type CauseResetRequest struct { diff --git a/E2Manager/models/e2_reset_response.go b/E2Manager/models/e2_reset_response.go index 42d83ce..2722e56 100644 --- a/E2Manager/models/e2_reset_response.go +++ b/E2Manager/models/e2_reset_response.go @@ -77,15 +77,15 @@ type ResetResponseIEsValue struct { func NewE2ResetResponseMessage(request *E2ResetRequestMessage) E2ResetResponseMessage { outcome := successfulOutcome{} - outcome.ProcedureCode = request.E2APPDU.InitiatingMessage.ProcedureCode - e2ResetRequestIes := request.E2APPDU.InitiatingMessage.Value.ResetRequest.ProtocolIEs.ResetRequestIEs + outcome.ProcedureCode = string(request.E2ApPDU.InitiatingMessage.ProcedureCode) + e2ResetRequestIes := request.E2ApPDU.InitiatingMessage.Value.E2ResetRequest.ProtocolIes.ResetRequestIEs numOfIes := len(e2ResetRequestIes) outcome.Value.ResetResponse.ProtocolIEs.ResetResponseIEs = make([]ResetResponseIEs, numOfIes) for ieCount := 0; ieCount < numOfIes; ieCount++ { - outcome.Value.ResetResponse.ProtocolIEs.ResetResponseIEs[ieCount].ID = request.E2APPDU.InitiatingMessage.Value.ResetRequest.ProtocolIEs.ResetRequestIEs[ieCount].ID - outcome.Value.ResetResponse.ProtocolIEs.ResetResponseIEs[ieCount].Criticality.Ignore = request.E2APPDU.InitiatingMessage.Value.ResetRequest.ProtocolIEs.ResetRequestIEs[ieCount].Criticality.Ignore - outcome.Value.ResetResponse.ProtocolIEs.ResetResponseIEs[ieCount].Value.TransactionID = request.E2APPDU.InitiatingMessage.Value.ResetRequest.ProtocolIEs.ResetRequestIEs[ieCount].Value.TransactionID + outcome.Value.ResetResponse.ProtocolIEs.ResetResponseIEs[ieCount].ID = string(request.E2ApPDU.InitiatingMessage.Value.E2ResetRequest.ProtocolIes.ResetRequestIEs[ieCount].ID) + outcome.Value.ResetResponse.ProtocolIEs.ResetResponseIEs[ieCount].Criticality.Ignore = request.E2ApPDU.InitiatingMessage.Value.E2ResetRequest.ProtocolIes.ResetRequestIEs[ieCount].Criticality.Ignore + outcome.Value.ResetResponse.ProtocolIEs.ResetResponseIEs[ieCount].Value.TransactionID = string(*(request.E2ApPDU.InitiatingMessage.Value.E2ResetRequest.ProtocolIes.ResetRequestIEs[ieCount].Value.TransactionID)) } return E2ResetResponseMessage{E2ApPdu: E2ApPdu{SuccessfulOutcome: outcome}} } -- 2.16.6