Fixing bug for ICS version to work properly
[nonrtric/rapp/ransliceassurance.git] / icsversion / internal / odusliceassurance / app.go
index d313192..852e0f3 100644 (file)
@@ -43,6 +43,18 @@ const (
        jobId                   = "14e7bb84-a44d-44c1-90b7-6995a92ad83d"
 )
 
+var jobRegistrationInfo = struct {
+       InfoTypeID            string      `json:"info_type_id"`
+       JobResultURI          string      `json:"job_result_uri"`
+       JobOwner              string      `json:"job_owner"`
+       JobDefinition         interface{} `json:"job_definition"`
+       StatusNotificationURI string      `json:"status_notification_uri"`
+}{
+       InfoTypeID:   "Performance_Measurement_Streaming",
+       JobResultURI: "",
+       JobOwner:     "O-DU Slice Assurance Usecase",
+}
+
 type App struct {
        client *restclient.Client
        data   *structures.SliceAssuranceMeas
@@ -54,6 +66,8 @@ var sdnrConfig SdnrConfiguration
 
 func (a *App) Initialize(config *config.Configuration) {
        consumerPort = fmt.Sprint(config.ConsumerPort)
+       jobRegistrationInfo.JobResultURI = config.ConsumerHost + ":" + consumerPort
+       jobRegistrationInfo.StatusNotificationURI = config.ConsumerHost + ":" + consumerPort
 
        sdnrConfig = SdnrConfiguration{
                SDNRAddress:  config.SDNRAddress,
@@ -111,18 +125,8 @@ func (a *App) statusHandler(w http.ResponseWriter, r *http.Request) {
 }
 
 func (a *App) startHandler(w http.ResponseWriter, r *http.Request) {
-       log.Debug("startHandler: Register job in ICS.")
-       jobRegistrationInfo := struct {
-               InfoTypeID    string      `json:"info_type_id"`
-               JobResultURI  string      `json:"job_result_uri"`
-               JobOwner      string      `json:"job_owner"`
-               JobDefinition interface{} `json:"job_definition"`
-       }{
-               InfoTypeID:    "Performance_Measurement_Streaming",
-               JobResultURI:  "",
-               JobOwner:      "O-DU Slice Assurance Usecase",
-               JobDefinition: "{}",
-       }
+       log.Debug("Register job in ICS.")
+
        putErr := a.client.Put(icsAddr+"/data-consumer/v1/info-jobs/"+jobId, jobRegistrationInfo, nil)
        if putErr != nil {
                http.Error(w, fmt.Sprintf("Unable to register consumer job due to: %v.", putErr), http.StatusBadRequest)