Example usage for org.joda.time Interval getStart

List of usage examples for org.joda.time Interval getStart

Introduction

In this page you can find the example usage for org.joda.time Interval getStart.

Prototype

public DateTime getStart() 

Source Link

Document

Gets the start of this time interval, which is inclusive, as a DateTime.

Usage

From source file:org.atlasapi.remotesite.bbc.BbcProgrammesPolicyClient.java

License:Apache License

private Maybe<Policy> policyFromAtom(String data) {

    Set<Country> availableCountries = null;

    Matcher restrictionMatcher = RESTRICTION_PATTERN.matcher(data);

    if (restrictionMatcher.find()) {
        availableCountries = Countries.fromDelimtedList(restrictionMatcher.group(1));

    }/*from  ww w. j  av a  2s  .  c  o m*/

    Interval validRange = null;
    Matcher matcher = START_END_FORMAT.matcher(data);
    if (matcher.find()) {
        validRange = new Interval(new DateTime(matcher.group(1)), new DateTime(matcher.group(2)));
    }

    if (availableCountries != null && validRange != null) {
        Policy policy = new Policy();
        policy.setAvailableCountries(availableCountries);
        policy.setAvailabilityStart(validRange.getStart());
        policy.setAvailabilityEnd(validRange.getEnd());
        policy.setPlayer(locationPolicyIds.getIPlayerPlayerId());
        policy.setService(locationPolicyIds.getWebServiceId());
        return Maybe.just(policy);
    }

    return Maybe.nothing();
}

From source file:org.estatio.dom.utils.CalendarUtils.java

License:Apache License

/**
 * Returns an interval based on rrule which start date matches startDate
 * /*  www.ja v  a2s  .c  o m*/
 * @param startDate
 * @param rrule
 * @return
 */
public static Interval intervalMatching(final LocalDate startDate, final String rrule) {
    Interval interval = intervalContaining(startDate, rrule);
    if (interval.getStart().toLocalDate().equals(startDate)) {
        return interval;
    }
    return null;
}

From source file:org.fenixedu.academic.domain.Lesson.java

License:Open Source License

public SortedSet<Interval> getAllLessonIntervalsWithoutInstanceDates() {
    SortedSet<Interval> dates = new TreeSet<Interval>(new Comparator<Interval>() {

        @Override/* w  ww.j a v a2 s.c om*/
        public int compare(Interval o1, Interval o2) {
            return o1.getStart().compareTo(o2.getStart());
        }

    });
    if (!wasFinished()) {
        YearMonthDay startDateToSearch = getLessonStartDay();
        YearMonthDay endDateToSearch = getLessonEndDay();
        final HourMinuteSecond b = getBeginHourMinuteSecond();
        final HourMinuteSecond e = getEndHourMinuteSecond();
        for (final YearMonthDay yearMonthDay : getAllValidLessonDatesWithoutInstancesDates(startDateToSearch,
                endDateToSearch)) {
            dates.add(new Interval(toDateTime(yearMonthDay, b), toDateTime(yearMonthDay, e)));
        }
    }
    return dates;
}

From source file:org.fenixedu.academic.domain.Lesson.java

License:Open Source License

public boolean overlaps(final Interval interval) {
    if (wasFinished()) {
        return false;
    }//from   w  w w.ja  v  a 2  s .c o m
    final YearMonthDay startDateToSearch = getLessonStartDay();
    if (startDateToSearch == null) {
        return false;
    }
    final YearMonthDay endDateToSearch = getLessonEndDay();
    if (endDateToSearch == null) {
        return false;
    }
    final DateTime intervalStart = interval.getStart();
    if (intervalStart.isAfter(endDateToSearch.toDateTimeAtMidnight().plusDays(1))) {
        return false;
    }
    final DateTime intervalEnd = interval.getEnd();
    if (intervalEnd.isBefore(startDateToSearch.toDateTimeAtMidnight())) {
        return false;
    }
    final HourMinuteSecond b = getBeginHourMinuteSecond();
    final HourMinuteSecond e = getEndHourMinuteSecond();
    for (final YearMonthDay yearMonthDay : getAllValidLessonDatesWithoutInstancesDates(startDateToSearch,
            endDateToSearch)) {
        if (new Interval(toDateTime(yearMonthDay, b), toDateTime(yearMonthDay, e)).overlaps(interval)) {
            return true;
        }
    }
    return false;
}

