X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=E2Manager%2Fmodels%2Fe2_setup_success_response_message.go;h=68c97a35790245df18771ed2c9fd95c4016d6c37;hb=70a16499e8c7042383f3fe115e6180f398dbab7d;hp=52239bebcc5fa5d3b25f5741c74f0cb1e2524688;hpb=dbf8e0032295fac936779b0f117d0600b94c85fc;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 52239be..68c97a3 100644 --- a/E2Manager/models/e2_setup_success_response_message.go +++ b/E2Manager/models/e2_setup_success_response_message.go @@ -25,10 +25,11 @@ import ( type E2SetupSuccessResponseMessage struct { XMLName xml.Name `xml:"E2SetupSuccessResponseMessage"` Text string `xml:",chardata"` - E2APPDU E2APPDU`xml:"E2AP-PDU"` + E2APPDU E2APPDU `xml:"E2AP-PDU"` } type E2APPDU struct { + XMLName xml.Name `xml:"E2AP-PDU"` Text string `xml:",chardata"` SuccessfulOutcome struct { Text string `xml:",chardata"` @@ -57,18 +58,24 @@ type E2setupResponseIEs 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"` + Value interface{}`xml:"value"` +} + +type GlobalRICID struct { + Text string `xml:",chardata"` + GlobalRICID struct { + Text string `xml:",chardata"` + PLMNIdentity string `xml:"pLMN-Identity"` + RicID string `xml:"ric-ID"` + } `xml:"GlobalRIC-ID"` +} + +type RANfunctionsIDList struct { + Text string `xml:",chardata"` + RANfunctionsIDList struct { + Text string `xml:",chardata"` + ProtocolIESingleContainer []ProtocolIESingleContainer `xml:"ProtocolIE-SingleContainer"` + } `xml:"RANfunctionsID-List"` } type ProtocolIESingleContainer struct { @@ -88,32 +95,37 @@ type ProtocolIESingleContainer struct { } `xml:"value"` } -func NewE2SetupSuccessResponseMessage() E2SetupSuccessResponseMessage{ +func NewE2SetupSuccessResponseMessage(plmnId string, ricId string, request *E2SetupRequestMessage) E2SetupSuccessResponseMessage{ msg := E2SetupSuccessResponseMessage{} msg.E2APPDU.SuccessfulOutcome.Value.E2setupResponse.ProtocolIEs.E2setupResponseIEs = make([]E2setupResponseIEs, 2) + msg.E2APPDU.SuccessfulOutcome.ProcedureCode = "1" + msg.E2APPDU.SuccessfulOutcome.Value.E2setupResponse.ProtocolIEs.E2setupResponseIEs[0].ID = "4" + msg.E2APPDU.SuccessfulOutcome.Value.E2setupResponse.ProtocolIEs.E2setupResponseIEs[0].Value = GlobalRICID{GlobalRICID: struct { + Text string `xml:",chardata"` + PLMNIdentity string `xml:"pLMN-Identity"` + RicID string `xml:"ric-ID"` + }{PLMNIdentity:plmnId, RicID:ricId}} + msg.E2APPDU.SuccessfulOutcome.Value.E2setupResponse.ProtocolIEs.E2setupResponseIEs[1].ID = "9" + msg.E2APPDU.SuccessfulOutcome.Value.E2setupResponse.ProtocolIEs.E2setupResponseIEs[1].Value = RANfunctionsIDList{RANfunctionsIDList: struct { + Text string `xml:",chardata"` + ProtocolIESingleContainer []ProtocolIESingleContainer `xml:"ProtocolIE-SingleContainer"` + }{ProtocolIESingleContainer:extractRanFunctionsIDList(request)}} return msg } -func (m *E2SetupSuccessResponseMessage) SetExtractRanFunctionsIDList(request *E2SetupRequestMessage) { +func extractRanFunctionsIDList(request *E2SetupRequestMessage) []ProtocolIESingleContainer{ 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) + ids[i] = convertToRANfunctionID(list, i) } - m.E2APPDU.SuccessfulOutcome.Value.E2setupResponse.ProtocolIEs.E2setupResponseIEs[1].Value.RANfunctionsIDList.ProtocolIESingleContainer = ids + return ids } -func (m *E2SetupSuccessResponseMessage) convertToRANfunctionID(list *RANfunctionsList, i int) ProtocolIESingleContainer{ +func convertToRANfunctionID(list *RANfunctionsList, i int) ProtocolIESingleContainer{ id := ProtocolIESingleContainer{} + id.ID = "6" 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[0].Value.GlobalRICID.PLMNIdentity = plmnId -} - -func (m *E2SetupSuccessResponseMessage) SetRicId(ricId string){ - m.E2APPDU.SuccessfulOutcome.Value.E2setupResponse.ProtocolIEs.E2setupResponseIEs[0].Value.GlobalRICID.RicID = ricId } \ No newline at end of file