From 7c45d8a4e83b4e9919e827417adeb4e5933a9425 Mon Sep 17 00:00:00 2001
From: Nikos Kyriakoulis <kyriakoulis@ece.upatras.gr>
Date: Fri, 11 Apr 2025 15:06:12 +0300
Subject: [PATCH] Fixed bugs related to Cascade annotations, added missing
 JsonProperty annotation in ScheduleDefinition

---
 src/main/java/org/etsi/osl/tmf/pm628/model/MeasurementJob.java  | 2 +-
 .../tmf/pm628/model/PerformanceIndicatorGroupSpecification.java | 2 +-
 .../java/org/etsi/osl/tmf/pm628/model/ScheduleDefinition.java   | 1 +
 3 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/src/main/java/org/etsi/osl/tmf/pm628/model/MeasurementJob.java b/src/main/java/org/etsi/osl/tmf/pm628/model/MeasurementJob.java
index 9e9f70b..00c43bd 100644
--- a/src/main/java/org/etsi/osl/tmf/pm628/model/MeasurementJob.java
+++ b/src/main/java/org/etsi/osl/tmf/pm628/model/MeasurementJob.java
@@ -62,7 +62,7 @@ public class MeasurementJob extends ManagementJob {
   @AnyKeyJavaClass(String.class)
   @AnyDiscriminatorValue(discriminator = "value", entity = PerformanceIndicatorSpecification.class)
   @AnyDiscriminatorValue(discriminator = "ref", entity = PerformanceIndicatorSpecificationRef.class)
-  @Cascade(org.hibernate.annotations.CascadeType.MERGE)
+  @Cascade({org.hibernate.annotations.CascadeType.MERGE, org.hibernate.annotations.CascadeType.PERSIST})
   @JoinTable(
           name = "pm628_meas_job_perf_ind_specs",
           joinColumns = @JoinColumn(name = "meas_job_uuid"),
diff --git a/src/main/java/org/etsi/osl/tmf/pm628/model/PerformanceIndicatorGroupSpecification.java b/src/main/java/org/etsi/osl/tmf/pm628/model/PerformanceIndicatorGroupSpecification.java
index 067d023..7a5296d 100644
--- a/src/main/java/org/etsi/osl/tmf/pm628/model/PerformanceIndicatorGroupSpecification.java
+++ b/src/main/java/org/etsi/osl/tmf/pm628/model/PerformanceIndicatorGroupSpecification.java
@@ -35,7 +35,7 @@ public class PerformanceIndicatorGroupSpecification extends BaseRootNamedEntity
   @AnyKeyJavaClass(String.class)
   @AnyDiscriminatorValue(discriminator = "value", entity = PerformanceIndicatorSpecification.class)
   @AnyDiscriminatorValue(discriminator = "ref", entity = PerformanceIndicatorSpecificationRef.class)
-  @Cascade(CascadeType.MERGE)
+  @Cascade({CascadeType.MERGE, CascadeType.PERSIST})
   @JoinTable(
           name = "perf_ind_group_spec_perf_ind_specs",
           joinColumns = @JoinColumn(name = "perf_ind_group_spec_id"),
diff --git a/src/main/java/org/etsi/osl/tmf/pm628/model/ScheduleDefinition.java b/src/main/java/org/etsi/osl/tmf/pm628/model/ScheduleDefinition.java
index c25213d..7801232 100644
--- a/src/main/java/org/etsi/osl/tmf/pm628/model/ScheduleDefinition.java
+++ b/src/main/java/org/etsi/osl/tmf/pm628/model/ScheduleDefinition.java
@@ -189,6 +189,7 @@ public class ScheduleDefinition extends BaseRootEntity {
     this.excludedDate = excludedDate;
   }
 
+  @JsonProperty("excludedDate")
   public void setExcludedDateString(List<String> excludedDate) {
     this.excludedDate = excludedDate.stream()
         .map(date -> {
-- 
GitLab