Example usage for org.joda.time DateTime getMonthOfYear

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

Introduction

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

Prototype

public int getMonthOfYear() 

Source Link

Document

Get the month of year field value.

Usage

From source file:net.sourceforge.fenixedu.presentationTier.Action.operator.SubmitPhotoAction.java

License:Open Source License

public ActionForward photoUpload(ActionMapping mapping, ActionForm actionForm, HttpServletRequest request,
        HttpServletResponse response) throws Exception {

    PhotographUploadBean photo = getRenderedObject();
    RenderUtils.invalidateViewState();//from   w w  w . j av  a2s .  c  om
    String base64Thumbnail = request.getParameter("encodedThumbnail");
    String base64Image = request.getParameter("encodedPicture");
    if (base64Image != null && base64Thumbnail != null) {
        DateTime now = new DateTime();
        photo.setFilename("mylovelypic_" + now.getYear() + now.getMonthOfYear() + now.getDayOfMonth()
                + now.getHourOfDay() + now.getMinuteOfDay() + now.getSecondOfMinute() + ".png");
        photo.setBase64RawContent(base64Image.split(",")[1]);
        photo.setBase64RawThumbnail(base64Thumbnail.split(",")[1]);
        photo.setContentType(base64Image.split(",")[0].split(":")[1].split(";")[0]);
    }

    ActionMessages actionMessages = new ActionMessages();
    if (photo.getFileInputStream() == null) {
        actionMessages.add("error", new ActionMessage("errors.fileRequired"));
        saveMessages(request, actionMessages);
        return preparePhotoUpload(mapping, actionForm, request, response);
    }

    if (ContentType.getContentType(photo.getContentType()) == null) {
        actionMessages.add("error", new ActionMessage("errors.unsupportedFile"));
        saveMessages(request, actionMessages);
        return preparePhotoUpload(mapping, actionForm, request, response);
    }

    if (photo.getRawSize() > MAX_RAW_SIZE) {
        actionMessages.add("error", new ActionMessage("errors.fileTooLarge"));
        saveMessages(request, actionMessages);
        photo.deleteTemporaryFiles();
        return preparePhotoUpload(mapping, actionForm, request, response);
    }

    try {
        photo.processImage();
    } catch (UnableToProcessTheImage e) {
        actionMessages.add("error", new ActionMessage("errors.unableToProcessImage"));
        saveMessages(request, actionMessages);
        photo.deleteTemporaryFiles();
        return preparePhotoUpload(mapping, actionForm, request, response);
    }

    try {
        updatePersonPhoto(photo);
    } catch (Exception e) {
        actionMessages.add("error", new ActionMessage("errors.unableToSaveImage"));
        saveMessages(request, actionMessages);
        photo.deleteTemporaryFiles();
        return preparePhotoUpload(mapping, actionForm, request, response);
    }

    actionMessages.add("success", new ActionMessage("label.operator.submit.ok", ""));
    saveMessages(request, actionMessages);
    return preparePhotoUpload(mapping, actionForm, request, response);
}

From source file:net.sourceforge.fenixedu.presentationTier.Action.person.UploadPhotoDA.java

License:Open Source License

