Example usage for org.joda.time DateTime getDayOfWeek

List of usage examples for org.joda.time DateTime getDayOfWeek

Introduction

In this page you can find the example usage for org.joda.time DateTime getDayOfWeek.

Prototype

public int getDayOfWeek() 

Source Link

Document

Get the day of week field value.

Usage

From source file:org.projectforge.web.timesheet.TimesheetEventsProvider.java

License:Open Source License

/**
 * @see org.projectforge.web.calendar.MyFullCalendarEventsProvider#buildEvents(org.joda.time.DateTime, org.joda.time.DateTime)
 *//*from  www  .ja v  a  2  s . com*/
@Override
protected void buildEvents(final DateTime start, final DateTime end) {
    totalDuration = 0;
    for (int i = 0; i < durationsPerDayOfMonth.length; i++) {
        durationsPerDayOfMonth[i] = 0;
    }
    for (int i = 0; i < durationsPerDayOfYear.length; i++) {
        durationsPerDayOfYear[i] = 0;
    }
    final Integer userId = calFilter.getTimesheetUserId();
    if (userId == null) {
        return;
    }
    breaksMap = new HashMap<String, TimesheetDO>();
    int breaksCounter = 0;
    final TimesheetFilter filter = new TimesheetFilter();
    filter.setUserId(userId);
    filter.setStartTime(start.toDate());
    filter.setStopTime(end.toDate());
    filter.setOrderType(OrderDirection.ASC);
    timesheets = timesheetDao.getList(filter);
    boolean longFormat = false;
    days = Days.daysBetween(start, end).getDays();
    if (days < 10) {
        // Week or day view:
        longFormat = true;
        month = null;
        firstDayOfMonth = null;
    } else {
        // Month view:
        final DateTime currentMonth = new DateTime(start.plusDays(10), PFUserContext.getDateTimeZone()); // Now we're definitely in the right
        // month.
        month = currentMonth.getMonthOfYear();
        firstDayOfMonth = currentMonth.withDayOfMonth(1);
    }
    if (CollectionUtils.isEmpty(timesheets) == false) {
        DateTime lastStopTime = null;
        for (final TimesheetDO timesheet : timesheets) {
            final DateTime startTime = new DateTime(timesheet.getStartTime(), PFUserContext.getDateTimeZone());
            final DateTime stopTime = new DateTime(timesheet.getStopTime(), PFUserContext.getDateTimeZone());
            if (stopTime.isBefore(start) == true || startTime.isAfter(end) == true) {
                // Time sheet doesn't match time period start - end.
                continue;
            }
            if (calFilter.isShowBreaks() == true) {
                if (lastStopTime != null && DateHelper.isSameDay(stopTime, lastStopTime) == true
                        && startTime.getMillis() - lastStopTime.getMillis() > 60000) {
                    // Show breaks between time sheets of one day (> 60s).
                    final Event breakEvent = new Event();
                    breakEvent.setEditable(false);
                    final String breakId = String.valueOf(++breaksCounter);
                    breakEvent.setClassName(BREAK_EVENT_CLASS_NAME).setId(breakId).setStart(lastStopTime)
                            .setEnd(startTime).setTitle(getString("timesheet.break"));
                    breakEvent.setTextColor("#666666").setBackgroundColor("#F9F9F9").setColor("#F9F9F9");
                    events.put(breakId, breakEvent);
                    final TimesheetDO breakTimesheet = new TimesheetDO().setStartDate(lastStopTime.toDate())
                            .setStopTime(startTime.getMillis());
                    breaksMap.put(breakId, breakTimesheet);
                }
                lastStopTime = stopTime;
            }
            final long duration = timesheet.getDuration();
            final MyEvent event = new MyEvent();
            final String id = "" + timesheet.getId();
            event.setClassName(EVENT_CLASS_NAME);
            event.setId(id);
            event.setStart(startTime);
            event.setEnd(stopTime);
            final String title = getTitle(timesheet);
            if (longFormat == true) {
                // Week or day view:
                event.setTitle(title + "\n" + getToolTip(timesheet) + "\n" + formatDuration(duration, false));
            } else {
                // Month view:
                event.setTitle(title);
            }
            if (month != null && startTime.getMonthOfYear() != month && stopTime.getMonthOfYear() != month) {
                // Display time sheets of other month as grey blue:
                event.setTextColor("#222222").setBackgroundColor("#ACD9E8").setColor("#ACD9E8");
            }
            events.put(id, event);
            if (month == null || startTime.getMonthOfYear() == month) {
                totalDuration += duration;
                addDurationOfDay(startTime.getDayOfMonth(), duration);
            }
            final int dayOfYear = startTime.getDayOfYear();
            addDurationOfDayOfYear(dayOfYear, duration);
            event.setTooltip(getString("timesheet"),
                    new String[][] { { title }, { timesheet.getLocation(), getString("timesheet.location") },
                            { KostFormatter.formatLong(timesheet.getKost2()), getString("fibu.kost2") },
                            { TaskFormatter.instance().getTaskPath(timesheet.getTaskId(), true,
                                    OutputType.PLAIN), getString("task") },
                            { timesheet.getDescription(), getString("description") } });
        }
    }
    if (calFilter.isShowStatistics() == true) {
        // Show statistics: duration of every day is shown as all day event.
        DateTime day = start;
        final Calendar cal = DateHelper.getCalendar();
        cal.setTime(start.toDate());
        final int numberOfDaysInYear = cal.getActualMaximum(Calendar.DAY_OF_YEAR);
        int paranoiaCounter = 0;
        do {
            if (++paranoiaCounter > 1000) {
                log.error(
                        "Paranoia counter exceeded! Dear developer, please have a look at the implementation of buildEvents.");
                break;
            }
            final int dayOfYear = day.getDayOfYear();
            final long duration = durationsPerDayOfYear[dayOfYear];
            final boolean firstDayOfWeek = day.getDayOfWeek() == PFUserContext.getJodaFirstDayOfWeek();
            if (firstDayOfWeek == false && duration == 0) {
                day = day.plusDays(1);
                continue;
            }
            final Event event = new Event().setAllDay(true);
            final String id = "s-" + (dayOfYear);
            event.setId(id);
            event.setStart(day);
            final String durationString = formatDuration(duration, false);
            if (firstDayOfWeek == true) {
                // Show week of year at top of first day of week.
                long weekDuration = 0;
                for (short i = 0; i < 7; i++) {
                    int d = dayOfYear + i;
                    if (d > numberOfDaysInYear) {
                        d -= numberOfDaysInYear;
                    }
                    weekDuration += durationsPerDayOfYear[d];
                }
                final StringBuffer buf = new StringBuffer();
                buf.append(getString("calendar.weekOfYearShortLabel")).append(DateHelper.getWeekOfYear(day));
                if (days > 1 && weekDuration > 0) {
                    // Show total sum of durations over all time sheets of current week (only in week and month view).
                    buf.append(": ").append(formatDuration(weekDuration, false));
                }
                if (duration > 0) {
                    buf.append(", ").append(durationString);
                }
                event.setTitle(buf.toString());
            } else {
                event.setTitle(durationString);
            }
            event.setTextColor("#666666").setBackgroundColor("#F9F9F9").setColor("#F9F9F9");
            event.setEditable(false);
            events.put(id, event);
            day = day.plusDays(1);
        } while (day.isAfter(end) == false);
    }
}

