Example usage for org.joda.time LocalDate getDayOfWeek

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

Introduction

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

Prototype

public int getDayOfWeek() 

Source Link

Document

Get the day of week field value.

Usage

From source file:org.apache.fineract.portfolio.loanaccount.service.LoanApplicationWritePlatformServiceJpaRepositoryImpl.java

License:Apache License

private void createAndPersistCalendarInstanceForInterestRecalculation(final Loan loan) {

    LocalDate calendarStartDate = loan.loanInterestRecalculationDetails().getRestFrequencyLocalDate();
    if (calendarStartDate == null) {
        calendarStartDate = loan.getExpectedDisbursedOnLocalDate();
    }/*from  w w w .  ja  v a2s . c  o  m*/
    final Integer repeatsOnDay = calendarStartDate.getDayOfWeek();
    final RecalculationFrequencyType recalculationFrequencyType = loan.loanInterestRecalculationDetails()
            .getRestFrequencyType();

    Integer frequency = loan.loanInterestRecalculationDetails().getRestInterval();
    CalendarEntityType calendarEntityType = CalendarEntityType.LOAN_RECALCULATION_REST_DETAIL;
    final String title = "loan_recalculation_detail_" + loan.loanInterestRecalculationDetails().getId();

    createCalendar(loan, calendarStartDate, repeatsOnDay, recalculationFrequencyType, frequency,
            calendarEntityType, title);

    if (loan.loanInterestRecalculationDetails().getInterestRecalculationCompoundingMethod()
            .isCompoundingEnabled()) {
        LocalDate compoundingStartDate = loan.loanInterestRecalculationDetails()
                .getCompoundingFrequencyLocalDate();
        if (compoundingStartDate == null) {
            compoundingStartDate = loan.getExpectedDisbursedOnLocalDate();
        }
        final Integer compoundingRepeatsOnDay = compoundingStartDate.getDayOfWeek();
        final RecalculationFrequencyType recalculationCompoundingFrequencyType = loan
                .loanInterestRecalculationDetails().getCompoundingFrequencyType();

        Integer compoundingFrequency = loan.loanInterestRecalculationDetails().getCompoundingInterval();
        CalendarEntityType compoundingCalendarEntityType = CalendarEntityType.LOAN_RECALCULATION_COMPOUNDING_DETAIL;
        final String compoundingCalendarTitle = "loan_recalculation_detail_compounding_frequency"
                + loan.loanInterestRecalculationDetails().getId();

        createCalendar(loan, compoundingStartDate, compoundingRepeatsOnDay,
                recalculationCompoundingFrequencyType, compoundingFrequency, compoundingCalendarEntityType,
                compoundingCalendarTitle);
    }

}

From source file:org.apache.fineract.portfolio.loanaccount.service.LoanApplicationWritePlatformServiceJpaRepositoryImpl.java

License:Apache License

private void updateRestCalendarDetailsForInterestRecalculation(final CalendarInstance calendarInstance,
        final Loan loan) {

    Calendar interestRecalculationRecurrings = calendarInstance.getCalendar();
    LocalDate calendarStartDate = loan.loanInterestRecalculationDetails().getRestFrequencyLocalDate();
    if (calendarStartDate == null) {
        calendarStartDate = loan.getExpectedDisbursedOnLocalDate();
    }/*from  w  w w.  j  a  v a2s  . c o  m*/
    final Integer repeatsOnDay = calendarStartDate.getDayOfWeek();
    final RecalculationFrequencyType recalculationFrequencyType = loan.loanInterestRecalculationDetails()
            .getRestFrequencyType();

    Integer frequency = loan.loanInterestRecalculationDetails().getRestInterval();

    updateCalendar(loan, interestRecalculationRecurrings, calendarStartDate, repeatsOnDay,
            recalculationFrequencyType, frequency);

}

From source file:org.apache.fineract.portfolio.loanaccount.service.LoanApplicationWritePlatformServiceJpaRepositoryImpl.java

License:Apache License

private void updateCompoundingCalendarDetailsForInterestRecalculation(final CalendarInstance calendarInstance,
        final Loan loan) {

    Calendar interestRecalculationRecurrings = calendarInstance.getCalendar();
    LocalDate calendarStartDate = loan.loanInterestRecalculationDetails().getCompoundingFrequencyLocalDate();
    if (calendarStartDate == null) {
        calendarStartDate = loan.getExpectedDisbursedOnLocalDate();
    }// w  w  w  .j  a va2 s.  c o m
    final Integer repeatsOnDay = calendarStartDate.getDayOfWeek();
    final RecalculationFrequencyType recalculationFrequencyType = loan.loanInterestRecalculationDetails()
            .getCompoundingFrequencyType();

    Integer frequency = loan.loanInterestRecalculationDetails().getCompoundingInterval();

    updateCalendar(loan, interestRecalculationRecurrings, calendarStartDate, repeatsOnDay,
            recalculationFrequencyType, frequency);

}