public ActionForward upload(ActionMapping mapping, ActionForm actionForm, HttpServletRequest request,
        HttpServletResponse response) throws Exception {
    PhotographUploadBean photo = getRenderedObject();
    RenderUtils.invalidateViewState();//from  ww w . ja v a  2 s  . c om
    String base64Thumbnail = request.getParameter("encodedThumbnail");
    String base64Image = request.getParameter("encodedPicture");
    if (base64Image != null && base64Thumbnail != null) {
        DateTime now = new DateTime();
        photo.setFilename("mylovelypic_" + now.getYear() + now.getMonthOfYear() + now.getDayOfMonth()
                + now.getHourOfDay() + now.getMinuteOfDay() + now.getSecondOfMinute() + ".png");
        photo.setBase64RawContent(base64Image.split(",")[1]);
        photo.setBase64RawThumbnail(base64Thumbnail.split(",")[1]);
        photo.setContentType(base64Image.split(",")[0].split(":")[1].split(";")[0]);
    }

    ActionMessages actionMessages = new ActionMessages();
    if (photo.getFileInputStream() == null) {
        actionMessages.add("fileRequired", new ActionMessage("errors.fileRequired"));
        saveMessages(request, actionMessages);
        return prepare(mapping, actionForm, request, response);
    }

    if (ContentType.getContentType(photo.getContentType()) == null) {
        actionMessages.add("fileUnsupported", new ActionMessage("errors.unsupportedFile"));
        saveMessages(request, actionMessages);
        return prepare(mapping, actionForm, request, response);
    }

    if (photo.getRawSize() > MAX_RAW_SIZE) {
        actionMessages.add("fileTooLarge", new ActionMessage("errors.fileTooLarge"));
        saveMessages(request, actionMessages);
        photo.deleteTemporaryFiles();
        return prepare(mapping, actionForm, request, response);
    }

    try {
        photo.processImage();
    } catch (UnableToProcessTheImage e) {
        actionMessages.add("unableToProcessImage", new ActionMessage("errors.unableToProcessImage"));
        saveMessages(request, actionMessages);
        photo.deleteTemporaryFiles();
        return prepare(mapping, actionForm, request, response);
    }
    photo.createTemporaryFiles();

    request.setAttribute("preview", true);
    request.setAttribute("photo", photo);
    return mapping.findForward("confirm");
}

From source file:net.sourceforge.fenixedu.presentationTier.Action.vigilancy.ConvokeManagement.java

License:Open Source License

public ActionForward confirmConvokes(ActionMapping mapping, ActionForm form, HttpServletRequest request,
        HttpServletResponse response) throws Exception {

    Boolean havingVigilantsThatAreTeachers = false;

    ConvokeBean beanWithTeachers = null;

    if (RenderUtils.getViewState("selectVigilantsThatAreTeachers") != null) {
        beanWithTeachers = (ConvokeBean) RenderUtils.getViewState("selectVigilantsThatAreTeachers")
                .getMetaObject().getObject();
    }//from  w  ww . ja va2 s .com

    ConvokeBean beanWithVigilants = (ConvokeBean) RenderUtils.getViewState("selectVigilants").getMetaObject()
            .getObject();

    ConvokeBean beanWithUnavailables = (ConvokeBean) RenderUtils
            .getViewState("selectVigilantsThatAreUnavailable").getMetaObject().getObject();

    List<VigilantWrapper> teachers = null;
    List<VigilantWrapper> vigilants, unavailables;

    if (RenderUtils.getViewState("selectVigilantsThatAreTeachers") != null) {
        teachers = beanWithTeachers.getSelectedTeachers();
    }

    vigilants = beanWithVigilants.getVigilants();
    unavailables = beanWithUnavailables.getSelectedUnavailableVigilants();

    String convokedVigilants = beanWithVigilants.getTeachersAsString();
    String teachersVigilancies = null;

    if (RenderUtils.getViewState("selectVigilantsThatAreTeachers") != null) {
        teachersVigilancies = beanWithTeachers.getVigilantsAsString();
        vigilants.addAll(teachers);
    } else {
        teachersVigilancies = RenderUtils.getResourceString("VIGILANCY_RESOURCES", "label.vigilancy.noone");
    }

    vigilants.addAll(unavailables);
    beanWithVigilants.setVigilants(vigilants);

    String email = RenderUtils.getResourceString("VIGILANCY_RESOURCES", "label.vigilancy.emailConvoke");
    MessageFormat format = new MessageFormat(email);
    WrittenEvaluation evaluation = beanWithVigilants.getWrittenEvaluation();
    DateTime beginDate = evaluation.getBeginningDateTime();
    String date = beginDate.getDayOfMonth() + "/" + beginDate.getMonthOfYear() + "/" + beginDate.getYear();

    String minutes = String.format("%02d", new Object[] { beginDate.getMinuteOfHour() });

    Object[] args = { evaluation.getFullName(), date, beginDate.getHourOfDay(), minutes,
            beanWithVigilants.getRoomsAsString(), teachersVigilancies, convokedVigilants,
            beanWithVigilants.getSelectedVigilantGroup().getRulesLink() };
    beanWithVigilants.setEmailMessage(format.format(args));
    request.setAttribute("bean", beanWithVigilants);
    return mapping.findForward("confirmConvokes");
}