From source file:org.softdays.mandy.service.support.CalendarServiceImpl.java

License:Open Source License

@Override
public DateTime getFirstSundayAfterEndOfMonth(final DateTime givenDate) {
    DateTime date = givenDate.dayOfMonth().withMaximumValue();
    while (date.getDayOfWeek() != DateTimeConstants.SUNDAY) {
        date = date.plusDays(1);/*  www. ja v a 2  s.c  o m*/
    }

    return date;
}

From source file:org.unitime.timetable.export.events.EventsExportEventsToICal.java

License:Open Source License

public boolean print(ICalendar ical, EventInterface event, Status status) throws IOException {
    if (event.getType() == EventType.Unavailabile)
        return false;

    TreeSet<ICalendarMeeting> meetings = new TreeSet<ICalendarMeeting>();
    Set<Integer> days = new TreeSet<Integer>();
    if (event.hasMeetings())
        meetings: for (MeetingInterface m : event.getMeetings()) {
            if (m.isArrangeHours())
                continue;
            if (m.getApprovalStatus() != ApprovalStatus.Approved
                    && m.getApprovalStatus() != ApprovalStatus.Pending)
                continue;
            ICalendarMeeting x = new ICalendarMeeting(m, status);

            for (ICalendarMeeting icm : meetings)
                if (icm.merge(x))
                    continue meetings;
            meetings.add(x);/*from  w w w  .j a v  a 2  s .co  m*/
            days.add(x.getStart().getDayOfWeek());
        }

    if (meetings.isEmpty())
        return false;

    ICalendarMeeting first = meetings.first();

    VEvent master = new VEvent();
    master.setDateStart(first.getDateStart());
    master.setDateEnd(first.getDateEnd());
    master.setLocation(first.getLocation());
    master.setStatus(first.getStatus());
    List<VEvent> events = new ArrayList<VEvent>();
    events.add(master);

    if (meetings.size() > 1) {
        // last day of the recurrence
        DateTime until = new DateTime(meetings.last().getStart().getYear(),
                meetings.last().getStart().getMonthOfYear(), meetings.last().getStart().getDayOfMonth(),
                first.getEnd().getHourOfDay(), first.getEnd().getMinuteOfHour(),
                first.getEnd().getSecondOfMinute());
        // count meeting days
        int nrMeetingDays = 0;
        for (DateTime date = first.getStart(); !date.isAfter(until); date = date.plusDays(1)) {
            // skip days of week with no meeting
            if (days.contains(date.getDayOfWeek()))
                nrMeetingDays++;
        }
        // make sure that there is enough meeting days to cover all meetings
        while (nrMeetingDays < meetings.size()) {
            until = until.plusDays(1);
            if (days.contains(until.getDayOfWeek()))
                nrMeetingDays++;
        }

        Recurrence.Builder recur = new Recurrence.Builder(Frequency.WEEKLY);
        for (Iterator<Integer> i = days.iterator(); i.hasNext();) {
            switch (i.next()) {
            case DateTimeConstants.MONDAY:
                recur.byDay(DayOfWeek.MONDAY);
                break;
            case DateTimeConstants.TUESDAY:
                recur.byDay(DayOfWeek.TUESDAY);
                break;
            case DateTimeConstants.WEDNESDAY:
                recur.byDay(DayOfWeek.WEDNESDAY);
                break;
            case DateTimeConstants.THURSDAY:
                recur.byDay(DayOfWeek.THURSDAY);
                break;
            case DateTimeConstants.FRIDAY:
                recur.byDay(DayOfWeek.FRIDAY);
                break;
            case DateTimeConstants.SATURDAY:
                recur.byDay(DayOfWeek.SATURDAY);
                break;
            case DateTimeConstants.SUNDAY:
                recur.byDay(DayOfWeek.SUNDAY);
                break;
            }
        }
        recur.workweekStarts(DayOfWeek.MONDAY).until(until.toDate());
        master.setRecurrenceRule(recur.build());

        ExceptionDates exdates = new ExceptionDates(true);
        // for all dates till the last date
        dates: for (DateTime date = first.getStart(); !date.isAfter(until); date = date.plusDays(1)) {
            // skip days of week with no meeting
            if (!days.contains(date.getDayOfWeek()))
                continue;
            // try to find a fully matching meeting
            for (Iterator<ICalendarMeeting> i = meetings.iterator(); i.hasNext();) {
                ICalendarMeeting ics = i.next();
                if (date.getYear() == ics.getStart().getYear()
                        && date.getDayOfYear() == ics.getStart().getDayOfYear() && first.same(ics)) {
                    i.remove();
                    continue dates;
                }
            }
            // try to find a meeting that is on the same day
            for (Iterator<ICalendarMeeting> i = meetings.iterator(); i.hasNext();) {
                ICalendarMeeting ics = i.next();
                if (date.getYear() == ics.getStart().getYear()
                        && date.getDayOfYear() == ics.getStart().getDayOfYear()) {
                    VEvent x = new VEvent();
                    RecurrenceId id = new RecurrenceId(date.toDate(), true);
                    id.setLocalTime(false);
                    id.setTimezoneId(TimeZone.getDefault().getID());
                    x.setRecurrenceId(id);
                    x.setDateStart(ics.getDateStart());
                    x.setDateEnd(ics.getDateEnd());
                    x.setLocation(ics.getLocation());
                    x.setStatus(ics.getStatus());
                    events.add(x);
                    i.remove();
                    continue dates;
                }
            }
            // add exception
            exdates.addValue(date.toDate());
        }
        // process remaining meetings
        for (ICalendarMeeting ics : meetings) {
            VEvent x = new VEvent();
            x.setDateStart(ics.getDateStart());
            x.setDateEnd(ics.getDateEnd());
            x.setLocation(ics.getLocation());
            x.setStatus(ics.getStatus());
            // use exception as recurrence if there is one available
            if (!exdates.getValues().isEmpty()) {
                RecurrenceId id = new RecurrenceId(exdates.getValues().get(0), true);
                id.setLocalTime(false);
                id.setTimezoneId(TimeZone.getDefault().getID());
                x.setRecurrenceId(id);
                exdates.getValues().remove(0);
            }
            events.add(x);
        }

        if (!exdates.getValues().isEmpty())
            master.addExceptionDates(exdates);
    }

    for (VEvent vevent : events) {
        vevent.setSequence(event.getSequence());
        vevent.setUid(event.getId().toString());
        vevent.setSummary(event.getName());
        vevent.setDescription(
                event.getInstruction() != null ? event.getInstruction() : event.getType().getName(CONSTANTS));

        if (event.hasTimeStamp()) {
            DateTimeStamp ts = new DateTimeStamp(event.getTimeStamp());
            vevent.setDateTimeStamp(ts);
        }

        if (event.hasInstructors()) {
            int idx = 0;
            for (ContactInterface instructor : event.getInstructors()) {
                if (idx++ == 0) {
                    Organizer organizer = new Organizer(
                            "mailto:" + (instructor.hasEmail() ? instructor.getEmail() : ""));
                    organizer.setCommonName(instructor.getName(MESSAGES));
                    vevent.setOrganizer(organizer);
                } else {
                    Attendee attendee = new Attendee(
                            "mailto:" + (instructor.hasEmail() ? instructor.getEmail() : ""));
                    attendee.setCommonName(instructor.getName(MESSAGES));
                    attendee.setRole(Role.CHAIR);
                    vevent.addAttendee(attendee);
                }
            }
        } else if (event.hasSponsor()) {
            Organizer organizer = new Organizer(
                    "mailto:" + (event.getSponsor().hasEmail() ? event.getSponsor().getEmail() : ""));
            organizer.setCommonName(event.getSponsor().getName());
            vevent.setOrganizer(organizer);
        } else if (event.hasContact()) {
            Organizer organizer = new Organizer(
                    "mailto:" + (event.getContact().hasEmail() ? event.getContact().getEmail() : ""));
            organizer.setCommonName(event.getContact().getName(MESSAGES));
            vevent.setOrganizer(organizer);
        }
        ical.addEvent(vevent);
    }

    return true;
}

