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 --- .../barcode/ticket/api/asn/omv1/FIPTicketData.java | 82 +++++++++++++--------- .../ticket/api/asn/omv1/OpenTicketData.java | 72 ++++++++++++------- .../uic/barcode/ticket/api/asn/omv1/PassData.java | 27 +------ 3 files changed, 98 insertions(+), 83 deletions(-) (limited to 'src/org/uic/barcode/ticket/api/asn/omv1') diff --git a/src/org/uic/barcode/ticket/api/asn/omv1/FIPTicketData.java b/src/org/uic/barcode/ticket/api/asn/omv1/FIPTicketData.java index 0171ecf..bb0d273 100644 --- a/src/org/uic/barcode/ticket/api/asn/omv1/FIPTicketData.java +++ b/src/org/uic/barcode/ticket/api/asn/omv1/FIPTicketData.java @@ -29,11 +29,15 @@ import org.uic.barcode.asn1.datatypes.Asn1Default; import org.uic.barcode.asn1.datatypes.Asn1Optional; import org.uic.barcode.asn1.datatypes.CharacterRestriction; import org.uic.barcode.asn1.datatypes.FieldOrder; +import org.uic.barcode.asn1.datatypes.HasExtensionMarker; import org.uic.barcode.asn1.datatypes.IntRange; import org.uic.barcode.asn1.datatypes.RestrictedString; +import org.uic.barcode.asn1.datatypes.Sequence; import org.uic.barcode.asn1.datatypesimpl.SequenceOfStringIA5; import org.uic.barcode.ticket.api.utils.DateTimeUtils; +@Sequence +@HasExtensionMarker public class FIPTicketData extends Object { public FIPTicketData() { } @@ -254,15 +258,12 @@ public class FIPTicketData extends Object { } public Date getValidFromDate(Date issuingDate){ - - return DateTimeUtils.getDate(issuingDate, this.validFromDay,null); - + return DateTimeUtils.getDate(issuingDate, this.validFromDay,0L); } public Date getValidUntilDate(Date issuingDate){ if (issuingDate == null) return null; - if (this.validFromDay == null) { this.validFromDay = 0L; } @@ -270,60 +271,77 @@ public class FIPTicketData extends Object { if (this.validUntilDay == null) { return null; } - - - return DateTimeUtils.getDate(issuingDate, this.validFromDay + this.validUntilDay, null); - + return DateTimeUtils.getDate(issuingDate, this.validFromDay + this.validUntilDay, 1439L); } - 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); } - } - public void addActivatedDay(Date issuingDate, Date day){ - - Long dayDiff = DateTimeUtils.getDateDifference(issuingDate, day); - + /** + * 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); + } + } + } + + /** + * 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; - } - + } 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; } diff --git a/src/org/uic/barcode/ticket/api/asn/omv1/PassData.java b/src/org/uic/barcode/ticket/api/asn/omv1/PassData.java index 1139a80..701b076 100644 --- a/src/org/uic/barcode/ticket/api/asn/omv1/PassData.java +++ b/src/org/uic/barcode/ticket/api/asn/omv1/PassData.java @@ -894,17 +894,14 @@ public class PassData extends Object { 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); } - } /** @@ -915,26 +912,20 @@ public class PassData extends Object { * @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); } - } - } /** @@ -945,19 +936,13 @@ public class PassData extends Object { * @param day the day to be added */ public void addActivatedDay(Date issuingDate, long dateOffset, Date day){ - - Long dayDiff = DateTimeUtils.getDateDifferenceLocal(issuingDate, day); - Long vDiff = DateTimeUtils.getDateDifferenceLocal(this.getValidFromDate(issuingDate), day); - if (this.activatedDay == null) { this.activatedDay = new SequenceOfActivatedDays(); } - - if (dayDiff != null) { + if (vDiff != null) { this.activatedDay.add(vDiff); } - } /** @@ -967,23 +952,15 @@ public class PassData extends Object { * @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(this.getValidFromDate(issuingDate), diff, null); - if (day != null) { dates.add(day); } - - } - + } return dates; - } /** -- cgit v1.2.3