From source file:net.sourceforge.fenixedu.presentationTier.docs.thesis.ThesisJuryReportDocument.java

License:Open Source License

@Override
public void fillGeneric() {
    Thesis thesis = getThesis();//from   ww w . j  a v a  2  s. c  om
    String discussed;

    if (thesis.getDiscussed() != null) {
        DateTime discussedTime = thesis.getDiscussed();
        discussed = discussedTime.getDayOfMonth() + " / " + discussedTime.getMonthOfYear() + " / "
                + discussedTime.getYear();
    } else {
        discussed = EMPTY_STR;
    }

    addParameter("date", discussed);
    addParameter("grade", neverNull(getThesis().getMark()));
}

From source file:net.sourceforge.fenixedu.presentationTier.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   w  ww  .j  av a 2 s. com
            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 MultiLanguageString 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:net.sourceforge.fenixedu.presentationTier.TagLib.GanttDiagramTagLib.java

License:Open Source License

private StringBuilder generateGanttDiagramInTotalMode(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   w ww .ja  v  a  2 s . c om*/
            builder.append("<table style=\"width:")
                    .append(tableWidth.add(BigDecimal.valueOf(FIXED_COLUMNS_SIZE_EM - 35)))
                    .append("em;\" class=\"tcalendar thlight\">");
        }
        generateHeaders(builder);

        int scale = getScale();

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

        for (GanttDiagramEvent event : getEvents()) {

            String eventUrl = getRequest().getContextPath() + getEventUrl() + "&amp;" + getEventParameter()
                    + "=" + event.getGanttDiagramEventIdentifier();
            String eventName = event.getGanttDiagramEventName().getContent(getGanttDiagramObject().getLocale());
            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>");
            }

            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("*").append(eventName);
            builder.append("</a></span></div></td>");

            for (DateTime month : getGanttDiagramObject().getMonths()) {

                DateTime firstDayOfMonth = (month.getDayOfMonth() != 1) ? month.withDayOfMonth(1) : month;
                DateTime lastDayOfMonth = firstDayOfMonth.plusMonths(1).minusDays(1);
                int monthNumberOfDays = Days.daysBetween(firstDayOfMonth, lastDayOfMonth).getDays() + 1;
                BigDecimal entryDays = EMPTY_UNIT, startDay = EMPTY_UNIT;

                builder.append("<td style=\"width: ").append(convertToEm(monthNumberOfDays * scale))
                        .append("em;\"><div style=\"position: relative;\">");

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

                    DateMidnight intervalStart = interval.getStart().toDateMidnight();
                    DateMidnight intervalEnd = interval.getEnd().toDateMidnight();

                    // Started in this month
                    if (intervalStart.getMonthOfYear() == month.getMonthOfYear()
                            && intervalStart.getYear() == month.getYear()) {

                        // Ended in this month
                        if (interval.getEnd().getMonthOfYear() == month.getMonthOfYear()
                                && intervalEnd.getYear() == month.getYear()) {

                            // Started in first day of this month
                            if (intervalStart.getDayOfMonth() == 1) {

                                // Ended in the last day of this month
                                if (intervalEnd.getDayOfMonth() == monthNumberOfDays) {
                                    entryDays = convertToEm(
                                            (Days.daysBetween(intervalStart, lastDayOfMonth).getDays() + 1)
                                                    * scale);
                                    startDay = convertToEm((intervalStart.getDayOfMonth() - 1) * scale);
                                    addSpecialDiv(builder, entryDays, startDay);
                                }

                                // Ended before last day of this month
                                else {
                                    entryDays = convertToEm(
                                            (Days.daysBetween(intervalStart, intervalEnd).getDays() + 1)
                                                    * scale);
                                    startDay = convertToEm((intervalStart.getDayOfMonth() - 1) * scale);
                                    addSpecialDiv(builder, entryDays, startDay);
                                }
                            }

                            // Started after first day of this month
                            else {

                                // Ended in the last day of this month
                                if (intervalEnd.getDayOfMonth() == monthNumberOfDays) {
                                    entryDays = convertToEm(
                                            (Days.daysBetween(intervalStart, lastDayOfMonth).getDays() + 1)
                                                    * scale);
                                    startDay = convertToEm((intervalStart.getDayOfMonth() - 1) * scale);
                                    addSpecialDiv(builder, entryDays, startDay);
                                }

                                // Ended before last day of this month
                                else {
                                    entryDays = convertToEm(
                                            (Days.daysBetween(intervalStart, intervalEnd).getDays() + 1)
                                                    * scale);
                                    startDay = convertToEm((intervalStart.getDayOfMonth() - 1) * scale);
                                    addSpecialDiv(builder, entryDays, startDay);
                                }
                            }
                        }

                        // Ended after this month
                        else {
                            entryDays = convertToEm(
                                    (Days.daysBetween(intervalStart, lastDayOfMonth).getDays() + 1) * scale);
                            startDay = convertToEm((intervalStart.getDayOfMonth() - 1) * scale);
                            addSpecialDiv(builder, entryDays, startDay);
                        }

                        // Not Started in this month
                    } else {

                        // Started before this month
                        if (intervalStart.getYear() < month.getYear()
                                || (intervalStart.getYear() == month.getYear()
                                        && intervalStart.getMonthOfYear() < month.getMonthOfYear())) {

                            // Ended after this month
                            if (intervalEnd.getYear() > month.getYear()
                                    || (intervalEnd.getYear() == month.getYear()
                                            && intervalEnd.getMonthOfYear() > month.getMonthOfYear())) {

                                entryDays = convertToEm(
                                        (Days.daysBetween(firstDayOfMonth, lastDayOfMonth).getDays() + 1)
                                                * scale);
                                startDay = convertToEm((firstDayOfMonth.getDayOfMonth() - 1) * scale);
                                addSpecialDiv(builder, entryDays, startDay);
                            } else {

                                // Ended in this month
                                if (intervalEnd.getMonthOfYear() == month.getMonthOfYear()
                                        && intervalEnd.getYear() == month.getYear()) {
                                    entryDays = convertToEm(
                                            (Days.daysBetween(firstDayOfMonth, intervalEnd).getDays() + 1)
                                                    * scale);
                                    startDay = convertToEm((firstDayOfMonth.getDayOfMonth() - 1) * scale);
                                    addSpecialDiv(builder, entryDays, startDay);
                                }
                            }
                        }
                    }
                }
                builder.append("</div></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:net.sourceforge.fenixedu.util.Month.java

License:Open Source License

public static Month fromDateTime(DateTime time) {
    return Month.values()[time.getMonthOfYear() - 1];
}

From source file:net.sourceforge.fenixedu.util.renderer.GanttDiagram.java

License:Open Source License

private void generateYearsViewAndMonths() {

    DateTime firstMonthDateTime = getFirstInstant();
    DateTime lastMontDateTime = getLastInstant();

    if (firstMonthDateTime != null && lastMontDateTime != null) {
        while ((firstMonthDateTime.getYear() < lastMontDateTime.getYear())
                || (firstMonthDateTime.getYear() == lastMontDateTime.getYear()
                        && firstMonthDateTime.getMonthOfYear() <= lastMontDateTime.getMonthOfYear())) {

            getMonths().add(firstMonthDateTime);

            if (getYearsView().containsKey(Integer.valueOf(firstMonthDateTime.getYear()))) {
                getYearsView().put(Integer.valueOf(firstMonthDateTime.getYear()),
                        getYearsView().get(Integer.valueOf(firstMonthDateTime.getYear())) + 1);
            } else {
                getYearsView().put(Integer.valueOf(firstMonthDateTime.getYear()), 1);
            }//from w  ww .j  ava 2s. co  m

            firstMonthDateTime = firstMonthDateTime.plusMonths(1);
        }
    }
}

From source file:net.tourbook.data.TourData.java

License:Open Source License

public void setWeek(final DateTime dt) {

    final int firstDayOfWeek = _prefStore.getInt(ITourbookPreferences.CALENDAR_WEEK_FIRST_DAY_OF_WEEK);
    final int minimalDaysInFirstWeek = _prefStore
            .getInt(ITourbookPreferences.CALENDAR_WEEK_MIN_DAYS_IN_FIRST_WEEK);

    _calendar.setFirstDayOfWeek(firstDayOfWeek);
    _calendar.setMinimalDaysInFirstWeek(minimalDaysInFirstWeek);

    _calendar.set(dt.getYear(), dt.getMonthOfYear() - 1, dt.getDayOfMonth());

    startWeek = (short) _calendar.get(Calendar.WEEK_OF_YEAR);
    startWeekYear = (short) Util.getYearForWeek(_calendar);
}

From source file:net.tourbook.database.TourDatabase.java

License:Open Source License

/**
 * Persist {@link TourData} in the database and updates the tour data cache with the persisted
 * tour<br>/*w  w  w.  jav  a  2  s.co m*/
 * <br>
 * When a tour has no person the tour will not be saved, a person must be set first before the
 * tour can be saved
 * 
 * @param tourData
 * @return persisted {@link TourData} or <code>null</code> when saving fails
 */
public static TourData saveTour(final TourData tourData) {

    /*
     * prevent saving a tour which was deleted before
     */
    if (tourData.isTourDeleted) {
        return null;
    }

    /*
     * prevent saving a tour when a person is not set, this check is for internal use that all
     * data are valid
     */
    if (tourData.getTourPerson() == null) {
        StatusUtil.log("Cannot save a tour without a person: " + tourData); //$NON-NLS-1$
        return null;
    }

    /*
     * check size of varcar fields
     */
    if (tourData.isValidForSave() == false) {
        return null;
    }

    final DateTime dtNow = new DateTime();

    final long dtSaved = (dtNow.getYear() * 10000000000L) + (dtNow.getMonthOfYear() * 100000000L)
            + (dtNow.getDayOfMonth() * 1000000L) + (dtNow.getHourOfDay() * 10000L)
            + (dtNow.getMinuteOfHour() * 100L) + dtNow.getSecondOfMinute();

    EntityManager em = TourDatabase.getInstance().getEntityManager();

    TourData persistedEntity = null;

    if (em != null) {

        final EntityTransaction ts = em.getTransaction();

        try {

            tourData.onPrePersist();

            ts.begin();
            {
                final TourData tourDataEntity = em.find(TourData.class, tourData.getTourId());
                if (tourDataEntity == null) {

                    // tour is not yet persisted

                    tourData.setDateTimeCreated(dtSaved);

                    em.persist(tourData);

                    persistedEntity = tourData;

                } else {

                    tourData.setDateTimeModified(dtSaved);

                    persistedEntity = em.merge(tourData);
                }
            }
            ts.commit();

        } catch (final Exception e) {

            StatusUtil.showStatus(Messages.Tour_Database_TourSaveError, e);

        } finally {
            if (ts.isActive()) {
                ts.rollback();
            }
            em.close();
        }
    }

    if (persistedEntity != null) {

        em = TourDatabase.getInstance().getEntityManager();
        try {

            persistedEntity = em.find(TourData.class, tourData.getTourId());

        } catch (final Exception e) {
            StatusUtil.log(e);
        }

        em.close();

        TourManager.getInstance().updateTourInCache(persistedEntity);
    }

    return persistedEntity;
}