aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--pom.xml6
-rw-r--r--src/org/traccar/model/Calendar.java12
-rw-r--r--test/org/traccar/calendar/CalendarTest.java14
3 files changed, 16 insertions, 16 deletions
diff --git a/pom.xml b/pom.xml
index b93ff8e44..3d142b7cf 100644
--- a/pom.xml
+++ b/pom.xml
@@ -144,9 +144,9 @@
<version>1.7</version>
</dependency>
<dependency>
- <groupId>org.mnode.ical4j</groupId>
- <artifactId>ical4j</artifactId>
- <version>2.0.0</version>
+ <groupId>org.mnode.ical4j</groupId>
+ <artifactId>ical4j</artifactId>
+ <version>2.0.0</version>
</dependency>
</dependencies>
diff --git a/src/org/traccar/model/Calendar.java b/src/org/traccar/model/Calendar.java
index e1ae5a93d..19b5fde16 100644
--- a/src/org/traccar/model/Calendar.java
+++ b/src/org/traccar/model/Calendar.java
@@ -55,7 +55,9 @@ public class Calendar extends Extensible {
}
public void setCalendarData(byte[] calendarData) throws IOException, ParserException, SQLException {
- setCalendar(calendarData);
+ CalendarBuilder builder = new CalendarBuilder();
+ calendar = builder.build(new ByteArrayInputStream(calendarData));
+ this.calendarData = calendarData.clone();
}
private net.fortuna.ical4j.model.Calendar calendar;
@@ -65,15 +67,9 @@ public class Calendar extends Extensible {
return calendar;
}
- public void setCalendar(byte[] calendarData) throws IOException, ParserException, SQLException {
- CalendarBuilder builder = new CalendarBuilder();
- calendar = builder.build(new ByteArrayInputStream(calendarData));
- this.calendarData = calendarData.clone();
- }
-
public boolean checkMoment(Date date) {
if (calendar != null) {
- Period period = new Period(new DateTime(date), new Dur(0, 0, 0, 1));
+ Period period = new Period(new DateTime(date), new Dur(0, 0, 0, 0));
Rule<Component> periodRule = new PeriodRule<Component>(period);
Filter<CalendarComponent> filter = new Filter<CalendarComponent>(new Rule[] {periodRule}, Filter.MATCH_ANY);
Collection<CalendarComponent> events = filter.filter(calendar.getComponents(Component.VEVENT));
diff --git a/test/org/traccar/calendar/CalendarTest.java b/test/org/traccar/calendar/CalendarTest.java
index 44fc9539b..7f5bd7d29 100644
--- a/test/org/traccar/calendar/CalendarTest.java
+++ b/test/org/traccar/calendar/CalendarTest.java
@@ -42,13 +42,17 @@ public class CalendarTest {
"END:VEVENT\n" +
"END:VCALENDAR";
Calendar calendar = new Calendar();
- calendar.setCalendar(calendarString.getBytes());
+ calendar.setCalendarData(calendarString.getBytes());
DateFormat format = new SimpleDateFormat("yyyy-MM-dd hh:mm:ssX");
-
- Date date = format.parse("2016-12-13 23:01:00+05");
+
+ Date date = format.parse("2016-12-13 22:59:59+05");
+ Assert.assertTrue(!calendar.checkMoment(date));
+ date = format.parse("2016-12-13 23:00:01+05");
+ Assert.assertTrue(calendar.checkMoment(date));
+
+ date = format.parse("2016-12-13 06:59:59+05");
Assert.assertTrue(calendar.checkMoment(date));
-
- date = format.parse("2016-12-13 07:01:00+05");
+ date = format.parse("2016-12-13 07:00:01+05");
Assert.assertTrue(!calendar.checkMoment(date));
}
}