Examples of AvailabilityTimeLine


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

                : AvailabilityTimeLine.allValid();
    }

    public static AvailabilityTimeLine buildSumOfAvailabilitiesFor(
            Collection<? extends Criterion> criterions, List<Resource> resources) {
        AvailabilityTimeLine result = AvailabilityTimeLine.createAllInvalid();
        for (Resource each : resources) {
            result = result.or(AvailabilityCalculator.availabilityFor(
                    criterions, each));
        }
        return result;
    }
View Full Code Here

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

        return result;
    }

    public static AvailabilityTimeLine availabilityFor(
            Collection<? extends Criterion> criterions, Resource each) {
        AvailabilityTimeLine result = AvailabilityTimeLine.allValid();
        result = result.and(getCalendarAvailabilityFor(each));
        return result.and(getCriterionsAvailabilityFor(criterions, each));
    }
View Full Code Here

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

        return result.and(getCriterionsAvailabilityFor(criterions, each));
    }

    public static AvailabilityTimeLine getCriterionsAvailabilityFor(
            Collection<? extends Criterion> criterions, Resource resource) {
        AvailabilityTimeLine result = AvailabilityTimeLine.allValid();
        for (Criterion each : criterions) {
            result = result.and(buildTimeline(resource
                    .getSatisfactionsFor(each)));
        }
        return result;
    }
View Full Code Here

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

    private static AvailabilityTimeLine buildTimeline(
            List<CriterionSatisfaction> satisfactions) {
        if (satisfactions.isEmpty()) {
            return AvailabilityTimeLine.createAllInvalid();
        }
        AvailabilityTimeLine result = AvailabilityTimeLine.allValid();
        LocalDate previousEnd = null;
        for (CriterionSatisfaction each : satisfactions) {
            LocalDate startDate = each.getStartDate();
            assert startDate != null : "satisfactions start date is not null";
            if (previousEnd == null) {
                result.invalidUntil(startDate);
            } else {
                result.invalidAt(previousEnd, startDate);
            }
            previousEnd = each.getEndDate();
            if (previousEnd == null) {
                break;
            }
        }
        if (previousEnd != null) {
            result.invalidFrom(previousEnd);
        }
        return result;
    }
View Full Code Here

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

                18), hours(6))));
    }

    @Test
    public void ifNoAvailableHoursTheAllocationsAreNotSatisfied() {
        AvailabilityTimeLine availability = AvailabilityTimeLine.allValid();
        availability.invalidUntil(new LocalDate(2010, 11, 13));
        availability.invalidFrom(new LocalDate(2010, 11, 15));
        givenCalendarWithAvailability(availability, hours(8));
        givenSpecificAllocations(ResourcesPerDay.amount(1));
        ResourceAllocation.allocating(allocations).untilAllocating(hours(24));
        for (ResourcesPerDayModification each : allocations) {
            assertTrue(each.getBeingModified().isUnsatisfied());
View Full Code Here

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

        }
    }

    @Test
    public void ifAvailableHoursTheAllocationsAreSatisfied() {
        AvailabilityTimeLine availability = AvailabilityTimeLine.allValid();
        availability.invalidUntil(new LocalDate(2010, 11, 13));
        availability.invalidFrom(new LocalDate(2010, 11, 15));
        givenCalendarWithAvailability(availability, hours(8));
        givenSpecificAllocations(ResourcesPerDay.amount(1));
        ResourceAllocation.allocating(allocations).untilAllocating(hours(16));
        for (ResourcesPerDayModification each : allocations) {
            assertTrue(each.getBeingModified().isSatisfied());
View Full Code Here

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

    }

    @Test
    public void ifNoAllocationsCantBeDoneTheTaskEndIsReturned() {
        givenTaskOfDaysLength(10);
        AvailabilityTimeLine availability = AvailabilityTimeLine.allValid();
        availability.invalidUntil(new LocalDate(2010, 11, 13));
        availability.invalidFrom(new LocalDate(2010, 11, 15));
        givenCalendarWithAvailability(availability, hours(8));
        givenSpecificAllocations(ResourcesPerDay.amount(1));
        IntraDayDate end = ResourceAllocation.allocating(allocations)
                .untilAllocating(hours(17));
        IntraDayDate expectedEnd = IntraDayDate.startOfDay(task
View Full Code Here

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

        this.initialLengthDaysForTask = days;
    }

    @Test
    public void theAllocationsThatAreNotSatisfiedAreNotified() {
        AvailabilityTimeLine availability = AvailabilityTimeLine.allValid();
        availability.invalidUntil(new LocalDate(2010, 11, 13));
        availability.invalidFrom(new LocalDate(2010, 11, 15));
        givenCalendarWithAvailability(availability, hours(8));
        givenSpecificAllocations(ResourcesPerDay.amount(1),
                ResourcesPerDay.amount(2));
        INotFulfilledReceiver receiver = createMock(INotFulfilledReceiver.class);
        receiver.cantFulfill(isA(ResourcesPerDayModification.class),
View Full Code Here

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

                        isA(ResourcesPerDay.class), isA(EffortDuration.class)))
                .andAnswer(new IAnswer<Boolean>() {

                    @Override
                    public Boolean answer() throws Throwable {
                        AvailabilityTimeLine availability = (AvailabilityTimeLine) getCurrentArguments()[0];
                        ResourcesPerDay resourcesPerDay = (ResourcesPerDay) getCurrentArguments()[1];
                        EffortDuration effortDuration = (EffortDuration) getCurrentArguments()[2];
                        return ThereAreHoursOnWorkHoursCalculator
                                .thereIsAvailableCapacityFor(result,
                                        availability, resourcesPerDay,
View Full Code Here

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

        return result;
    }

    private List<Interval> getIntervalsThisAllocationInterferesWith(
            Criterion criterion) {
        AvailabilityTimeLine availability = AvailabilityCalculator
                .getCriterionsAvailabilityFor(Collections.singleton(criterion),
                        resource);
        availability.invalidUntil(getStartDate());
        availability.invalidFrom(getEndDate());
        return availability.getValidPeriods();
    }
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.