From source file:pt.ist.bennu.core.domain.scheduler.TaskConfiguration.java

License:Open Source License

public boolean shouldRunNow(DateTime now) {
    final int min = now.getMinuteOfHour();
    final int hour = now.getHourOfDay();
    final int day = now.getDayOfMonth();
    final int month = now.getMonthOfYear();
    final int dayofweek = now.getDayOfWeek();

    if (matchField(getMinute(), min) && matchField(getHour(), hour) && matchField(getDay(), day)
            && matchField(getMonth(), month) && matchField(getDayofweek(), dayofweek)) {

        final DateTime lastRun = getLastRun();
        return lastRun == null || nowIsAfterLastRun(now, lastRun);
    }//from w  ww.j a va2  s  .  c  o  m

    return false;
}

From source file:pt.ist.fenixedu.integration.api.infra.FenixAPICanteen.java

License:Open Source License

public static String get(String daySearch) {

    String locale = I18N.getLocale().toString().replace("_", "-");
    if (canteenInfo == null || canteenInfo.isJsonNull() || oldInformation()) {

        String canteenUrl = FenixEduIstIntegrationConfiguration.getConfiguration().getFenixApiCanteenUrl();
        try {//from   ww w . j ava 2s  . co m
            Response response = HTTP_CLIENT.target(canteenUrl).request(MediaType.APPLICATION_JSON)
                    .header("Authorization", getServiceAuth()).get();

            if (response.getStatus() == 200) {
                JsonParser parser = new JsonParser();
                canteenInfo = (JsonObject) parser.parse(response.readEntity(String.class));
                day = new DateTime();
            } else {
                return new JsonObject().toString();
            }
        } catch (ProcessingException e) {
            e.printStackTrace();
            return new JsonObject().toString();
        }
    }

    JsonArray jsonArrayWithLang = canteenInfo.getAsJsonArray(locale);

    DateTime dayToCompareStart;
    DateTime dayToCompareEnd;

    DateTime dateTime = DateTime.parse(daySearch, DateTimeFormat.forPattern(datePattern));
    int dayOfWeek = dateTime.getDayOfWeek();
    if (dayOfWeek != 7) {
        dayToCompareStart = dateTime.minusDays(dayOfWeek);
        dayToCompareEnd = dateTime.plusDays(7 - dayOfWeek);
    } else {
        dayToCompareStart = dateTime;
        dayToCompareEnd = dateTime.plusDays(7);
    }

    JsonArray jsonResult = new JsonArray();
    for (JsonElement jObj : jsonArrayWithLang) {

        DateTime dateToCompare = DateTime.parse(((JsonObject) jObj).get("day").getAsString(),
                DateTimeFormat.forPattern(datePattern));

        if (dateToCompare.isAfter(dayToCompareStart) && dateToCompare.isBefore(dayToCompareEnd)) {
            jsonResult.add(jObj);
        }
    }
    Gson gson = new GsonBuilder().setPrettyPrinting().create();

    return gson.toJson(jsonResult);

}