From source file:org.apache.fineract.portfolio.savings.domain.SavingsAccountCharge.java

License:Apache License

private SavingsAccountCharge(final SavingsAccount savingsAccount, final Charge chargeDefinition,
        final BigDecimal amount, final ChargeTimeType chargeTime, final ChargeCalculationType chargeCalculation,
        final LocalDate dueDate, final boolean status, MonthDay feeOnMonthDay, final Integer feeInterval) {

    this.savingsAccount = savingsAccount;
    this.charge = chargeDefinition;
    this.penaltyCharge = chargeDefinition.isPenalty();
    this.chargeTime = (chargeTime == null) ? chargeDefinition.getChargeTimeType() : chargeTime.getValue();

    if (isOnSpecifiedDueDate()) {
        if (dueDate == null) {
            final String defaultUserMessage = "Savings Account charge is missing due date.";
            throw new SavingsAccountChargeWithoutMandatoryFieldException("savingsaccount.charge",
                    dueAsOfDateParamName, defaultUserMessage, chargeDefinition.getId(),
                    chargeDefinition.getName());
        }/*from  www .ja v  a 2 s .  com*/

    }

    if (isAnnualFee() || isMonthlyFee()) {
        feeOnMonthDay = (feeOnMonthDay == null) ? chargeDefinition.getFeeOnMonthDay() : feeOnMonthDay;
        if (feeOnMonthDay == null) {
            final String defaultUserMessage = "Savings Account charge is missing due date.";
            throw new SavingsAccountChargeWithoutMandatoryFieldException("savingsaccount.charge",
                    dueAsOfDateParamName, defaultUserMessage, chargeDefinition.getId(),
                    chargeDefinition.getName());
        }

        this.feeOnMonth = feeOnMonthDay.getMonthOfYear();
        this.feeOnDay = feeOnMonthDay.getDayOfMonth();

    } else if (isWeeklyFee()) {
        if (dueDate == null) {
            final String defaultUserMessage = "Savings Account charge is missing due date.";
            throw new SavingsAccountChargeWithoutMandatoryFieldException("savingsaccount.charge",
                    dueAsOfDateParamName, defaultUserMessage, chargeDefinition.getId(),
                    chargeDefinition.getName());
        }
        /**
         * For Weekly fee feeOnDay is ISO standard day of the week.
         * Monday=1, Tuesday=2
         */
        this.feeOnDay = dueDate.getDayOfWeek();
    } else {
        this.feeOnDay = null;
        this.feeOnMonth = null;
        this.feeInterval = null;
    }

    if (isMonthlyFee() || isWeeklyFee()) {
        this.feeInterval = (feeInterval == null) ? chargeDefinition.feeInterval() : feeInterval;
    }

    this.dueDate = (dueDate == null) ? null : dueDate.toDate();

    this.chargeCalculation = chargeDefinition.getChargeCalculation();
    if (chargeCalculation != null) {
        this.chargeCalculation = chargeCalculation.getValue();
    }

    BigDecimal chargeAmount = chargeDefinition.getAmount();
    if (amount != null) {
        chargeAmount = amount;
    }

    final BigDecimal transactionAmount = new BigDecimal(0);

    populateDerivedFields(transactionAmount, chargeAmount);

    if (this.isWithdrawalFee()) {
        this.amountOutstanding = BigDecimal.ZERO;
    }

    this.paid = determineIfFullyPaid();
    this.status = status;
}

From source file:org.apache.fineract.portfolio.savings.service.DepositApplicationProcessWritePlatformServiceJpaRepositoryImpl.java

License:Apache License

