Skip to content

Commit

Permalink
- Set period duration to 0
Browse files Browse the repository at this point in the history
- Remove setter
- Added test cases
- Style fix
  • Loading branch information
Abyss777 committed Dec 15, 2016
1 parent fff8f0c commit ef9148e
Show file tree
Hide file tree
Showing 3 changed files with 16 additions and 16 deletions.
6 changes: 3 additions & 3 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -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>

Expand Down
12 changes: 4 additions & 8 deletions src/org/traccar/model/Calendar.java
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,9 @@ public byte[] getCalendarData() throws ValidationException, IOException {
}

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;
Expand All @@ -65,15 +67,9 @@ public net.fortuna.ical4j.model.Calendar getCalendar() {
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));
Expand Down
14 changes: 9 additions & 5 deletions test/org/traccar/calendar/CalendarTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -42,13 +42,17 @@ public void testCalendar() throws IOException, ParserException, ParseException,
"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));
}
}

0 comments on commit ef9148e

Please sign in to comment.