Examples of LimitingResourceQueueElement


Examples of org.libreplan.business.planner.limiting.entities.LimitingResourceQueueElement

    }

    @Test
    @Transactional
    public void testIsLimiting() {
        LimitingResourceQueueElement element = LimitingResourceQueueElement.create();
        Task task = createValidTask();
        SpecificResourceAllocation resourceAllocation = SpecificResourceAllocation.create(task);
        resourceAllocation.setLimitingResourceQueueElement(element);
        task.addResourceAllocation(resourceAllocation);
        assertTrue(task.getLimitingResourceAllocations().size() == 1);
View Full Code Here

Examples of org.libreplan.business.planner.limiting.entities.LimitingResourceQueueElement

    }

    private static void addDependency(
            DirectedGraph<LimitingResourceQueueElement, LimitingResourceQueueDependency> result,
            LimitingResourceQueueDependency dependency) {
        LimitingResourceQueueElement origin = dependency.getHasAsOrigin();
        LimitingResourceQueueElement destination = dependency.getHasAsDestiny();
        result.addVertex(origin);
        result.addVertex(destination);
        result.addEdge(origin, destination, dependency);
    }
View Full Code Here

Examples of org.libreplan.business.planner.limiting.entities.LimitingResourceQueueElement

            LimitingResourceQueueElement element) {
        return elementsById.get(element.getId());
    }

    public void unassingFromQueue(LimitingResourceQueueElement externalElement) {
        LimitingResourceQueueElement queueElement = getEquivalent(externalElement);
        LimitingResourceQueue queue = queueElement.getLimitingResourceQueue();
        if (queue != null) {
            queue.removeLimitingResourceQueueElement(queueElement);
            unassignedElements.add(queueElement);
        }
    }
View Full Code Here

Examples of org.libreplan.business.planner.limiting.entities.LimitingResourceQueueElement

        Map<LimitingResourceQueue, LimitingResourceQueueElement> earliestForEachQueue = earliest(byQueue(result
                .vertexSet()));
        for (Entry<LimitingResourceQueue, LimitingResourceQueueElement> each : earliestForEachQueue
                .entrySet()) {
            LimitingResourceQueue queue = each.getKey();
            LimitingResourceQueueElement earliest = each.getValue();
            addInsertionOrderOnQueueEdges(result, earliest,
                    queue.getElementsAfter(earliest));
        }
        return result;
View Full Code Here

Examples of org.libreplan.business.planner.limiting.entities.LimitingResourceQueueElement

    private void addInsertionOrderOnQueueEdges(
            DirectedGraph<LimitingResourceQueueElement, Edge> result,
            LimitingResourceQueueElement first,
            List<LimitingResourceQueueElement> elements) {
        LimitingResourceQueueElement previous = first;
        for (LimitingResourceQueueElement each : elements) {

            // FIXME: Fixs bug #553, "No such vertex in graph". It seems that
            // , for some reason, some of the vertexs (queue elements) are not in graph
            // at this point
View Full Code Here

Examples of org.libreplan.business.planner.limiting.entities.LimitingResourceQueueElement

     * @return the list of elements that must be reinserted due to the insertion
     *         of <code>externalQueueElement</code>
     */
    public List<LimitingResourceQueueElement> getInsertionsToBeDoneFor(
            LimitingResourceQueueElement externalQueueElement) {
        LimitingResourceQueueElement queueElement = getEquivalent(externalQueueElement);
        DirectedGraph<LimitingResourceQueueElement, LimitingResourceQueueDependency> subGraph = buildOutgoingGraphFor(queueElement);
        CycleDetector<LimitingResourceQueueElement, LimitingResourceQueueDependency> cycleDetector = cycleDetector(subGraph);
        if (cycleDetector.detectCycles()) {
            throw new IllegalStateException("subgraph has cycles");
        }
View Full Code Here

Examples of org.libreplan.business.planner.limiting.entities.LimitingResourceQueueElement

        if (oldElement.isNewObject()) {
            elementsById.put(oldElement.getId(), oldElement);
        }

        LimitingResourceQueueElement element = getEquivalent(oldElement);

        if (element.hasDayAssignments()) {
            unassingFromQueue(element);
        }

        unassignedElements.remove(element);
        elementsById.remove(element.getId());
        graph.removeVertex(element);

        unassignedElements.add(newElement);
        elementsById.put(newElement.getId(), newElement);
        graph.addVertex(newElement);
View Full Code Here

Examples of org.libreplan.business.planner.limiting.entities.LimitingResourceQueueElement

        // Iterate through elements and construct graph
        for (LimitingResourceQueueElement each : queueElements) {
            result.addVertex(each);
            for (LimitingResourceQueueDependency dependency : each
                    .getDependenciesAsOrigin()) {
                LimitingResourceQueueElement destiny = dependency
                        .getHasAsDestiny();
                if (queueElements.contains(destiny)) {
                    // Add source, destiny and edge between them
                    addDependency(result, dependency);
                }
View Full Code Here

Examples of org.libreplan.business.planner.limiting.entities.LimitingResourceQueueElement

            // New resource allocation or resource allocation modified ?
            if (editTaskController.getStatus() == Messagebox.OK) {

                // Update resource allocation for element
                LimitingResourceQueueElement newElement = copyFrom(oldElement,
                        getQueueElementFrom(task));

                // Replace old limiting resource with new one
                LimitingResourceQueue oldQueue = oldElement.getLimitingResourceQueue();
                List<LimitingResourceQueueElement> modified = limitingResourceQueueModel
View Full Code Here

Examples of org.libreplan.business.planner.limiting.entities.LimitingResourceQueueElement

    public List<LimitingResourceQueue> getLimitingResourceQueues() {
        return limitingResourceQueueModel.getLimitingResourceQueues();
    }

    public void unschedule(QueueTask task) {
        LimitingResourceQueueElement queueElement = task.getLimitingResourceQueueElement();
        LimitingResourceQueue queue = queueElement.getLimitingResourceQueue();

        limitingResourceQueueModel.unschedule(queueElement);
        limitingResourcesPanel.refreshQueue(queue);
        reloadUnassignedLimitingResourceQueueElements();
    }
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.