Examples of AvailabilityTimeLine


Examples of org.libreplan.business.calendars.entities.AvailabilityTimeLine

     * @return
     */
    private static List<Gap> splitIntoGapsSatisfyingCriteria(Resource resource,
            Set<Criterion> criteria, DateAndHour gapStartTime,
            DateAndHour gapEndTime) {
        AvailabilityTimeLine criterionsAvailability = AvailabilityCalculator
                .getCriterionsAvailabilityFor(criteria, resource);
        if (gapStartTime != null) {
            criterionsAvailability.invalidUntil(gapStartTime.getDate());
        }
        if (gapEndTime != null) {
            criterionsAvailability.invalidFrom(gapEndTime.getDate());
        }
        List<Interval> validPeriods = criterionsAvailability.getValidPeriods();
        List<Gap> result = new ArrayList<Gap>();
        for (Interval each : validPeriods) {
            result.add(createGap(resource, each, gapStartTime, gapEndTime));
        }
        return result;
View Full Code Here

Examples of org.libreplan.business.calendars.entities.AvailabilityTimeLine

                        ResourcesPerDayModification resourcesPerDayModification,
                        EffortDuration effortToAllocate) {
                    ICalendar calendar = getCalendar(resourcesPerDayModification);
                    ResourcesPerDay resourcesPerDay = resourcesPerDayModification
                            .getGoal();
                    AvailabilityTimeLine availability = resourcesPerDayModification
                            .getAvailability();
                    getDirection().limitAvailabilityOn(availability,
                            dateFromWhichToAllocate);
                    return ThereAreHoursOnWorkHoursCalculator
                            .thereIsAvailableCapacityFor(calendar,
View Full Code Here

Examples of org.libreplan.business.calendars.entities.AvailabilityTimeLine

        private void allocateDurationsByDay(AllocationInterval interval,
                List<EffortDuration> durationsByDay) {
            List<EffortDuration> rightSlice = interval
                    .getRightSlice(durationsByDay);
            AvailabilityTimeLine availability = getAvailability();
            List<T> assignments = createAssignments(interval, availability,
                    rightSlice.toArray(new EffortDuration[rightSlice.size()]));
            interval.resetAssignments(assignments);
        }
View Full Code Here

Examples of org.libreplan.business.calendars.entities.AvailabilityTimeLine

                @Override
                public void allocate(List<EffortDuration> durationsByDay) {
                    List<EffortDuration> rightSlice = interval
                            .getRightSlice(durationsByDay);
                    AvailabilityTimeLine availability = getAvailability();
                    createAssignments(interval, availability,
                            rightSlice.toArray(new EffortDuration[rightSlice
                                    .size()]));
                }
View Full Code Here

Examples of org.libreplan.business.calendars.entities.AvailabilityTimeLine

            return result;
        }

        private boolean canBeFulfilled(IntraDayDate start,
                EffortDuration originalRemaining) {
            AvailabilityTimeLine availability = AvailabilityTimeLine.allValid();
            availability.invalidUntil(start.getDate());
            return calendar.thereAreCapacityFor(availability,
                    ResourcesPerDay.amount(1), originalRemaining);
        }
View Full Code Here

Examples of org.libreplan.business.calendars.entities.AvailabilityTimeLine

        protected abstract AvailabilityTimeLine getResourcesAvailability();

        private List<T> createAssignments(AllocationInterval interval,
                EffortDuration durationToAssign) {
            AvailabilityTimeLine availability = getAvailability();

            Iterable<PartialDay> days = getDays(interval.getStartInclusive(),
                    interval.getEndExclusive());
            EffortDuration[] durationsEachDay = secondsDistribution(
                    availability, days, durationToAssign);
View Full Code Here

Examples of org.libreplan.business.calendars.entities.AvailabilityTimeLine

            }
            return onlyNonZeroHours(result);
        }

        private AvailabilityTimeLine getAvailability() {
            AvailabilityTimeLine resourcesAvailability = getResourcesAvailability();
            BaseCalendar taskCalendar = getTask().getCalendar();
            if (taskCalendar != null) {
                return taskCalendar.getAvailability()
                        .and(resourcesAvailability);
            } else {
View Full Code Here

Examples of org.libreplan.business.calendars.entities.AvailabilityTimeLine

            @Override
            public Void on(ThereAreNoValidPeriods result) {
                List<Interval> calendarValidPeriods = result
                        .getSpecifiedCalendar()
                        .getAvailability().getValidPeriods();
                AvailabilityTimeLine otherAvailability = result
                        .getSpecifiedAdditionalAvailability();
                if (calendarValidPeriods.isEmpty()) {
                    throw new WrongValueException(row,
                            _("there are no valid periods for this calendar"));
                } else if (otherAvailability.getValidPeriods().isEmpty()) {
                    throw new WrongValueException(row, allocationAttempt
                            .getNoValidPeriodsMessage());
                } else {
                    throw new WrongValueException(row, allocationAttempt
                            .getNoValidPeriodsMessageDueToIntersectionMessage());
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.