Copy latest code
[ric-plt/e2mgr.git] / 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 (file)
@@ -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))
                        }
                }
        }