From source file:org.fenixedu.academic.servlet.taglib.GanttDiagramTagLib.java

License:Open Source License

private StringBuilder generateGanttDiagramInTimeMode(BigDecimal tableWidth) throws JspException {
    StringBuilder builder = new StringBuilder();

    if (!getEvents().isEmpty()) {
        if (isShowPeriod() && isShowObservations()) {
            builder.append("<table style=\"width:")
                    .append(tableWidth.add(BigDecimal.valueOf(FIXED_COLUMNS_SIZE_EM)))
                    .append("em;\" class=\"tcalendar thlight\">");
        } else {//from   ww  w . ja  v a2s.c  o  m
            builder.append("<table class=\"tcalendar thlight\">");
        }

        generateHeaders(builder);

        int numberOfUnits = getNumberOfUnits();

        String selectedEvent = getRequest().getParameter(getEventParameter());
        Object selectedEventObject = getRequest().getAttribute(getEventParameter());

        for (GanttDiagramEvent event : getEvents()) {

            String eventUrl = getRequest().getContextPath() + getEventUrl() + "&amp;" + getEventParameter()
                    + "=" + event.getGanttDiagramEventIdentifier();

            if (event.getGanttDiagramEventUrlAddOns() != null) {
                eventUrl = eventUrl.concat(event.getGanttDiagramEventUrlAddOns());
            }

            final LocalizedString diagramEventName = event.getGanttDiagramEventName();
            String eventName = diagramEventName == null ? "" : diagramEventName.getContent();
            String paddingStyle = "padding-left:" + event.getGanttDiagramEventOffset() * PADDING_LEFT_MULTIPLIER
                    + "px";

            if (event.getGanttDiagramEventIdentifier().equals(selectedEvent) || (selectedEventObject != null
                    && event.getGanttDiagramEventIdentifier().equals(selectedEventObject.toString()))) {
                builder.append("<tr class=\"selected\">");
            } else {
                builder.append("<tr>");
            }

            if (getViewTypeEnum() == ViewType.YEAR_DAILY) {
                builder.append("<td class=\"padded\">").append("<div class=\"nowrap\">");
                builder.append("<span style=\"").append(paddingStyle).append("\" title=\"").append(eventName)
                        .append("\">");
                builder.append("<a href=\"").append(eventUrl).append("&amp;month=")
                        .append(Month.values()[event.getGanttDiagramEventMonth() - 1].toString()).append("\">")
                        .append(eventName);
            } else {
                builder.append("<td class=\"padded\">")
                        .append("<div style=\"overflow:hidden; width: 14.5em;\" class=\"nowrap\">");
                builder.append("<span style=\"").append(paddingStyle).append("\" title=\"").append(eventName)
                        .append("\">");
                builder.append("<a href=\"").append(eventUrl).append("\">").append(eventName);
            }
            builder.append("</a></span></div></td>");

            for (DateTime day : getGanttDiagramObject().getDays()) {

                int startIndex = 0, endIndex = 0;
                int dayOfMonth = day.getDayOfMonth();
                int monthOfYear = day.getMonthOfYear();
                if (getViewTypeEnum() == ViewType.YEAR_DAILY) {
                    monthOfYear = event.getGanttDiagramEventMonth();
                }
                int year = day.getYear();
                YearMonthDay yearMonthDay = new YearMonthDay(year, monthOfYear, 1);

                isEventToMarkWeekendsAndHolidays = event.isGanttDiagramEventToMarkWeekendsAndHolidays();

                if (!isEventToMarkWeekendsAndHolidays) {
                    builder.append("<td style=\"width: ").append(convertToEm(numberOfUnits))
                            .append("em;\"><div style=\"position: relative;\">");
                }

                if (getViewTypeEnum() == ViewType.YEAR_DAILY) {
                    if (dayOfMonth > yearMonthDay.plusMonths(1).minusDays(1).getDayOfMonth()) {
                        addEmptyDiv(builder);
                        builder.append("</div></td>");
                        continue;
                    }
                }

                specialDiv = false;

                for (Interval interval : event.getGanttDiagramEventSortedIntervals()) {

                    toWrite = null;
                    toMark = true;
                    LocalDate localDate = yearMonthDay.withDayOfMonth(dayOfMonth).toLocalDate();
                    if ((event.getGanttDiagramEventDayType(interval) == DayType.SPECIFIC_DAYS)
                            || (event.getGanttDiagramEventDayType(interval) == DayType.WORKDAY)) {
                        if ((localDate.getDayOfWeek() == SATURDAY_IN_JODA_TIME)
                                || (localDate.getDayOfWeek() == SUNDAY_IN_JODA_TIME)
                                || (Holiday.isHoliday(localDate))) {
                            toMark = false;
                        }
                    }
                    if (isEventToMarkWeekendsAndHolidays) {
                        if (Holiday.isHoliday(localDate)) {
                            toWrite = F;
                        } else if (localDate.getDayOfWeek() == SATURDAY_IN_JODA_TIME) {
                            toWrite = S;
                        } else if (localDate.getDayOfWeek() == SUNDAY_IN_JODA_TIME) {
                            toWrite = D;
                        }
                    }

                    if (interval.getStart().getYear() <= year && interval.getEnd().getYear() >= year) {

                        if (interval.getStart().getYear() < year && interval.getEnd().getYear() > year) {
                            addSpecialDiv(builder, convertToEm(numberOfUnits), EMPTY_UNIT);
                        }
                        // Started in same year and Ended after
                        else if (interval.getStart().getYear() == year && interval.getEnd().getYear() > year) {

                            if (interval.getStart().getMonthOfYear() < monthOfYear) {
                                addSpecialDiv(builder, convertToEm(numberOfUnits), EMPTY_UNIT);

                            } else if (interval.getStart().getMonthOfYear() == monthOfYear) {

                                if (interval.getStart().getDayOfMonth() == dayOfMonth) {
                                    startIndex = calculateTimeOfDay(interval.getStart());
                                    addSpecialDiv(builder, convertToEm(numberOfUnits - (startIndex - 1)),
                                            convertToEm(startIndex - 1));

                                } else if (interval.getStart().getDayOfMonth() < dayOfMonth) {
                                    addSpecialDiv(builder, convertToEm(numberOfUnits), EMPTY_UNIT);
                                }
                            }
                        }
                        // Ended in same year and started before
                        else if (interval.getStart().getYear() < year && interval.getEnd().getYear() == year) {

                            if (interval.getEnd().getMonthOfYear() > monthOfYear) {
                                addSpecialDiv(builder, convertToEm(numberOfUnits), EMPTY_UNIT);

                            } else if (interval.getEnd().getMonthOfYear() == monthOfYear) {

                                if (interval.getEnd().getDayOfMonth() > dayOfMonth) {
                                    addSpecialDiv(builder, convertToEm(numberOfUnits), EMPTY_UNIT);

                                } else if (interval.getEnd().getDayOfMonth() == dayOfMonth) {
                                    endIndex = calculateTimeOfDay(interval.getEnd());
                                    addSpecialDiv(builder, convertToEm(endIndex), EMPTY_UNIT);
                                }
                            }
                        }
                        // Ended and Started In Same Year
                        else if (interval.getStart().getYear() == year && interval.getEnd().getYear() == year) {

                            if (interval.getStart().getMonthOfYear() <= monthOfYear
                                    && interval.getEnd().getMonthOfYear() >= monthOfYear) {

                                if (interval.getStart().getMonthOfYear() == monthOfYear
                                        && interval.getEnd().getMonthOfYear() > monthOfYear) {

                                    if (interval.getStart().getDayOfMonth() == dayOfMonth) {
                                        startIndex = calculateTimeOfDay(interval.getStart());
                                        addSpecialDiv(builder, convertToEm(numberOfUnits - (startIndex - 1)),
                                                convertToEm(startIndex - 1));

                                    } else if (interval.getStart().getDayOfMonth() < dayOfMonth) {
                                        addSpecialDiv(builder, convertToEm(numberOfUnits), EMPTY_UNIT);
                                    }

                                } else if (interval.getStart().getMonthOfYear() < monthOfYear
                                        && interval.getEnd().getMonthOfYear() == monthOfYear) {

                                    if (interval.getEnd().getDayOfMonth() > dayOfMonth) {
                                        addSpecialDiv(builder, convertToEm(numberOfUnits), EMPTY_UNIT);

                                    } else if (interval.getEnd().getDayOfMonth() == dayOfMonth) {
                                        endIndex = calculateTimeOfDay(interval.getEnd());
                                        addSpecialDiv(builder, convertToEm(endIndex), EMPTY_UNIT);
                                    }

                                } else if (interval.getStart().getMonthOfYear() < monthOfYear
                                        && interval.getEnd().getMonthOfYear() > monthOfYear) {
                                    addSpecialDiv(builder, convertToEm(numberOfUnits), EMPTY_UNIT);

                                } else if (interval.getStart().getMonthOfYear() == monthOfYear
                                        && interval.getEnd().getMonthOfYear() == monthOfYear) {

                                    if (interval.getStart().getDayOfMonth() <= dayOfMonth
                                            && interval.getEnd().getDayOfMonth() >= dayOfMonth) {

                                        if (event.isGanttDiagramEventIntervalsLongerThanOneDay()
                                                && (interval.getStart().getDayOfMonth() == dayOfMonth
                                                        || interval.getEnd().getDayOfMonth() > dayOfMonth)) {
                                            startIndex = calculateTimeOfDay(interval.getStart());
                                            addSpecialDiv(builder,
                                                    convertToEm(numberOfUnits - (startIndex - 1)),
                                                    convertToEm(startIndex - 1));
                                        } else if (interval.getStart().getDayOfMonth() == dayOfMonth
                                                && interval.getEnd().getDayOfMonth() > dayOfMonth) {
                                            startIndex = calculateTimeOfDay(interval.getStart());
                                            addSpecialDiv(builder,
                                                    convertToEm(numberOfUnits - (startIndex - 1)),
                                                    convertToEm(startIndex - 1));
                                        }

                                        else if (interval.getStart().getDayOfMonth() < dayOfMonth
                                                && interval.getEnd().getDayOfMonth() == dayOfMonth) {
                                            endIndex = calculateTimeOfDay(interval.getEnd());
                                            addSpecialDiv(builder, convertToEm(endIndex), EMPTY_UNIT);
                                        }

                                        else if (interval.getStart().getDayOfMonth() == dayOfMonth
                                                && interval.getEnd().getDayOfMonth() == dayOfMonth) {

                                            startIndex = calculateTimeOfDay(interval.getStart());
                                            endIndex = calculateTimeOfDay(interval.getEnd());

                                            if (startIndex == endIndex) {
                                                addSpecialDiv(builder, convertToEm(1),
                                                        convertToEm(startIndex - 1));
                                            } else {
                                                addSpecialDiv(builder, convertToEm((endIndex - startIndex) + 1),
                                                        convertToEm(startIndex - 1));
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
                if (!isEventToMarkWeekendsAndHolidays) {
                    builder.append("</div></td>");
                } else if (!specialDiv) {
                    builder.append("<td class=\"tdnomark\">");
                    if (dayOfMonth <= yearMonthDay.plusMonths(1).minusDays(1).getDayOfMonth()) {
                        LocalDate localDate = yearMonthDay.withDayOfMonth(dayOfMonth).toLocalDate();
                        if (Holiday.isHoliday(localDate)) {
                            builder.append(F);
                        } else if (localDate.getDayOfWeek() == SATURDAY_IN_JODA_TIME) {
                            builder.append("S");
                        } else if (localDate.getDayOfWeek() == SUNDAY_IN_JODA_TIME) {
                            builder.append("D");
                        }
                    }
                    builder.append("</td>");
                }
            }
            if (isShowPeriod()) {
                builder.append("<td class=\"padded smalltxt\" title=\"")
                        .append(event.getGanttDiagramEventPeriod())
                        .append("\"><div style=\"overflow:hidden;\" class=\"nowrap\">")
                        .append(event.getGanttDiagramEventPeriod()).append("</div></td>");
            }
            if (isShowObservations()) {
                builder.append("<td class=\"padded smalltxt\">")
                        .append(event.getGanttDiagramEventObservations()).append("</td>");
            }
            builder.append("</tr>");
        }
        insertNextAndBeforeLinks(builder);
        builder.append("</table>");
    }
    return builder;
}

From source file:org.fenixedu.academic.thesis.domain.ThesisProposalsConfiguration.java

License:Open Source License

@Override
public void setProposalPeriod(org.joda.time.Interval proposalPeriod) {
    DateTime start = proposalPeriod.getStart().withSecondOfMinute(0);
    DateTime end = proposalPeriod.getEnd().withSecondOfMinute(0);

    super.setProposalPeriod(new org.joda.time.Interval(start, end));
}

From source file:org.fenixedu.academic.thesis.domain.ThesisProposalsConfiguration.java

License:Open Source License

@Override
public void setCandidacyPeriod(org.joda.time.Interval candidacyPeriod) {
    DateTime start = candidacyPeriod.getStart().withSecondOfMinute(0);
    DateTime end = candidacyPeriod.getEnd().withSecondOfMinute(0);

    super.setCandidacyPeriod(new org.joda.time.Interval(start, end));
}

From source file:org.fenixedu.learning.api.EventsResource.java

License:Open Source License

private ScheduleEventBean createEventBean(Lesson lesson, Interval interval) {
    Optional<Site> site = Optional.ofNullable(lesson.getExecutionCourse().getSite());
    String url = site.isPresent() ? site.get().getFullUrl() : "#";
    String executionCourseAcronym = lesson.getShift().getExecutionCourse().getPrettyAcronym();
    String shiftTypeAcronym = lesson.getShift().getShiftTypesCodePrettyPrint();
    String executionCourseName = lesson.getShift().getExecutionCourse().getNameI18N().getContent();
    String shifType = lesson.getShift().getShiftTypesPrettyPrint();
    Set<Space> location = lesson.getLessonSpaceOccupation() != null
            ? lesson.getLessonSpaceOccupation().getSpaces()
            : newHashSet();//from   w w  w . ja v a 2  s . c  om
    String description = executionCourseName + "( " + shifType + " )";
    return new ScheduleEventBean(executionCourseAcronym, shiftTypeAcronym, description, interval.getStart(),
            interval.getEnd(), null, url, null, null, location);
}

From source file:org.fenixedu.learning.domain.ScheduleEventBean.java

License:Open Source License

private static ScheduleEventBean scheduleEvent(Shift shift, Lesson lesson, Interval interval) {
    String shiftAcronym = shift.getShiftTypesCodePrettyPrint();
    String url = "#";
    String roomName = lesson.getSala() != null ? lesson.getSala().getName() : null;
    String shiftTypesPrettyPrint = shift.getShiftTypesPrettyPrint();
    String color = ScheduleEventBean.COLORS[shift.getSortedTypes().stream().findFirst().get().ordinal()];
    HashSet<Space> spaces = Sets.newHashSet(lesson.getSala());
    return new ScheduleEventBean(shiftAcronym, roomName, shiftTypesPrettyPrint, interval.getStart(),
            interval.getEnd(), null, url, color, null, spaces);
}

From source file:org.fenixedu.spaces.ui.services.OccupationService.java

License:Open Source License

public String getOccupations(Space space, Interval search) {
    JsonArray events = new JsonArray();
    int id = 1;/*from w w w . j av  a  2s  .  co m*/
    for (Occupation occupation : space.getOccupationSet()) {
        boolean hasEvents = false;
        for (Interval interval : occupation.getIntervals()) {
            if (interval.overlaps(search)) {
                JsonObject event = new JsonObject();
                String start = new Long(interval.getStart().getMillis() / 1000).toString();
                String end = new Long(interval.getEnd().getMillis() / 1000).toString();
                event.addProperty("id", id);
                event.addProperty("start", start);
                event.addProperty("end", end);
                event.addProperty("title", occupation.getSubject());
                String url = occupation.getUrl();
                if (url != null && !url.isEmpty()) {
                    event.addProperty("url", url);
                }
                event.addProperty("allDay", false);
                event.addProperty("backgroundColor", colors[id % colors.length]);
                event.addProperty("info", occupation.getInfo());
                events.add(event);
                if (!hasEvents) {
                    hasEvents = true;
                }
            }
        }
        if (hasEvents) {
            id++;
        }
    }
    return events.toString();
}