From a523c86bed9b046d3c6164c8d94632cf3b64a8e9 Mon Sep 17 00:00:00 2001 From: Anton Tananaev Date: Sat, 3 Apr 2021 22:40:43 -0700 Subject: Upgrade calendar library --- src/main/java/org/traccar/model/Calendar.java | 15 ++++++--------- src/main/resources/ical4j.properties | 1 + 2 files changed, 7 insertions(+), 9 deletions(-) create mode 100644 src/main/resources/ical4j.properties (limited to 'src') diff --git a/src/main/java/org/traccar/model/Calendar.java b/src/main/java/org/traccar/model/Calendar.java index 56d3eb74c..2476efa0a 100644 --- a/src/main/java/org/traccar/model/Calendar.java +++ b/src/main/java/org/traccar/model/Calendar.java @@ -1,5 +1,5 @@ /* - * Copyright 2016 Anton Tananaev (anton@traccar.org) + * Copyright 2016 - 2021 Anton Tananaev (anton@traccar.org) * Copyright 2016 Andrey Kunitsyn (andrey@traccar.org) * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -18,6 +18,7 @@ package org.traccar.model; import java.io.ByteArrayInputStream; import java.io.IOException; +import java.time.Duration; import java.util.Collection; import java.util.Date; @@ -28,10 +29,9 @@ import net.fortuna.ical4j.data.ParserException; import net.fortuna.ical4j.filter.Filter; import net.fortuna.ical4j.filter.PeriodRule; import net.fortuna.ical4j.model.DateTime; -import net.fortuna.ical4j.model.Dur; import net.fortuna.ical4j.model.Period; +import net.fortuna.ical4j.model.TimeZoneRegistryImpl; import net.fortuna.ical4j.model.component.CalendarComponent; -import org.apache.commons.collections4.Predicate; import org.traccar.database.QueryIgnore; public class Calendar extends ExtendedModel { @@ -68,13 +68,10 @@ public class Calendar extends ExtendedModel { public boolean checkMoment(Date date) { if (calendar != null) { - Period period = new Period(new DateTime(date), new Dur(0, 0, 0, 0)); - Predicate periodRule = new PeriodRule<>(period); - Filter filter = new Filter<>(new Predicate[] {periodRule}, Filter.MATCH_ANY); + Period period = new Period(new DateTime(date), Duration.ZERO); + Filter filter = new Filter<>(new PeriodRule<>(period)); Collection events = filter.filter(calendar.getComponents(CalendarComponent.VEVENT)); - if (events != null && !events.isEmpty()) { - return true; - } + return events != null && !events.isEmpty(); } return false; } diff --git a/src/main/resources/ical4j.properties b/src/main/resources/ical4j.properties new file mode 100644 index 000000000..a08674709 --- /dev/null +++ b/src/main/resources/ical4j.properties @@ -0,0 +1 @@ +net.fortuna.ical4j.timezone.cache.impl=net.fortuna.ical4j.util.MapTimeZoneCache -- cgit v1.2.3