Fixing bug in O-DU slice assurance app
[nonrtric.git] / test / usecases / odusliceassurance / goversion / messages / stdVesMessage.go
index 1ee0dcf..5c4a3b0 100644 (file)
 
 package messages
 
-import (
-       "fmt"
-       "regexp"
-       "strconv"
-       "strings"
-
-       "oransc.org/usecase/oduclosedloop/internal/structures"
-)
-
 type StdDefinedMessage struct {
        Event Event `json:"event"`
 }
@@ -39,8 +30,24 @@ type Event struct {
 }
 
 type CommonEventHeader struct {
-       Domain               string `json:"domain"`
-       StndDefinedNamespace string `json:"stndDefinedNamespace"`
+       Domain                  string `json:"domain"`
+       EventId                 string `json:"eventId"`
+       EventName               string `json:"eventName"`
+       EventType               string `json:"eventType"`
+       Sequence                int    `json:"sequence"`
+       Priority                string `json:"priority"`
+       ReportingEntityId       string `json:"reportingEntityId"`
+       ReportingEntityName     string `json:"reportingEntityName"`
+       SourceId                string `json:"sourceId"`
+       SourceName              string `json:"sourceName"`
+       StartEpochMicrosec      int64  `json:"startEpochMicrosec"`
+       LastEpochMicrosec       int64  `json:"lastEpochMicrosec"`
+       NfNamingCode            string `json:"nfNamingCode"`
+       NfVendorName            string `json:"nfVendorName"`
+       StndDefinedNamespace    string `json:"stndDefinedNamespace"`
+       TimeZoneOffset          string `json:"timeZoneOffset"`
+       Version                 string `json:"version"`
+       VesEventListenerVersion string `json:"vesEventListenerVersion"`
 }
 
 type StndDefinedFields struct {
@@ -50,8 +57,14 @@ type StndDefinedFields struct {
 }
 
 type Data struct {
-       DataId       string        `json:"id"`
-       Measurements []Measurement `json:"measurements"`
+       DataId              string        `json:"id"`
+       StartTime           string        `json:"start-time"`
+       AdministrativeState string        `json:"administrative-state"`
+       OperationalState    string        `json:"operational-state"`
+       UserLabel           string        `json:"user-label"`
+       JobTag              string        `json:"job-tag"`
+       GranularityPeriod   int           `json:"granularity-period"`
+       Measurements        []Measurement `json:"measurements"`
 }
 
 type Measurement struct {
@@ -63,62 +76,3 @@ type Measurement struct {
 func (message StdDefinedMessage) GetMeasurements() []Measurement {
        return message.Event.StndDefinedFields.Data.Measurements
 }
-
-func (meas Measurement) CreateSliceMetric() *structures.SliceMetric {
-       var pmName string
-       var duid, cellid string
-       var sd, sst int
-
-       typeParts := strings.Split(meas.MeasurementTypeInstanceReference, "/")
-       for _, part := range typeParts {
-               if strings.Contains(part, "distributed-unit-functions") {
-                       duid = getValueInsideQuotes(part)
-
-               } else if strings.Contains(part, "cell[") {
-                       cellid = getValueInsideQuotes(part)
-
-               } else if strings.Contains(part, "performance-measurement-type") {
-                       pmName = getValueInsideQuotes(part)
-
-               } else if strings.Contains(part, "slice-differentiator") {
-                       sd = getPropertyNumber(part)
-
-               } else if strings.Contains(part, "slice-differentiator") {
-                       res, err := strconv.Atoi(getValueInsideQuotes(part))
-                       if err != nil {
-                               sst = -1
-                       }
-                       sst = res
-               }
-       }
-
-       sm := structures.NewSliceMetric(duid, cellid, sd, sst)
-       sm.PM[pmName] = meas.Value
-       return sm
-}
-
-func getValueInsideQuotes(text string) string {
-       re := regexp.MustCompile(`\'(.*?)\'`)
-
-       match := re.FindAllString(text, -1)
-       var res string
-       if len(match) == 1 {
-               res = strings.Trim(match[0], "'")
-       }
-       return res
-}
-
-func getPropertyNumber(text string) int {
-       re := regexp.MustCompile("[0-9]+")
-       match := re.FindAllString(text, -1)
-       var res int
-       var err error
-       if len(match) == 1 {
-               res, err = strconv.Atoi(match[0])
-               if err != nil {
-                       fmt.Println(err)
-                       return -1
-               }
-       }
-       return res
-}