From d4b0c7b4b6dbb518a72eef7510b6f39bb02fc6d9 Mon Sep 17 00:00:00 2001 From: Christos Tranoris Date: Sat, 11 Jan 2025 02:23:20 +0200 Subject: [PATCH 1/2] fixes for offsetdates --- .gitignore | 1 + .../tmf/pm628/model/DayOfMonthRecurrence.java | 11 +- .../tmf/pm628/model/DayOfWeekRecurrence.java | 13 +- .../org/etsi/osl/tmf/pm628/model/Event.java | 15 ++- .../osl/tmf/pm628/model/ManagementJobFVO.java | 1 + .../osl/tmf/pm628/model/ManagementJobMVO.java | 1 + .../tmf/pm628/model/MeasurementJobFVO.java | 1 + .../tmf/pm628/model/MeasurementJobMVO.java | 1 + .../PerformanceIndicatorSpecificationMVO.java | 1 - ...rformanceIndicatorSpecificationRefMVO.java | 1 - .../tmf/pm628/model/ScheduleDefinition.java | 114 ++++++++++++++++-- .../pm628/model/ScheduleDefinitionFVO.java | 100 +++++++++++++-- .../pm628/model/ScheduleDefinitionMVO.java | 104 +++++++++++++++- 13 files changed, 333 insertions(+), 31 deletions(-) diff --git a/.gitignore b/.gitignore index 59e9a26..00277ef 100644 --- a/.gitignore +++ b/.gitignore @@ -5,3 +5,4 @@ /.classpath /.settings *.iml +/.factorypath diff --git a/src/main/java/org/etsi/osl/tmf/pm628/model/DayOfMonthRecurrence.java b/src/main/java/org/etsi/osl/tmf/pm628/model/DayOfMonthRecurrence.java index 72bf9f6..ef8d3d5 100644 --- a/src/main/java/org/etsi/osl/tmf/pm628/model/DayOfMonthRecurrence.java +++ b/src/main/java/org/etsi/osl/tmf/pm628/model/DayOfMonthRecurrence.java @@ -33,7 +33,6 @@ public class DayOfMonthRecurrence { @Column(name = "domr_schema_location") private String schemaLocation; - @JsonProperty("dates") @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) private OffsetDateTime dates; @@ -120,6 +119,16 @@ public class DayOfMonthRecurrence { @Valid @Schema(name = "dates", requiredMode = Schema.RequiredMode.NOT_REQUIRED) @JsonProperty("dates") + public String getDatesString() { + return dates.toString(); + } + + public void setDates(String dates) { + if ( dates!= null ) { + this.dates = OffsetDateTime.parse( dates ); + } + } + public OffsetDateTime getDates() { return dates; } diff --git a/src/main/java/org/etsi/osl/tmf/pm628/model/DayOfWeekRecurrence.java b/src/main/java/org/etsi/osl/tmf/pm628/model/DayOfWeekRecurrence.java index 38c6a53..b8bfefe 100644 --- a/src/main/java/org/etsi/osl/tmf/pm628/model/DayOfWeekRecurrence.java +++ b/src/main/java/org/etsi/osl/tmf/pm628/model/DayOfWeekRecurrence.java @@ -33,7 +33,6 @@ public class DayOfWeekRecurrence { @Column(name = "dowr_schema_location") private String schemaLocation; - @JsonProperty("dates") @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) private OffsetDateTime dates; @@ -119,11 +118,21 @@ public class DayOfWeekRecurrence { */ @Valid @Schema(name = "dates", requiredMode = Schema.RequiredMode.NOT_REQUIRED) - @JsonProperty("dates") public OffsetDateTime getDates() { return dates; } + + @JsonProperty("dates") + public String getDatesString() { + return dates.toString(); + } + public void setDates(String dates) { + if ( dates!= null ) { + this.dates = OffsetDateTime.parse( dates ); + } + } + public void setDates(OffsetDateTime dates) { this.dates = dates; } diff --git a/src/main/java/org/etsi/osl/tmf/pm628/model/Event.java b/src/main/java/org/etsi/osl/tmf/pm628/model/Event.java index 91a9489..15be3c3 100644 --- a/src/main/java/org/etsi/osl/tmf/pm628/model/Event.java +++ b/src/main/java/org/etsi/osl/tmf/pm628/model/Event.java @@ -73,7 +73,7 @@ public class Event { @JsonProperty("eventId") protected String eventId= UUID.randomUUID().toString(); - @JsonProperty("eventTime") + @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) protected OffsetDateTime eventTime = OffsetDateTime.now(ZoneOffset.UTC); @@ -441,14 +441,25 @@ public class Event { */ @Valid @Schema(name = "eventTime", description = "Time of the event occurrence.", requiredMode = Schema.RequiredMode.NOT_REQUIRED) - @JsonProperty("eventTime") public OffsetDateTime getEventTime() { return eventTime; } + + @JsonProperty("eventTime") + public String getEventTimeString() { + return eventTime.toString(); + } + public void setEventTime(OffsetDateTime eventTime) { this.eventTime = eventTime; } + + public void setEventTime(String eventTime) { + if ( eventTime!= null ) { + this.eventTime = OffsetDateTime.parse( eventTime ); + } +} public Event eventType(String eventType) { this.eventType = eventType; diff --git a/src/main/java/org/etsi/osl/tmf/pm628/model/ManagementJobFVO.java b/src/main/java/org/etsi/osl/tmf/pm628/model/ManagementJobFVO.java index 2172a35..8ac27c8 100644 --- a/src/main/java/org/etsi/osl/tmf/pm628/model/ManagementJobFVO.java +++ b/src/main/java/org/etsi/osl/tmf/pm628/model/ManagementJobFVO.java @@ -23,6 +23,7 @@ import java.util.Objects; */ @JsonIgnoreProperties( + ignoreUnknown = true, value = "@type", // ignore manually set @type, it will be automatically generated by Jackson during serialization allowSetters = true // allows the @type to be set during deserialization ) diff --git a/src/main/java/org/etsi/osl/tmf/pm628/model/ManagementJobMVO.java b/src/main/java/org/etsi/osl/tmf/pm628/model/ManagementJobMVO.java index 68ff0fa..fce75a1 100644 --- a/src/main/java/org/etsi/osl/tmf/pm628/model/ManagementJobMVO.java +++ b/src/main/java/org/etsi/osl/tmf/pm628/model/ManagementJobMVO.java @@ -18,6 +18,7 @@ import java.util.Objects; */ @JsonIgnoreProperties( + ignoreUnknown = true, value = "@type", // ignore manually set @type, it will be automatically generated by Jackson during serialization allowSetters = true // allows the @type to be set during deserialization ) diff --git a/src/main/java/org/etsi/osl/tmf/pm628/model/MeasurementJobFVO.java b/src/main/java/org/etsi/osl/tmf/pm628/model/MeasurementJobFVO.java index db2ace7..4c321c7 100644 --- a/src/main/java/org/etsi/osl/tmf/pm628/model/MeasurementJobFVO.java +++ b/src/main/java/org/etsi/osl/tmf/pm628/model/MeasurementJobFVO.java @@ -20,6 +20,7 @@ import java.util.Objects; */ @JsonIgnoreProperties( + ignoreUnknown = true, value = "@type", // ignore manually set @type, it will be automatically generated by Jackson during serialization allowSetters = true // allows the @type to be set during deserialization ) diff --git a/src/main/java/org/etsi/osl/tmf/pm628/model/MeasurementJobMVO.java b/src/main/java/org/etsi/osl/tmf/pm628/model/MeasurementJobMVO.java index 9b76533..02d6e76 100644 --- a/src/main/java/org/etsi/osl/tmf/pm628/model/MeasurementJobMVO.java +++ b/src/main/java/org/etsi/osl/tmf/pm628/model/MeasurementJobMVO.java @@ -18,6 +18,7 @@ import java.util.Objects; */ @JsonIgnoreProperties( + ignoreUnknown = true, value = "@type", // ignore manually set @type, it will be automatically generated by Jackson during serialization allowSetters = true // allows the @type to be set during deserialization ) diff --git a/src/main/java/org/etsi/osl/tmf/pm628/model/PerformanceIndicatorSpecificationMVO.java b/src/main/java/org/etsi/osl/tmf/pm628/model/PerformanceIndicatorSpecificationMVO.java index 49d20a9..a84bab6 100644 --- a/src/main/java/org/etsi/osl/tmf/pm628/model/PerformanceIndicatorSpecificationMVO.java +++ b/src/main/java/org/etsi/osl/tmf/pm628/model/PerformanceIndicatorSpecificationMVO.java @@ -32,7 +32,6 @@ public class PerformanceIndicatorSpecificationMVO implements PerformanceIndicato @JsonProperty("href") private String href; - @JsonProperty("uuid") private String uuid; @JsonProperty("name") diff --git a/src/main/java/org/etsi/osl/tmf/pm628/model/PerformanceIndicatorSpecificationRefMVO.java b/src/main/java/org/etsi/osl/tmf/pm628/model/PerformanceIndicatorSpecificationRefMVO.java index 383da55..d1f799e 100644 --- a/src/main/java/org/etsi/osl/tmf/pm628/model/PerformanceIndicatorSpecificationRefMVO.java +++ b/src/main/java/org/etsi/osl/tmf/pm628/model/PerformanceIndicatorSpecificationRefMVO.java @@ -27,7 +27,6 @@ public class PerformanceIndicatorSpecificationRefMVO implements PerformanceIndic @JsonProperty("href") private String href; - @JsonProperty("uuid") private String uuid; @JsonProperty("name") 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 570ee15..cb8ede2 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 @@ -9,9 +9,11 @@ import org.springframework.format.annotation.DateTimeFormat; import javax.annotation.Generated; import java.time.OffsetDateTime; +import java.time.format.DateTimeParseException; import java.util.ArrayList; import java.util.List; import java.util.Objects; +import java.util.stream.Collectors; /** * ScheduleDefinition @@ -22,18 +24,15 @@ import java.util.Objects; @Entity(name = "PM628_SchedDef") public class ScheduleDefinition extends BaseRootEntity { - @JsonProperty("scheduleDefinitionStartTime") @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) private OffsetDateTime scheduleDefinitionStartTime; - @JsonProperty("scheduleDefinitionEndTime") @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) private OffsetDateTime scheduleDefinitionEndTime; @JsonProperty("recurringFrequency") private String recurringFrequency; - @JsonProperty("excludedDate") @Valid private List excludedDate = new ArrayList<>(); @@ -49,7 +48,6 @@ public class ScheduleDefinition extends BaseRootEntity { ) private List weeklyScheduledDefinition = new ArrayList<>(); - @JsonProperty("monthlyScheduleDayOfMonthDefinition") @Valid private List monthlyScheduleDayOfMonthDefinition = new ArrayList<>(); @@ -57,7 +55,6 @@ public class ScheduleDefinition extends BaseRootEntity { @Embedded private MonthlyScheduleDayOfWeekDefinition monthlyScheduleDayOfWeekDefinition; - @JsonProperty("dateScheduleDefintion") @Valid private List dateScheduleDefintion = new ArrayList<>(); @@ -83,10 +80,22 @@ public class ScheduleDefinition extends BaseRootEntity { */ @Valid @Schema(name = "scheduleDefinitionStartTime", description = "The Start time of the Schedule Definition", requiredMode = Schema.RequiredMode.NOT_REQUIRED) - @JsonProperty("scheduleDefinitionStartTime") + public OffsetDateTime getScheduleDefinitionStartTime() { return scheduleDefinitionStartTime; } + + @JsonProperty("scheduleDefinitionStartTime") + public String getScheduleDefinitionStartTimeString() { + return scheduleDefinitionStartTime.toString(); + } + + + public void setScheduleDefinitionStartTime(String t) { + if ( t!= null ) { + this.scheduleDefinitionStartTime = OffsetDateTime.parse( t ); + } + } public void setScheduleDefinitionStartTime(OffsetDateTime scheduleDefinitionStartTime) { this.scheduleDefinitionStartTime = scheduleDefinitionStartTime; @@ -103,10 +112,21 @@ public class ScheduleDefinition extends BaseRootEntity { */ @Valid @Schema(name = "scheduleDefinitionEndTime", description = "The End time of the Schedule Definition. If the attribute is empty the Schedule run forever, not having a time constraint.", requiredMode = Schema.RequiredMode.NOT_REQUIRED) - @JsonProperty("scheduleDefinitionEndTime") + public OffsetDateTime getScheduleDefinitionEndTime() { return scheduleDefinitionEndTime; } + + @JsonProperty("scheduleDefinitionEndTime") + public String getScheduleDefinitionEndTimeString() { + return scheduleDefinitionEndTime.toString(); + } + + public void setScheduleDefinitionEndTime(String t) { + if ( t!= null ) { + this.scheduleDefinitionEndTime = OffsetDateTime.parse( t ); + } +} public void setScheduleDefinitionEndTime(OffsetDateTime scheduleDefinitionEndTime) { this.scheduleDefinitionEndTime = scheduleDefinitionEndTime; @@ -151,15 +171,40 @@ public class ScheduleDefinition extends BaseRootEntity { */ @Valid @Schema(name = "excludedDate", description = "A list of specific dates that should be excluded from the Schedule Definition.", requiredMode = Schema.RequiredMode.NOT_REQUIRED) - @JsonProperty("excludedDate") + public List getExcludedDate() { return excludedDate; + + } + + @JsonProperty("excludedDate") + public List getExcludedDateString() { + // Transforming List to List + List stringList = excludedDate.stream() + .map(OffsetDateTime::toString) + .collect(Collectors.toList()); + return stringList; } public void setExcludedDate(List excludedDate) { this.excludedDate = excludedDate; } + @JsonProperty("excludedDate") + public void setExcludedDateString(List excludedDate) { + this.excludedDate = excludedDate.stream() + .map(date -> { + try { + return OffsetDateTime.parse(date); + } catch (DateTimeParseException e) { + // Handle parse exception + System.err.println("Invalid date format: " + date); + return null; // or handle it as per your requirement + } + }) + .collect(Collectors.toList()); + } + public ScheduleDefinition scheduleDefinitionHourRange(String scheduleDefinitionHourRange) { this.scheduleDefinitionHourRange = scheduleDefinitionHourRange; return this; @@ -227,14 +272,39 @@ public class ScheduleDefinition extends BaseRootEntity { */ @Valid @Schema(name = "monthlyScheduleDayOfMonthDefinition", description = "The schedule definition for running the threshold job", requiredMode = Schema.RequiredMode.NOT_REQUIRED) - @JsonProperty("monthlyScheduleDayOfMonthDefinition") + public List getMonthlyScheduleDayOfMonthDefinition() { return monthlyScheduleDayOfMonthDefinition; } + + @JsonProperty("monthlyScheduleDayOfMonthDefinition") + public List getMonthlyScheduleDayOfMonthDefinitionString() { + // Transforming List to List + List stringList = monthlyScheduleDayOfMonthDefinition.stream() + .map(OffsetDateTime::toString) + .collect(Collectors.toList()); + return stringList; + } public void setMonthlyScheduleDayOfMonthDefinition(List monthlyScheduleDayOfMonthDefinition) { this.monthlyScheduleDayOfMonthDefinition = monthlyScheduleDayOfMonthDefinition; } + + @JsonProperty("monthlyScheduleDayOfMonthDefinition") + public void setMonthlyScheduleDayOfMonthDefinitionString(List monthlyScheduleDayOfMonthDefinition) { + + this.monthlyScheduleDayOfMonthDefinition = monthlyScheduleDayOfMonthDefinition.stream() + .map(date -> { + try { + return OffsetDateTime.parse(date); + } catch (DateTimeParseException e) { + // Handle parse exception + System.err.println("Invalid date format: " + date); + return null; // or handle it as per your requirement + } + }) + .collect(Collectors.toList()); + } public ScheduleDefinition monthlyScheduleDayOfWeekDefinition(MonthlyScheduleDayOfWeekDefinition monthlyScheduleDayOfWeekDefinition) { this.monthlyScheduleDayOfWeekDefinition = monthlyScheduleDayOfWeekDefinition; @@ -275,15 +345,39 @@ public class ScheduleDefinition extends BaseRootEntity { */ @Valid @Schema(name = "dateScheduleDefintion", description = "The date schedule is used to define a schedule that is based on specific dates, such as December 31st 2015, February 28th 2013", requiredMode = Schema.RequiredMode.NOT_REQUIRED) - @JsonProperty("dateScheduleDefintion") + public List getDateScheduleDefintion() { return dateScheduleDefintion; } + + @JsonProperty("dateScheduleDefintion") + public List getDateScheduleDefintionString() { + List stringList = dateScheduleDefintion.stream() + .map(OffsetDateTime::toString) + .collect(Collectors.toList()); + return stringList; + } + public void setDateScheduleDefintion(List dateScheduleDefintion) { this.dateScheduleDefintion = dateScheduleDefintion; } + @JsonProperty("dateScheduleDefintion") + public void setDateScheduleDefintionString(List dateScheduleDefintion) { + this.dateScheduleDefintion = dateScheduleDefintion.stream() + .map(date -> { + try { + return OffsetDateTime.parse(date); + } catch (DateTimeParseException e) { + // Handle parse exception + System.err.println("Invalid date format: " + date); + return null; // or handle it as per your requirement + } + }) + .collect(Collectors.toList()); + } + @Override public boolean equals(Object o) { if (this == o) { diff --git a/src/main/java/org/etsi/osl/tmf/pm628/model/ScheduleDefinitionFVO.java b/src/main/java/org/etsi/osl/tmf/pm628/model/ScheduleDefinitionFVO.java index bbb498f..8df65f1 100644 --- a/src/main/java/org/etsi/osl/tmf/pm628/model/ScheduleDefinitionFVO.java +++ b/src/main/java/org/etsi/osl/tmf/pm628/model/ScheduleDefinitionFVO.java @@ -8,9 +8,11 @@ import org.springframework.format.annotation.DateTimeFormat; import javax.annotation.Generated; import java.time.OffsetDateTime; +import java.time.format.DateTimeParseException; import java.util.ArrayList; import java.util.List; import java.util.Objects; +import java.util.stream.Collectors; /** * ScheduleDefinitionFVO @@ -29,36 +31,28 @@ public class ScheduleDefinitionFVO { @JsonProperty("@schemaLocation") private String schemaLocation; - @JsonProperty("scheduleDefinitionStartTime") @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) private OffsetDateTime scheduleDefinitionStartTime; - @JsonProperty("scheduleDefinitionEndTime") @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) private OffsetDateTime scheduleDefinitionEndTime; @JsonProperty("recurringFrequency") private String recurringFrequency; - @JsonProperty("excludedDate") @Valid private List excludedDate = new ArrayList<>(); - @JsonProperty("scheduleDefinitionHourRange") private String scheduleDefinitionHourRange; - @JsonProperty("WeeklyScheduledDefinition") @Valid private List weeklyScheduledDefinition = new ArrayList<>(); - @JsonProperty("monthlyScheduleDayOfMonthDefinition") @Valid private List monthlyScheduleDayOfMonthDefinition = new ArrayList<>(); - @JsonProperty("MonthlyScheduleDayOfWeekDefinition") private MonthlyScheduleDayOfWeekDefinitionFVO monthlyScheduleDayOfWeekDefinition; - @JsonProperty("dateScheduleDefintion") @Valid private List dateScheduleDefintion = new ArrayList<>(); @@ -144,7 +138,18 @@ public class ScheduleDefinitionFVO { */ @Valid @Schema(name = "scheduleDefinitionStartTime", description = "The Start time of the Schedule Definition", requiredMode = Schema.RequiredMode.NOT_REQUIRED) + @JsonProperty("scheduleDefinitionStartTime") + public String getScheduleDefinitionStartTimeString() { + return scheduleDefinitionStartTime.toString(); + } + + + public void setScheduleDefinitionStartTime(String t) { + if ( t!= null ) { + this.scheduleDefinitionStartTime = OffsetDateTime.parse( t ); + } + } public OffsetDateTime getScheduleDefinitionStartTime() { return scheduleDefinitionStartTime; } @@ -165,6 +170,16 @@ public class ScheduleDefinitionFVO { @Valid @Schema(name = "scheduleDefinitionEndTime", description = "The End time of the Schedule Definition. If the attribute is empty the Schedule run forever, not having a time constraint.", requiredMode = Schema.RequiredMode.NOT_REQUIRED) @JsonProperty("scheduleDefinitionEndTime") + public String getScheduleDefinitionEndTimeString() { + return scheduleDefinitionEndTime.toString(); + } + + public void setScheduleDefinitionEndTime(String t) { + if ( t!= null ) { + this.scheduleDefinitionEndTime = OffsetDateTime.parse( t ); + } +} + public OffsetDateTime getScheduleDefinitionEndTime() { return scheduleDefinitionEndTime; } @@ -213,6 +228,29 @@ public class ScheduleDefinitionFVO { @Valid @Schema(name = "excludedDate", description = "A list of specific dates that should be excluded from the Schedule Definition.", requiredMode = Schema.RequiredMode.NOT_REQUIRED) @JsonProperty("excludedDate") + public List getExcludedDateString() { + // Transforming List to List + List stringList = excludedDate.stream() + .map(OffsetDateTime::toString) + .collect(Collectors.toList()); + return stringList; + } + + + @JsonProperty("excludedDate") + public void setExcludedDateString(List excludedDate) { + this.excludedDate = excludedDate.stream() + .map(date -> { + try { + return OffsetDateTime.parse(date); + } catch (DateTimeParseException e) { + // Handle parse exception + System.err.println("Invalid date format: " + date); + return null; // or handle it as per your requirement + } + }) + .collect(Collectors.toList()); + } public List getExcludedDate() { return excludedDate; } @@ -289,6 +327,30 @@ public class ScheduleDefinitionFVO { @Valid @Schema(name = "monthlyScheduleDayOfMonthDefinition", description = "The schedule definition for running the threshold job", requiredMode = Schema.RequiredMode.NOT_REQUIRED) @JsonProperty("monthlyScheduleDayOfMonthDefinition") + public List getMonthlyScheduleDayOfMonthDefinitionString() { + // Transforming List to List + List stringList = monthlyScheduleDayOfMonthDefinition.stream() + .map(OffsetDateTime::toString) + .collect(Collectors.toList()); + return stringList; + } + + @JsonProperty("monthlyScheduleDayOfMonthDefinition") + public void setMonthlyScheduleDayOfMonthDefinitionString(List monthlyScheduleDayOfMonthDefinition) { + + this.monthlyScheduleDayOfMonthDefinition = monthlyScheduleDayOfMonthDefinition.stream() + .map(date -> { + try { + return OffsetDateTime.parse(date); + } catch (DateTimeParseException e) { + // Handle parse exception + System.err.println("Invalid date format: " + date); + return null; // or handle it as per your requirement + } + }) + .collect(Collectors.toList()); + } + public List getMonthlyScheduleDayOfMonthDefinition() { return monthlyScheduleDayOfMonthDefinition; } @@ -337,6 +399,28 @@ public class ScheduleDefinitionFVO { @Valid @Schema(name = "dateScheduleDefintion", description = "The date schedule is used to define a schedule that is based on specific dates, such as December 31st 2015, February 28th 2013", requiredMode = Schema.RequiredMode.NOT_REQUIRED) @JsonProperty("dateScheduleDefintion") + public List getDateScheduleDefintionString() { + List stringList = dateScheduleDefintion.stream() + .map(OffsetDateTime::toString) + .collect(Collectors.toList()); + return stringList; + } + + + @JsonProperty("dateScheduleDefintion") + public void setDateScheduleDefintionString(List dateScheduleDefintion) { + this.dateScheduleDefintion = dateScheduleDefintion.stream() + .map(date -> { + try { + return OffsetDateTime.parse(date); + } catch (DateTimeParseException e) { + // Handle parse exception + System.err.println("Invalid date format: " + date); + return null; // or handle it as per your requirement + } + }) + .collect(Collectors.toList()); + } public List getDateScheduleDefintion() { return dateScheduleDefintion; } diff --git a/src/main/java/org/etsi/osl/tmf/pm628/model/ScheduleDefinitionMVO.java b/src/main/java/org/etsi/osl/tmf/pm628/model/ScheduleDefinitionMVO.java index 9f4e792..1ac9419 100644 --- a/src/main/java/org/etsi/osl/tmf/pm628/model/ScheduleDefinitionMVO.java +++ b/src/main/java/org/etsi/osl/tmf/pm628/model/ScheduleDefinitionMVO.java @@ -8,9 +8,11 @@ import org.springframework.format.annotation.DateTimeFormat; import javax.annotation.Generated; import java.time.OffsetDateTime; +import java.time.format.DateTimeParseException; import java.util.ArrayList; import java.util.List; import java.util.Objects; +import java.util.stream.Collectors; /** * ScheduleDefinitionMVO @@ -32,36 +34,30 @@ public class ScheduleDefinitionMVO { @JsonProperty("uuid") private String uuid; - @JsonProperty("scheduleDefinitionStartTime") @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) private OffsetDateTime scheduleDefinitionStartTime; - @JsonProperty("scheduleDefinitionEndTime") @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) private OffsetDateTime scheduleDefinitionEndTime; @JsonProperty("recurringFrequency") private String recurringFrequency; - @JsonProperty("excludedDate") @Valid private List excludedDate = new ArrayList<>(); @JsonProperty("scheduleDefinitionHourRange") private String scheduleDefinitionHourRange; - @JsonProperty("WeeklyScheduledDefinition") @Valid private List weeklyScheduledDefinition = new ArrayList<>(); - @JsonProperty("monthlyScheduleDayOfMonthDefinition") @Valid private List monthlyScheduleDayOfMonthDefinition = new ArrayList<>(); @JsonProperty("MonthlyScheduleDayOfWeekDefinition") private MonthlyScheduleDayOfWeekDefinitionMVO monthlyScheduleDayOfWeekDefinition; - @JsonProperty("dateScheduleDefintion") @Valid private List dateScheduleDefintion = new ArrayList<>(); @@ -167,10 +163,24 @@ public class ScheduleDefinitionMVO { */ @Valid @Schema(name = "scheduleDefinitionStartTime", description = "The Start time of the Schedule Definition", requiredMode = Schema.RequiredMode.NOT_REQUIRED) + @JsonProperty("scheduleDefinitionStartTime") + public String getScheduleDefinitionStartTimeString() { + return scheduleDefinitionStartTime.toString(); + } + + + public void setScheduleDefinitionStartTime(String t) { + if ( t!= null ) { + this.scheduleDefinitionStartTime = OffsetDateTime.parse( t ); + } + } + public OffsetDateTime getScheduleDefinitionStartTime() { return scheduleDefinitionStartTime; } + + public void setScheduleDefinitionStartTime(OffsetDateTime scheduleDefinitionStartTime) { this.scheduleDefinitionStartTime = scheduleDefinitionStartTime; @@ -188,6 +198,15 @@ public class ScheduleDefinitionMVO { @Valid @Schema(name = "scheduleDefinitionEndTime", description = "The End time of the Schedule Definition. If the attribute is empty the Schedule run forever, not having a time constraint.", requiredMode = Schema.RequiredMode.NOT_REQUIRED) @JsonProperty("scheduleDefinitionEndTime") + public String getScheduleDefinitionEndTimeString() { + return scheduleDefinitionEndTime.toString(); + } + + public void setScheduleDefinitionEndTime(String t) { + if ( t!= null ) { + this.scheduleDefinitionEndTime = OffsetDateTime.parse( t ); + } +} public OffsetDateTime getScheduleDefinitionEndTime() { return scheduleDefinitionEndTime; } @@ -235,7 +254,32 @@ public class ScheduleDefinitionMVO { */ @Valid @Schema(name = "excludedDate", description = "A list of specific dates that should be excluded from the Schedule Definition.", requiredMode = Schema.RequiredMode.NOT_REQUIRED) + @JsonProperty("excludedDate") + public List getExcludedDateString() { + // Transforming List to List + List stringList = excludedDate.stream() + .map(OffsetDateTime::toString) + .collect(Collectors.toList()); + return stringList; + } + + + @JsonProperty("excludedDate") + public void setExcludedDateString(List excludedDate) { + this.excludedDate = excludedDate.stream() + .map(date -> { + try { + return OffsetDateTime.parse(date); + } catch (DateTimeParseException e) { + // Handle parse exception + System.err.println("Invalid date format: " + date); + return null; // or handle it as per your requirement + } + }) + .collect(Collectors.toList()); + } + public List getExcludedDate() { return excludedDate; } @@ -311,7 +355,31 @@ public class ScheduleDefinitionMVO { */ @Valid @Schema(name = "monthlyScheduleDayOfMonthDefinition", description = "The schedule definition for running the threshold job", requiredMode = Schema.RequiredMode.NOT_REQUIRED) + + @JsonProperty("monthlyScheduleDayOfMonthDefinition") + public List getMonthlyScheduleDayOfMonthDefinitionString() { + // Transforming List to List + List stringList = monthlyScheduleDayOfMonthDefinition.stream() + .map(OffsetDateTime::toString) + .collect(Collectors.toList()); + return stringList; + } + @JsonProperty("monthlyScheduleDayOfMonthDefinition") + public void setMonthlyScheduleDayOfMonthDefinitionString(List monthlyScheduleDayOfMonthDefinition) { + + this.monthlyScheduleDayOfMonthDefinition = monthlyScheduleDayOfMonthDefinition.stream() + .map(date -> { + try { + return OffsetDateTime.parse(date); + } catch (DateTimeParseException e) { + // Handle parse exception + System.err.println("Invalid date format: " + date); + return null; // or handle it as per your requirement + } + }) + .collect(Collectors.toList()); + } public List getMonthlyScheduleDayOfMonthDefinition() { return monthlyScheduleDayOfMonthDefinition; } @@ -359,7 +427,31 @@ public class ScheduleDefinitionMVO { */ @Valid @Schema(name = "dateScheduleDefintion", description = "The date schedule is used to define a schedule that is based on specific dates, such as December 31st 2015, February 28th 2013", requiredMode = Schema.RequiredMode.NOT_REQUIRED) + @JsonProperty("dateScheduleDefintion") + public List getDateScheduleDefintionString() { + List stringList = dateScheduleDefintion.stream() + .map(OffsetDateTime::toString) + .collect(Collectors.toList()); + return stringList; + } + + + @JsonProperty("dateScheduleDefintion") + public void setDateScheduleDefintionString(List dateScheduleDefintion) { + this.dateScheduleDefintion = dateScheduleDefintion.stream() + .map(date -> { + try { + return OffsetDateTime.parse(date); + } catch (DateTimeParseException e) { + // Handle parse exception + System.err.println("Invalid date format: " + date); + return null; // or handle it as per your requirement + } + }) + .collect(Collectors.toList()); + } + public List getDateScheduleDefintion() { return dateScheduleDefintion; } -- GitLab From e24a08945dbedc391abfd15d19fe363f64847c39 Mon Sep 17 00:00:00 2001 From: Christos Tranoris Date: Sat, 11 Jan 2025 18:43:35 +0200 Subject: [PATCH 2/2] fixes for metrico events --- .../osl/tmf/pm628/model/ManagementJob.java | 23 +++++++++++++++++-- .../osl/tmf/pm628/model/ManagementJobFVO.java | 22 ++++++++++++++++-- .../MeasurementCollectionJobCreateEvent.java | 1 - 3 files changed, 41 insertions(+), 5 deletions(-) diff --git a/src/main/java/org/etsi/osl/tmf/pm628/model/ManagementJob.java b/src/main/java/org/etsi/osl/tmf/pm628/model/ManagementJob.java index f9516f5..702c367 100644 --- a/src/main/java/org/etsi/osl/tmf/pm628/model/ManagementJob.java +++ b/src/main/java/org/etsi/osl/tmf/pm628/model/ManagementJob.java @@ -41,7 +41,6 @@ public class ManagementJob extends BaseRootEntity { @JsonProperty("adminState") private AdministrativeState adminState; - @JsonProperty("creationTime") @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) private OffsetDateTime creationTime; @@ -73,7 +72,6 @@ public class ManagementJob extends BaseRootEntity { @JsonProperty("jobPriority") private Integer jobPriority = 5; - @JsonProperty("lastModifiedTime") @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) private OffsetDateTime lastModifiedTime; @@ -130,6 +128,17 @@ public class ManagementJob extends BaseRootEntity { @Valid @Schema(name = "creationTime", description = "The measurement job creation time.", requiredMode = Schema.RequiredMode.NOT_REQUIRED) @JsonProperty("creationTime") + public String getCreationTimeStr() { + return creationTime.toString(); + } + + public void setCreationTime(String t) { + if ( t!= null ) { + this.creationTime = OffsetDateTime.parse( t ); + } + } + + public OffsetDateTime getCreationTime() { return creationTime; } @@ -268,6 +277,16 @@ public class ManagementJob extends BaseRootEntity { @Valid @Schema(name = "lastModifiedTime", description = "The last time that a measurement job was modified.", requiredMode = Schema.RequiredMode.NOT_REQUIRED) @JsonProperty("lastModifiedTime") + public String getLastModifiedTimeStr() { + return lastModifiedTime.toString(); + } + + public void setLastModifiedTime(String t) { + if ( t!= null ) { + this.lastModifiedTime = OffsetDateTime.parse( t ); + } + } + public OffsetDateTime getLastModifiedTime() { return lastModifiedTime; } diff --git a/src/main/java/org/etsi/osl/tmf/pm628/model/ManagementJobFVO.java b/src/main/java/org/etsi/osl/tmf/pm628/model/ManagementJobFVO.java index 8ac27c8..cafc616 100644 --- a/src/main/java/org/etsi/osl/tmf/pm628/model/ManagementJobFVO.java +++ b/src/main/java/org/etsi/osl/tmf/pm628/model/ManagementJobFVO.java @@ -55,7 +55,6 @@ public class ManagementJobFVO { @JsonProperty("adminState") private AdministrativeState adminState; - @JsonProperty("creationTime") @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) private OffsetDateTime creationTime; @@ -76,7 +75,6 @@ public class ManagementJobFVO { @JsonProperty("jobPriority") private Integer jobPriority = 5; - @JsonProperty("lastModifiedTime") @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) private OffsetDateTime lastModifiedTime; @@ -227,6 +225,16 @@ public class ManagementJobFVO { @Valid @Schema(name = "creationTime", description = "The measurement job creation time.", requiredMode = Schema.RequiredMode.NOT_REQUIRED) @JsonProperty("creationTime") + public String getCreationTimeStr() { + return creationTime.toString(); + } + + public void setCreationTime(String t) { + if ( t!= null ) { + this.creationTime = OffsetDateTime.parse( t ); + } + } + public OffsetDateTime getCreationTime() { return creationTime; } @@ -365,6 +373,16 @@ public class ManagementJobFVO { @Valid @Schema(name = "lastModifiedTime", description = "The last time that a measurement job was modified.", requiredMode = Schema.RequiredMode.NOT_REQUIRED) @JsonProperty("lastModifiedTime") + public String getLastModifiedTimeStr() { + return lastModifiedTime.toString(); + } + + public void setLastModifiedTime(String t) { + if ( t!= null ) { + this.lastModifiedTime = OffsetDateTime.parse( t ); + } + } + public OffsetDateTime getLastModifiedTime() { return lastModifiedTime; } diff --git a/src/main/java/org/etsi/osl/tmf/pm628/model/MeasurementCollectionJobCreateEvent.java b/src/main/java/org/etsi/osl/tmf/pm628/model/MeasurementCollectionJobCreateEvent.java index 482a5ad..e52b81f 100644 --- a/src/main/java/org/etsi/osl/tmf/pm628/model/MeasurementCollectionJobCreateEvent.java +++ b/src/main/java/org/etsi/osl/tmf/pm628/model/MeasurementCollectionJobCreateEvent.java @@ -15,7 +15,6 @@ import java.util.Objects; @Generated(value = "org.openapitools.codegen.languages.SpringCodegen", date = "2024-05-15T07:30:16.936523289Z[Etc/UTC]", comments = "Generator version: 7.6.0-SNAPSHOT") public class MeasurementCollectionJobCreateEvent extends Event{ - @JsonProperty("event") private MeasurementCollectionJobCreateEventPayload event; public MeasurementCollectionJobCreateEvent() { -- GitLab