X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=tools%2Fxappmock%2Ffrontend%2FjsonDecoder.go;fp=tools%2Fxapp_mock%2Ffrontend%2FjsonDecoder.go;h=844e63d4b8b6cc50fb9d55671d6b8ed483d7ac21;hb=refs%2Fchanges%2F01%2F2101%2F1;hp=e5ee02afeb99f6f2f35a5816949ec2b3f1136101;hpb=b6c5a882f986ed2d6440cf9be83d69740179c53d;p=ric-plt%2Fe2mgr.git diff --git a/tools/xapp_mock/frontend/jsonDecoder.go b/tools/xappmock/frontend/jsonDecoder.go similarity index 60% rename from tools/xapp_mock/frontend/jsonDecoder.go rename to tools/xappmock/frontend/jsonDecoder.go index e5ee02a..844e63d 100644 --- a/tools/xapp_mock/frontend/jsonDecoder.go +++ b/tools/xappmock/frontend/jsonDecoder.go @@ -25,57 +25,31 @@ import ( "fmt" "github.com/pkg/errors" "io" + "xappmock/models" ) -const ( - SendRmrMessage = "send" - ReceiveRmrMessage = "receive" -) - - -type JsonCommand struct { - Id string - RmrMessageType string - TransactionId string - RanName string - RanIp string - RanPort int - PayloadHeader string - PackedPayload string - Payload string - Action string - WaitForRmrMessageType string -} - -// Id -> Command -var Configuration = make(map[string]*JsonCommand) -// Rmr Message Id -> Command -var WaitedForRmrMessageType = make(map[int]*JsonCommand) - -func JsonCommandDecoder(data []byte, processor func (*JsonCommand) error ) error { +func DecodeJsonCommand(data []byte) (*models.JsonCommand, error) { dec := json.NewDecoder(bytes.NewReader(data)) - var cmd JsonCommand + var cmd models.JsonCommand if err := dec.Decode(&cmd); err != nil && err != io.EOF { - return errors.New(err.Error()) - } - if err := processor (&cmd); err != nil { - return err + return nil, errors.New(err.Error()) } - return nil + + return &cmd, nil } -func JsonCommandsDecoder(data []byte, processor func (*JsonCommand) error ) error { +func JsonCommandsDecoder(data []byte, processor func(models.JsonCommand) error) error { dec := json.NewDecoder(bytes.NewReader(data)) for { - var commands []JsonCommand + var commands []models.JsonCommand if err := dec.Decode(&commands); err == io.EOF { break } else if err != nil { return errors.New(err.Error()) } for i, cmd := range commands { - if err := processor(&cmd); err != nil { - return errors.New(fmt.Sprintf("processing error at #%d, %s",i,err)) + if err := processor(cmd); err != nil { + return errors.New(fmt.Sprintf("processing error at #%d, %s", i, err)) } } }