From source file:pt.ist.fenixedu.integration.api.infra.FenixAPIFromExternalServer.java

License:Open Source License

public static String getCanteen(String daySearch, String canteenName) {

    String canteenUrl = FenixEduIstIntegrationConfiguration.getConfiguration().getFenixApiCanteenUrl()
            .concat("?name=" + canteenName);
    JsonObject canteenInfo = getInformation(canteenUrl);
    String lang = I18N.getLocale().toLanguageTag();

    if (!canteenInfo.has(lang)) {
        return empty.toString();
    }// w  w  w .j av a2 s .co m
    JsonArray jsonArrayWithLang = canteenInfo.getAsJsonObject().getAsJsonArray(lang);

    DateTime dayToCompareStart;
    DateTime dayToCompareEnd;

    DateTime dateTime = DateTime.parse(daySearch, DateTimeFormat.forPattern(datePattern));
    int dayOfWeek = dateTime.getDayOfWeek();
    if (dayOfWeek != 7) {
        dayToCompareStart = dateTime.minusDays(dayOfWeek);
        dayToCompareEnd = dateTime.plusDays(7 - dayOfWeek);
    } else {
        dayToCompareStart = dateTime;
        dayToCompareEnd = dateTime.plusDays(7);
    }

    Interval validInterval = new Interval(dayToCompareStart, dayToCompareEnd);
    JsonArray jsonResult = new JsonArray();

    for (JsonElement jObj : jsonArrayWithLang) {

        DateTime dateToCompare = DateTime.parse(((JsonObject) jObj).get("day").getAsString(),
                DateTimeFormat.forPattern(datePattern));

        if (validInterval.contains(dateToCompare)) {
            jsonResult.add(jObj);
        }
    }

    return gson.toJson(jsonResult);
}

