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 --- build.gradle | 2 +- pom.xml | 13 ++++++------- src/main/java/org/traccar/model/Calendar.java | 15 ++++++--------- src/main/resources/ical4j.properties | 1 + 4 files changed, 14 insertions(+), 17 deletions(-) create mode 100644 src/main/resources/ical4j.properties diff --git a/build.gradle b/build.gradle index cf0113290..93871b36d 100644 --- a/build.gradle +++ b/build.gradle @@ -67,7 +67,7 @@ dependencies { implementation "org.apache.velocity:velocity:1.7" implementation "org.apache.velocity:velocity-tools:2.0" implementation "org.apache.commons:commons-collections4:4.4" - implementation "org.mnode.ical4j:ical4j:2.0.5" // needs upgrade + implementation "org.mnode.ical4j:ical4j:3.0.22" implementation "org.locationtech.spatial4j:spatial4j:0.8" implementation "org.locationtech.jts:jts-core:1.18.0" implementation "net.java.dev.jna:jna-platform:5.6.0" diff --git a/pom.xml b/pom.xml index c90bdc96e..7c4846e7c 100644 --- a/pom.xml +++ b/pom.xml @@ -184,7 +184,7 @@ org.mnode.ical4j ical4j - 2.0.5 + 3.0.22 org.locationtech.spatial4j @@ -231,6 +231,11 @@ activation 1.1.1 + + com.amazonaws + aws-java-sdk + 1.11.967 + @@ -263,12 +268,6 @@ jackson-module-jaxb-annotations 2.12.1 - - com.amazonaws - aws-java-sdk - 1.11.967 - - 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