private CalendarInstance getCalendarInstance(final JsonCommand command, RecurringDepositAccount account) {
    CalendarInstance calendarInstance = null;
    final boolean isCalendarInherited = command
            .booleanPrimitiveValueOfParameterNamed(isCalendarInheritedParamName);

    if (isCalendarInherited) {
        Set<Group> groups = account.getClient().getGroups();
        Long groupId = null;/*from  w  ww.j a v  a  2s .  co  m*/
        if (groups.isEmpty()) {
            final String defaultUserMessage = "Client does not belong to group/center. Cannot follow group/center meeting frequency.";
            throw new GeneralPlatformDomainRuleException(
                    "error.msg.recurring.deposit.account.cannot.create.not.belongs.to.any.groups.to.follow.meeting.frequency",
                    defaultUserMessage, account.clientId());
        } else if (groups.size() > 1) {
            final String defaultUserMessage = "Client belongs to more than one group. Cannot support recurring deposit.";
            throw new GeneralPlatformDomainRuleException(
                    "error.msg.recurring.deposit.account.cannot.create.belongs.to.multiple.groups",
                    defaultUserMessage, account.clientId());
        } else {
            Group group = groups.iterator().next();
            Group parent = group.getParent();
            Integer entityType = CalendarEntityType.GROUPS.getValue();
            if (parent != null) {
                groupId = parent.getId();
                entityType = CalendarEntityType.CENTERS.getValue();
            } else {
                groupId = group.getId();
            }
            CalendarInstance parentCalendarInstance = this.calendarInstanceRepository
                    .findByEntityIdAndEntityTypeIdAndCalendarTypeId(groupId, entityType,
                            CalendarType.COLLECTION.getValue());
            if (parentCalendarInstance == null) {
                final String defaultUserMessage = "Meeting frequency is not attached to the Group/Center to which the client belongs to.";
                throw new GeneralPlatformDomainRuleException(
                        "error.msg.meeting.frequency.not.attached.to.group.to.which.client.belongs.to",
                        defaultUserMessage, account.clientId());
            }
            calendarInstance = CalendarInstance.from(parentCalendarInstance.getCalendar(), account.getId(),
                    CalendarEntityType.SAVINGS.getValue());
        }
    } else {
        LocalDate calendarStartDate = account.depositStartDate();
        final Integer frequencyType = command
                .integerValueSansLocaleOfParameterNamed(recurringFrequencyTypeParamName);
        final PeriodFrequencyType periodFrequencyType = PeriodFrequencyType.fromInt(frequencyType);
        final Integer frequency = command.integerValueSansLocaleOfParameterNamed(recurringFrequencyParamName);

        final Integer repeatsOnDay = calendarStartDate.getDayOfWeek();
        final String title = "recurring_savings_" + account.getId();
        final Calendar calendar = Calendar.createRepeatingCalendar(title, calendarStartDate,
                CalendarType.COLLECTION.getValue(), CalendarFrequencyType.from(periodFrequencyType), frequency,
                repeatsOnDay);
        calendarInstance = CalendarInstance.from(calendar, account.getId(),
                CalendarEntityType.SAVINGS.getValue());
    }
    if (calendarInstance == null) {
        final String defaultUserMessage = "No valid recurring details available for recurring depost account creation.";
        throw new GeneralPlatformDomainRuleException(
                "error.msg.recurring.deposit.account.cannot.create.no.valid.recurring.details.available",
                defaultUserMessage, account.clientId());
    }
    return calendarInstance;
}

From source file:org.apache.fineract.portfolio.savings.service.DepositApplicationProcessWritePlatformServiceJpaRepositoryImpl.java

License:Apache License