From source file:pt.utl.ist.codeGenerator.database.WrittenTestsRoomManager.java

License:Open Source License

public DateTime getNextDateTime(final ExecutionSemester executionPeriod) {
    EvaluationRoomManager evaluationRoomManager = evaluationRoomManagerMap.get(executionPeriod);
    if (evaluationRoomManager == null) {
        evaluationRoomManager = new EvaluationRoomManager(
                executionPeriod.getBeginDateYearMonthDay().plusMonths(1).toDateTimeAtMidnight(),
                executionPeriod.getEndDateYearMonthDay().minusDays(31).toDateTimeAtMidnight(), 120, this);
        evaluationRoomManagerMap.put(executionPeriod, evaluationRoomManager);
    }/*  w  w w .  j a  v a  2  s . c  om*/

    DateTime dateTime;
    Space oldRoom;

    do {
        dateTime = evaluationRoomManager.getNextDateTime();
        oldRoom = evaluationRoomManager.getNextOldRoom();

    } while (SpaceUtils.isFree(oldRoom, dateTime.toYearMonthDay(), dateTime.plusMinutes(120).toYearMonthDay(),
            new HourMinuteSecond(dateTime.getHourOfDay(), dateTime.getMinuteOfHour(),
                    dateTime.getSecondOfMinute()),
            dateTime.plusMinutes(120).getHourOfDay() == 0
                    ? new HourMinuteSecond(dateTime.plusMinutes(119).getHourOfDay(),
                            dateTime.plusMinutes(119).getMinuteOfHour(),
                            dateTime.plusMinutes(119).getSecondOfMinute())
                    : new HourMinuteSecond(dateTime.plusMinutes(120).getHourOfDay(),
                            dateTime.plusMinutes(120).getMinuteOfHour(),
                            dateTime.plusMinutes(120).getSecondOfMinute()),
            new DiaSemana(dateTime.getDayOfWeek() + 1), FrequencyType.DAILY, Boolean.TRUE, Boolean.TRUE));
    return dateTime;
}

