X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=E2Manager%2Fmodels%2Fe2_setup_success_response_message.go;h=23410fcb1b082d84ebc4a84968dd7f9d881aa280;hb=refs%2Fchanges%2F41%2F2941%2F1;hp=5e58de006d95548658d09ccd43812a3ffb5eaab0;hpb=9e880618d152150834ee4ee99ea44db99d3d2f65;p=ric-plt%2Fe2mgr.git diff --git a/E2Manager/models/e2_setup_success_response_message.go b/E2Manager/models/e2_setup_success_response_message.go index 5e58de0..23410fc 100644 --- a/E2Manager/models/e2_setup_success_response_message.go +++ b/E2Manager/models/e2_setup_success_response_message.go @@ -40,22 +40,7 @@ type E2SetupSuccessResponseMessage struct { Text string `xml:",chardata"` ProtocolIEs struct { Text string `xml:",chardata"` - E2setupResponseIEs struct { - Text string `xml:",chardata"` - ID string `xml:"id"` - Criticality struct { - Text string `xml:",chardata"` - Reject string `xml:"reject"` - } `xml:"criticality"` - Value struct { - Text string `xml:",chardata"` - GlobalRICID struct { - Text string `xml:",chardata"` - PLMNIdentity string `xml:"pLMN-Identity"` - RicID string `xml:"ric-ID"` - } `xml:"GlobalRIC-ID"` - } `xml:"value"` - } `xml:"E2setupResponseIEs"` + E2setupResponseIEs []E2setupResponseIEs`xml:"E2setupResponseIEs"` } `xml:"protocolIEs"` } `xml:"E2setupResponse"` } `xml:"value"` @@ -63,11 +48,70 @@ type E2SetupSuccessResponseMessage struct { } `xml:"E2AP-PDU"` } +type E2setupResponseIEs struct { + Text string `xml:",chardata"` + ID string `xml:"id"` + Criticality struct { + Text string `xml:",chardata"` + Reject string `xml:"reject"` + } `xml:"criticality"` + Value struct { + Text string `xml:",chardata"` + GlobalRICID struct { + Text string `xml:",chardata"` + PLMNIdentity string `xml:"pLMN-Identity"` + RicID string `xml:"ric-ID"` + } `xml:"GlobalRIC-ID"` + RANfunctionsIDList struct { + Text string `xml:",chardata"` + ProtocolIESingleContainer []ProtocolIESingleContainer `xml:"ProtocolIE-SingleContainer"` + } `xml:"RANfunctionsID-List"` + } `xml:"value"` +} + +type ProtocolIESingleContainer 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"` + RANfunctionIDItem struct { + Text string `xml:",chardata"` + RanFunctionID string `xml:"ranFunctionID"` + RanFunctionRevision string `xml:"ranFunctionRevision"` + } `xml:"RANfunctionID-Item"` + } `xml:"value"` +} + +func NewE2SetupSuccessResponseMessage() *E2SetupSuccessResponseMessage{ + msg := &E2SetupSuccessResponseMessage{} + msg.E2APPDU.SuccessfulOutcome.Value.E2setupResponse.ProtocolIEs.E2setupResponseIEs = make([]E2setupResponseIEs, 2) + return msg +} + +func (m *E2SetupSuccessResponseMessage) SetExtractRanFunctionsIDList(request *E2SetupRequestMessage) { + list := &request.E2APPDU.InitiatingMessage.Value.E2setupRequest.ProtocolIEs.E2setupRequestIEs[1].Value.RANfunctionsList + ids := make([]ProtocolIESingleContainer,len(list.ProtocolIESingleContainer)) + for i := 0; i< len(ids); i++{ + ids[i] = m.convertToRANfunctionID(list, i) + } + m.E2APPDU.SuccessfulOutcome.Value.E2setupResponse.ProtocolIEs.E2setupResponseIEs[1].Value.RANfunctionsIDList.ProtocolIESingleContainer = ids +} + +func (m *E2SetupSuccessResponseMessage) convertToRANfunctionID(list *RANfunctionsList, i int) ProtocolIESingleContainer{ + id := ProtocolIESingleContainer{} + id.Value.RANfunctionIDItem.RanFunctionID = list.ProtocolIESingleContainer[i].Value.RANfunctionItem.RanFunctionID + id.Value.RANfunctionIDItem.RanFunctionRevision = list.ProtocolIESingleContainer[i].Value.RANfunctionItem.RanFunctionRevision + return id +} func (m *E2SetupSuccessResponseMessage) SetPlmnId(plmnId string){ - m.E2APPDU.SuccessfulOutcome.Value.E2setupResponse.ProtocolIEs.E2setupResponseIEs.Value.GlobalRICID.PLMNIdentity = plmnId + m.E2APPDU.SuccessfulOutcome.Value.E2setupResponse.ProtocolIEs.E2setupResponseIEs[0].Value.GlobalRICID.PLMNIdentity = plmnId } -func (m *E2SetupSuccessResponseMessage) SetNbId(ricID string){ - m.E2APPDU.SuccessfulOutcome.Value.E2setupResponse.ProtocolIEs.E2setupResponseIEs.Value.GlobalRICID.RicID = ricID +func (m *E2SetupSuccessResponseMessage) SetRicId(ricId string){ + m.E2APPDU.SuccessfulOutcome.Value.E2setupResponse.ProtocolIEs.E2setupResponseIEs[0].Value.GlobalRICID.RicID = ricId } \ No newline at end of file