@Transactional
@Override/*from  w w w  .  j  a v  a2s.c om*/
public CommandProcessingResult modifyRDApplication(final Long accountId, final JsonCommand command) {
    try {
        this.depositAccountDataValidator.validateRecurringDepositForUpdate(command.json());

        final boolean isSavingsInterestPostingAtCurrentPeriodEnd = this.configurationDomainService
                .isSavingsInterestPostingAtCurrentPeriodEnd();
        final Integer financialYearBeginningMonth = this.configurationDomainService
                .retrieveFinancialYearBeginningMonth();

        final Map<String, Object> changes = new LinkedHashMap<>(20);

        final RecurringDepositAccount account = (RecurringDepositAccount) this.depositAccountAssembler
                .assembleFrom(accountId, DepositAccountType.RECURRING_DEPOSIT);
        checkClientOrGroupActive(account);
        account.modifyApplication(command, changes);
        account.validateNewApplicationState(DateUtils.getLocalDateOfTenant(),
                DepositAccountType.RECURRING_DEPOSIT.resourceName());

        if (!changes.isEmpty()) {
            updateFDAndRDCommonChanges(changes, command, account);
            final MathContext mc = MathContext.DECIMAL64;
            final CalendarInstance calendarInstance = this.calendarInstanceRepository
                    .findByEntityIdAndEntityTypeIdAndCalendarTypeId(accountId,
                            CalendarEntityType.SAVINGS.getValue(), CalendarType.COLLECTION.getValue());
            final Calendar calendar = calendarInstance.getCalendar();
            final PeriodFrequencyType frequencyType = CalendarFrequencyType
                    .from(CalendarUtils.getFrequency(calendar.getRecurrence()));
            Integer frequency = CalendarUtils.getInterval(calendar.getRecurrence());
            frequency = frequency == -1 ? 1 : frequency;
            account.generateSchedule(frequencyType, frequency, calendar);
            final boolean isPreMatureClosure = false;
            account.updateMaturityDateAndAmount(mc, isPreMatureClosure,
                    isSavingsInterestPostingAtCurrentPeriodEnd, financialYearBeginningMonth);
            account.validateApplicableInterestRate();
            this.savingAccountRepository.save(account);

        }

        // update calendar details
        if (!account.isCalendarInherited()) {
            final LocalDate calendarStartDate = account.depositStartDate();
            final Integer frequencyType = command
                    .integerValueSansLocaleOfParameterNamed(recurringFrequencyTypeParamName);
            final PeriodFrequencyType periodFrequencyType = PeriodFrequencyType.fromInt(frequencyType);
            final Integer frequency = command
                    .integerValueSansLocaleOfParameterNamed(recurringFrequencyParamName);
            final Integer repeatsOnDay = calendarStartDate.getDayOfWeek();

            CalendarInstance calendarInstance = this.calendarInstanceRepository
                    .findByEntityIdAndEntityTypeIdAndCalendarTypeId(accountId,
                            CalendarEntityType.SAVINGS.getValue(), CalendarType.COLLECTION.getValue());
            Calendar calendar = calendarInstance.getCalendar();
            calendar.updateRepeatingCalendar(calendarStartDate, CalendarFrequencyType.from(periodFrequencyType),
                    frequency, repeatsOnDay);
            this.calendarInstanceRepository.save(calendarInstance);
        }

        return new CommandProcessingResultBuilder() //
                .withCommandId(command.commandId()) //
                .withEntityId(accountId) //
                .withOfficeId(account.officeId()) //
                .withClientId(account.clientId()) //
                .withGroupId(account.groupId()) //
                .withSavingsId(accountId) //
                .with(changes) //
                .build();
    } catch (final DataAccessException dve) {
        handleDataIntegrityIssues(command, dve);
        return new CommandProcessingResult(Long.valueOf(-1));
    }
}

From source file:org.apereo.portlet.hr.demo.timereporting.dao.DemoStaffTimeReportingImpl.java

License:Apache License

private void initializeForEmployeeIfNeeded(String emplId) {
    // All employees have a leave balance and sick balance setup
    if (emplLeaveBalances.get(emplId) == null) {
        List<JobCodeTime> leaveBalances = new ArrayList<JobCodeTime>();
        leaveBalances.add(new JobCodeTime(SICK, 215 * 60 + 4)); // 215 hours, 4 min
        leaveBalances.add(new JobCodeTime(VACATION, 64 * 60 + 10)); //64:10
        emplLeaveBalances.put(emplId, leaveBalances);
    }/*from w w w  .  ja v  a 2  s .c om*/

    // Add work entries for the employee.
    if (emplWorkEntries.get(emplId) == null) {
        LocalDate startDate = calculatePayperiodStartDate(new LocalDate());
        LocalDate tomorrow = new LocalDate().plusDays(1);
        List<TimePeriodEntry> items = new ArrayList<TimePeriodEntry>();
        // Create entries for 1 pay period back through current
        for (int i = -DAYS_IN_PAY_PERIOD; i < DAYS_IN_PAY_PERIOD; i++) {
            LocalDate date = startDate.plusDays(i);
            // For previous pay period, worked 7 hours a day. For current pay period, hours is based on
            // day of week + 15 minutes, up through today.  // Skip Sat and Sun since they by default don't display.
            int timeWorked = i < 0 ? 7 * 60 : date.getDayOfWeek() * 60 + 15;
            if (date.getDayOfWeek() < 6 && date.isBefore(tomorrow)) {
                items.add(new TimePeriodEntry(date, WORKED, timeWorked));
            }
        }
        emplWorkEntries.put(emplId, items);
    }

    if (emplLeaveEntries.get(emplId) == null) {
        emplLeaveEntries.put(emplId, new ArrayList<TimePeriodEntry>());
    }
}

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  w  w  w  .  ja va 2s  .co  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.treasury.domain.tariff.InterestRate.java

License:Open Source License

private boolean isSaturday(final LocalDate date) {
    return date.getDayOfWeek() == DateTimeConstants.SATURDAY;
}

From source file:org.fenixedu.treasury.domain.tariff.InterestRate.java

License:Open Source License

private boolean isSunday(final LocalDate date) {
    return date.getDayOfWeek() == DateTimeConstants.SUNDAY;
}