From source file:rapture.common.USCalendar.java

License:Open Source License

public static boolean isWeekend(DateTime date) {
    return date.getDayOfWeek() > 5; // Sat=6
}

From source file:rapture.event.generator.EventGenerator.java

License:Open Source License

private static void generatePeriodic(List<String> ret, DateTime dt, boolean periodic) {
    // We guarantee that each call to this function, cal will be advanced a
    // minute at least

    int dayOfWeek = dt.getDayOfWeek();
    if (periodic) {
        checkAdd(dayOfWeek, dt.getMinuteOfHour(), minuteChecks, "minutes", "/time", ret);
        if (dt.getMinuteOfHour() == 0) {
            checkAdd(dayOfWeek, dt.getHourOfDay(), hourChecks, "hours", "/time", ret);
            if (dt.getHourOfDay() == 0) {
                ret.add("/time/days" + dt.getDayOfMonth());
                if (dt.getDayOfMonth() == 1) {
                    ret.add("/time/months" + dt.getMonthOfYear());
                }//from  ww  w.j  a  va2 s . c om
            }
        }
    }

    // We construct, for each supported timezone,
    // timezone/daily/[timezone]/hour/minute
    // timezone/weekend/ (if a weekend)
    // timezone/weekeday/ (if a weekday)
    // timezone/day

    // So initially create the end point for each timezone, then push it out
    // We assume dt is in UT (but does this matter?)

    for (Map.Entry<String, DateTimeZone> zoneEntry : timeZones.entrySet()) {
        DateTime dtLocal = dt.withZone(zoneEntry.getValue());
        String convertedZone = getConvertedTimeZone(zoneEntry.getKey());
        int localDow = dtLocal.getDayOfWeek();
        String endField = hmFormat.print(dtLocal);
        ret.add(String.format("/timezone/daily/%s/%s", convertedZone, endField));
        ret.add(String.format("/timezone/%s/%s/%s", isWeekend(localDow) ? "weekend" : "weekday", convertedZone,
                endField));
        ret.add(String.format("/timezone/%s/%s/%s", getDOWName(localDow), convertedZone, endField));
    }
}

From source file:rapture.event.generator.EventGenerator.java

License:Open Source License

public static Collection<? extends TimedEventRecord> generateWeeklyEventRecords(DateTime startDt,
        EventHelper eventHelper) {//w ww.j  a  v a  2  s .  c  om
    // Given a start date, look forward one week (7 days), showing events
    // that are at most one minute granular. Don't show periodic events
    // Do some attempt to order them correctly
    List<TimedEventRecord> records = new ArrayList<TimedEventRecord>();
    int currentDow = startDt.getDayOfWeek();
    DateTime endPoint = startDt.plusDays(7);
    DateTime current = startDt.plus(0);
    int endDow = endPoint.getDayOfWeek();
    boolean first = true;
    while (currentDow != endDow || first) {
        first = false;
        String startPoint = String.format("/timezone/%s", getDOWName(currentDow));
        List<TimedEventRecord> recs = eventHelper.filterEvent(startPoint, current);
        if (recs != null) {
            records.addAll(recs);
        }
        startPoint = "/timezone/daily";
        recs = eventHelper.filterEvent(startPoint, current);
        if (recs != null) {
            records.addAll(recs);
        }
        if (isWeekend(currentDow)) {
            startPoint = "/timezone/weekend";
            recs = eventHelper.filterEvent(startPoint, current);
        } else {
            startPoint = "/timezone/weekday";
            recs = eventHelper.filterEvent(startPoint, current);
        }
        if (recs != null) {
            records.addAll(recs);
        }
        current = current.plusDays(1);
        currentDow = current.getDayOfWeek();
    }
    return records;
}