X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;ds=sidebyside;f=E2Manager%2Fmodels%2Fe2_setup_request_message.go;h=f7088b8e0143ada30ec38b7fa5e7cc0e65b8bda9;hb=76709204dfd7968156b5fa81190f146a8991812d;hp=32d05ca2ad50b5d381712b2ea3cf9a6bd9a879eb;hpb=4449bba79c42804a0f9334047c08bd2619e777cd;p=ric-plt%2Fe2mgr.git diff --git a/E2Manager/models/e2_setup_request_message.go b/E2Manager/models/e2_setup_request_message.go index 32d05ca..f7088b8 100644 --- a/E2Manager/models/e2_setup_request_message.go +++ b/E2Manager/models/e2_setup_request_message.go @@ -21,10 +21,7 @@ package models import ( "encoding/xml" - "errors" - "fmt" "gerrit.o-ran-sc.org/r/ric-plt/nodeb-rnib.git/entities" - "strconv" "strings" ) @@ -135,9 +132,9 @@ type E2SetupRequestMessage struct { type RanFunctionItem struct { Text string `xml:",chardata"` - RanFunctionID string `xml:"ranFunctionID"` + RanFunctionID uint32 `xml:"ranFunctionID"` RanFunctionDefinition string `xml:"ranFunctionDefinition"` - RanFunctionRevision string `xml:"ranFunctionRevision"` + RanFunctionRevision uint32 `xml:"ranFunctionRevision"` } type RANfunctionsList struct { @@ -156,54 +153,31 @@ type RANfunctionsList struct { } `xml:"ProtocolIE-SingleContainer"` } -func (m *E2SetupRequestMessage) ExtractRanFunctionsList() ([]*entities.RanFunction, error) { - - setupRequestIes := m.E2APPDU.InitiatingMessage.Value.E2setupRequest.ProtocolIEs.E2setupRequestIEs - - if len(setupRequestIes) < 2 { - return nil, nil +func (m *E2SetupRequestMessage) ExtractRanFunctionsList() []*entities.RanFunction { + // TODO: verify e2SetupRequestIEs structure with Adi + e2SetupRequestIes := m.E2APPDU.InitiatingMessage.Value.E2setupRequest.ProtocolIEs.E2setupRequestIEs + if len(e2SetupRequestIes) < 2 { + return nil } - list := setupRequestIes[1].Value.RANfunctionsList.ProtocolIESingleContainer - funcs := make([]*entities.RanFunction, len(list)) + ranFunctionsListContainer := e2SetupRequestIes[1].Value.RANfunctionsList.ProtocolIESingleContainer + funcs := make([]*entities.RanFunction, len(ranFunctionsListContainer)) for i := 0; i < len(funcs); i++ { - funcs[i] = &entities.RanFunction{} - id, err := strconv.ParseUint(list[i].Value.RANfunctionItem.RanFunctionID, 10, 32) - if err != nil { - return nil, errors.New(fmt.Sprintf("#e2_setup_request_message.ExtractRanFunctionsList - Failed parse uint RanFunctionID from %s", list[i].Value.RANfunctionItem.RanFunctionID)) - } - funcs[i].RanFunctionId = uint32(id) - rev, err := strconv.ParseUint(list[i].Value.RANfunctionItem.RanFunctionRevision, 10, 32) - if err != nil { - return nil, errors.New(fmt.Sprintf("#e2_setup_request_message.ExtractRanFunctionsList - Failed parse uint RanFunctionRevision from %s", list[i].Value.RANfunctionItem.RanFunctionRevision)) + ranFunctionItem := ranFunctionsListContainer[i].Value.RANfunctionItem + + funcs[i] = &entities.RanFunction{ + RanFunctionId: ranFunctionItem.RanFunctionID, + RanFunctionDefinition: ranFunctionItem.RanFunctionDefinition, + RanFunctionRevision: ranFunctionItem.RanFunctionRevision, } - funcs[i].RanFunctionDefinition = m.trimSpaces(list[i].Value.RANfunctionItem.RanFunctionDefinition) - funcs[i].RanFunctionRevision = uint32(rev) } - return funcs, nil + return funcs } func (m *E2SetupRequestMessage) getGlobalE2NodeId() GlobalE2NodeId { return m.E2APPDU.InitiatingMessage.Value.E2setupRequest.ProtocolIEs.E2setupRequestIEs[0].Value.GlobalE2nodeID } -//func (m *E2SetupRequestMessage) GetNodeType() entities.Node_Type { -// globalE2NodeId := m.getGlobalE2NodeId() -// if id := globalE2NodeId.GNB.GlobalGNBID.PlmnID; id != "" { -// return entities.Node_GNB -// } -// if id := globalE2NodeId.EnGNB.GlobalGNBID.PlmnID; id != "" { -// return entities.Node_GNB -// } -// if id := globalE2NodeId.ENB.GlobalENBID.PlmnID; id != "" { -// return entities.Node_ENB -// } -// if id := globalE2NodeId.NgENB.GlobalNgENBID.PlmnID; id != "" { -// return entities.Node_ENB -// } -// return entities.Node_UNKNOWN -//} - func (m *E2SetupRequestMessage) GetPlmnId() string { globalE2NodeId := m.getGlobalE2NodeId() if id := globalE2NodeId.GNB.GlobalGNBID.PlmnID; id != "" {