diff --git a/.gitignore b/.gitignore index 59e9a26f24c870cfd01a53a8805bb3e0ba607bbe..00277efa677def512f6f3d954d2204aadc20d188 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 72bf9f616a95dc51382e85a214919c76ff27d11a..ef8d3d59be86689c130feea2c216642e36688059 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 38c6a53afba1424e9e9df018342c363857716382..b8bfefe230ba65796f495f3a3709efa974261ed3 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 91a9489077379a5aaf0b411fc8ddebaf385506fc..15be3c35973d08528623c61e655332d22b0c7fbc 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 2172a35f3dd09fda5703387670859506a98a9cf4..8ac27c87621c6707cb2b53e1f46059dcc30be1ca 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 68ff0fa3386e44c2a7ac8c94218ff1d18a4d6da5..fce75a1ae821d4577cef8534573c0b437fce5a8a 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 db2ace70eb0fbbb69b961cac6edbfb6a8009d905..4c321c728727dc14f9aa1f06e82265b32e76948a 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 9b76533cfb1928d1b873716fae03828702090861..02d6e767aaeb5810b195369f9cccc86b108311a2 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 49d20a9af296336971121c0cf6b358d8a0c27f9a..a84bab65ea8f0a5e1cef22003e77033a5a943f81 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 383da556fe8438e554605a00de8a3ed9ae04899e..d1f799e2e85ba58b689389e8e96da7c4510ea3a4 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 570ee1546fd70f1e0130e8c34af4e2cbc862f48b..cb8ede20f185391b412c7859b00f3258d3b7f28a 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<OffsetDateTime> excludedDate = new ArrayList<>(); @@ -49,7 +48,6 @@ public class ScheduleDefinition extends BaseRootEntity { ) private List<DayOfWeekRecurrence> weeklyScheduledDefinition = new ArrayList<>(); - @JsonProperty("monthlyScheduleDayOfMonthDefinition") @Valid private List<OffsetDateTime> monthlyScheduleDayOfMonthDefinition = new ArrayList<>(); @@ -57,7 +55,6 @@ public class ScheduleDefinition extends BaseRootEntity { @Embedded private MonthlyScheduleDayOfWeekDefinition monthlyScheduleDayOfWeekDefinition; - @JsonProperty("dateScheduleDefintion") @Valid private List<OffsetDateTime> 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<OffsetDateTime> getExcludedDate() { return excludedDate; + + } + + @JsonProperty("excludedDate") + public List<String> getExcludedDateString() { + // Transforming List<OffsetDateTime> to List<String> + List<String> stringList = excludedDate.stream() + .map(OffsetDateTime::toString) + .collect(Collectors.toList()); + return stringList; } public void setExcludedDate(List<OffsetDateTime> excludedDate) { this.excludedDate = excludedDate; } + @JsonProperty("excludedDate") + public void setExcludedDateString(List<String> 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<OffsetDateTime> getMonthlyScheduleDayOfMonthDefinition() { return monthlyScheduleDayOfMonthDefinition; } + + @JsonProperty("monthlyScheduleDayOfMonthDefinition") + public List<String> getMonthlyScheduleDayOfMonthDefinitionString() { + // Transforming List<OffsetDateTime> to List<String> + List<String> stringList = monthlyScheduleDayOfMonthDefinition.stream() + .map(OffsetDateTime::toString) + .collect(Collectors.toList()); + return stringList; + } public void setMonthlyScheduleDayOfMonthDefinition(List<OffsetDateTime> monthlyScheduleDayOfMonthDefinition) { this.monthlyScheduleDayOfMonthDefinition = monthlyScheduleDayOfMonthDefinition; } + + @JsonProperty("monthlyScheduleDayOfMonthDefinition") + public void setMonthlyScheduleDayOfMonthDefinitionString(List<String> 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<OffsetDateTime> getDateScheduleDefintion() { return dateScheduleDefintion; } + + @JsonProperty("dateScheduleDefintion") + public List<String> getDateScheduleDefintionString() { + List<String> stringList = dateScheduleDefintion.stream() + .map(OffsetDateTime::toString) + .collect(Collectors.toList()); + return stringList; + } + public void setDateScheduleDefintion(List<OffsetDateTime> dateScheduleDefintion) { this.dateScheduleDefintion = dateScheduleDefintion; } + @JsonProperty("dateScheduleDefintion") + public void setDateScheduleDefintionString(List<String> 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 bbb498f3536d7f1ba9034fc0aec2d53689dcd08d..8df65f117c28d401ca7c60df7b63752e4cb97573 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<OffsetDateTime> excludedDate = new ArrayList<>(); - @JsonProperty("scheduleDefinitionHourRange") private String scheduleDefinitionHourRange; - @JsonProperty("WeeklyScheduledDefinition") @Valid private List<DayOfWeekRecurrenceFVO> weeklyScheduledDefinition = new ArrayList<>(); - @JsonProperty("monthlyScheduleDayOfMonthDefinition") @Valid private List<OffsetDateTime> monthlyScheduleDayOfMonthDefinition = new ArrayList<>(); - @JsonProperty("MonthlyScheduleDayOfWeekDefinition") private MonthlyScheduleDayOfWeekDefinitionFVO monthlyScheduleDayOfWeekDefinition; - @JsonProperty("dateScheduleDefintion") @Valid private List<OffsetDateTime> 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<String> getExcludedDateString() { + // Transforming List<OffsetDateTime> to List<String> + List<String> stringList = excludedDate.stream() + .map(OffsetDateTime::toString) + .collect(Collectors.toList()); + return stringList; + } + + + @JsonProperty("excludedDate") + public void setExcludedDateString(List<String> 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<OffsetDateTime> 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<String> getMonthlyScheduleDayOfMonthDefinitionString() { + // Transforming List<OffsetDateTime> to List<String> + List<String> stringList = monthlyScheduleDayOfMonthDefinition.stream() + .map(OffsetDateTime::toString) + .collect(Collectors.toList()); + return stringList; + } + + @JsonProperty("monthlyScheduleDayOfMonthDefinition") + public void setMonthlyScheduleDayOfMonthDefinitionString(List<String> 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<OffsetDateTime> 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<String> getDateScheduleDefintionString() { + List<String> stringList = dateScheduleDefintion.stream() + .map(OffsetDateTime::toString) + .collect(Collectors.toList()); + return stringList; + } + + + @JsonProperty("dateScheduleDefintion") + public void setDateScheduleDefintionString(List<String> 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<OffsetDateTime> 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 9f4e79279e55ce0dfe0e6a8e1c7450b1e5eab184..1ac941975d37d1882e2eb03948ab1568b905099c 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<OffsetDateTime> excludedDate = new ArrayList<>(); @JsonProperty("scheduleDefinitionHourRange") private String scheduleDefinitionHourRange; - @JsonProperty("WeeklyScheduledDefinition") @Valid private List<DayOfWeekRecurrenceMVO> weeklyScheduledDefinition = new ArrayList<>(); - @JsonProperty("monthlyScheduleDayOfMonthDefinition") @Valid private List<OffsetDateTime> monthlyScheduleDayOfMonthDefinition = new ArrayList<>(); @JsonProperty("MonthlyScheduleDayOfWeekDefinition") private MonthlyScheduleDayOfWeekDefinitionMVO monthlyScheduleDayOfWeekDefinition; - @JsonProperty("dateScheduleDefintion") @Valid private List<OffsetDateTime> 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<String> getExcludedDateString() { + // Transforming List<OffsetDateTime> to List<String> + List<String> stringList = excludedDate.stream() + .map(OffsetDateTime::toString) + .collect(Collectors.toList()); + return stringList; + } + + + @JsonProperty("excludedDate") + public void setExcludedDateString(List<String> 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<OffsetDateTime> 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<String> getMonthlyScheduleDayOfMonthDefinitionString() { + // Transforming List<OffsetDateTime> to List<String> + List<String> stringList = monthlyScheduleDayOfMonthDefinition.stream() + .map(OffsetDateTime::toString) + .collect(Collectors.toList()); + return stringList; + } + @JsonProperty("monthlyScheduleDayOfMonthDefinition") + public void setMonthlyScheduleDayOfMonthDefinitionString(List<String> 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<OffsetDateTime> 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<String> getDateScheduleDefintionString() { + List<String> stringList = dateScheduleDefintion.stream() + .map(OffsetDateTime::toString) + .collect(Collectors.toList()); + return stringList; + } + + + @JsonProperty("dateScheduleDefintion") + public void setDateScheduleDefintionString(List<String> 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<OffsetDateTime> getDateScheduleDefintion() { return dateScheduleDefintion; }