List of usage examples for org.joda.time Interval getStart
public DateTime getStart()
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() + "&" + 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("&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(); }