From 9f75546ee8fe2ad3ab07fee7bd9503340a5174fe Mon Sep 17 00:00:00 2001 From: CGantert345 <57003061+CGantert345@users.noreply.github.com> Date: Mon, 22 Mar 2021 11:47:46 +0100 Subject: additional tests for time zones fix for fip ticket --- .../ticket/api/asn/omv1/OpenTicketData.java | 72 ++++++++++++++-------- 1 file changed, 46 insertions(+), 26 deletions(-) (limited to 'src/org/uic/barcode/ticket/api/asn/omv1/OpenTicketData.java') diff --git a/src/org/uic/barcode/ticket/api/asn/omv1/OpenTicketData.java b/src/org/uic/barcode/ticket/api/asn/omv1/OpenTicketData.java index 0e7a044..7d82232 100644 --- a/src/org/uic/barcode/ticket/api/asn/omv1/OpenTicketData.java +++ b/src/org/uic/barcode/ticket/api/asn/omv1/OpenTicketData.java @@ -595,65 +595,85 @@ public class OpenTicketData extends Object { if (this.validFromDay == null) { this.validFromDay = 0L; } - if (this.validUntilDay == null) { return null; } - - return DateTimeUtils.getDate(issuingDate, this.validFromDay + this.validUntilDay, this.validUntilTime); } - + public void addActivatedDays(Collection days) { - if (days == null || days.isEmpty()) return; - if (this.activatedDay == null) { this.activatedDay = new SequenceOfActivatedDays(); } - for (Long l : days) { this.activatedDay.add(l); } - } + /** + * Sets the activated days. + * + * @param dates the dates + * @param issuingDate the issuing date + * @param validFromDate the valid from date + */ + public void setActivatedDays(Collection dates, Date issuingDate, Date validFromDate){ + if (this.activatedDay != null) { + this.activatedDay.clear(); + } else { + this.activatedDay= new SequenceOfActivatedDays(); + } + long dateDif = 0L; + if (validFromDate != null) { + dateDif = DateTimeUtils.getDateDifference(issuingDate,validFromDate); + } + if (dates != null && !dates.isEmpty()) { + for (Date day : dates) { + this.addActivatedDay(issuingDate, dateDif, day); + } + } + } + - public void addActivatedDay(Date issuingDate, Date day){ - - Long dayDiff = DateTimeUtils.getDateDifference(issuingDate, day); - + /** + * Adds the activated day. + * + * @param issuingDate the issuing date in UTC + * @param dateOffset the date offset to be added to the issuing date + * @param day the day to be added + */ + public void addActivatedDay(Date issuingDate, long dateOffset, Date day){ + Long vDiff = DateTimeUtils.getDateDifferenceLocal(this.getValidFromDate(issuingDate), day); if (this.activatedDay == null) { this.activatedDay = new SequenceOfActivatedDays(); } - - if (dayDiff != null) { - this.activatedDay.add(dayDiff); + if (vDiff != null) { + this.activatedDay.add(vDiff); } - } + /** + * Gets the activated days. + * + * @param issuingDate the issuing date + * @return the activated days + */ public Collection getActivatedDays(Date issuingDate) { - if (this.activatedDay == null) return null; - ArrayList dates = new ArrayList(); - for (Long diff: this.getActivatedDay()) { - - Date day = DateTimeUtils.getDate(issuingDate, diff, null); - + Date day = DateTimeUtils.getDate(this.getValidFromDate(issuingDate), diff, null); if (day != null) { dates.add(day); } - - } - + } return dates; - } + + public Long getValidFromUTCOffset() { return validFromUTCOffset; } -- cgit v1.2.3