Package org.libreplan.business.orders.entities

Examples of org.libreplan.business.orders.entities.OrderLine


    @Transactional
    public void checkAddAssignmentOnChild()
            throws DuplicateValueTrueReportGlobalAdvanceException,
            DuplicateAdvanceAssignmentForOrderElementException {
        model.addElement("element", 100);
        OrderLine element = (OrderLine) model.getRoot().getChildren().get(0);

        addDirectAdvanceAssignment(element);
        assertTrue(order.getDirectAdvanceAssignments().isEmpty());
        assertFalse(order.getIndirectAdvanceAssignments().isEmpty());
        assertNotNull(order.getIndirectAdvanceAssignment(advanceType));
        assertThat(element.getDirectAdvanceAssignments().size(), equalTo(1));
    }
View Full Code Here


    @Transactional
    public void checkAddAdvanceOnParent()
            throws DuplicateValueTrueReportGlobalAdvanceException,
            DuplicateAdvanceAssignmentForOrderElementException {
        model.addElement("element", 100);
        OrderLine element = (OrderLine) model.getRoot().getChildren().get(0);

        addDirectAdvanceAssignment(order);

        assertThat(order.getDirectAdvanceAssignments().size(), equalTo(1));
        assertNotNull(order.getDirectAdvanceAssignmentByType(advanceType));
        assertTrue(element.getDirectAdvanceAssignments().isEmpty());
    }
View Full Code Here

            throws DuplicateValueTrueReportGlobalAdvanceException,
            DuplicateAdvanceAssignmentForOrderElementException {
        addCriterionRequirement(order);

        model.addElement("element", 100);
        OrderLine element = (OrderLine) model.getRoot().getChildren().get(0);

        addAnotherCriterionRequirement(element);
        addDirectAdvanceAssignment(element);

        model.addElementAt(element, "element2", 50);

        assertNotNull(order.getIndirectAdvanceAssignment(advanceType));
        assertThat(order.getCriterionRequirements().size(), equalTo(1));
        assertDirectCriterion(order.getCriterionRequirements().iterator()
                .next(), criterion);
        assertThat(order.getWorkHours(), equalTo(150));

        OrderLineGroup container = (OrderLineGroup) order.getChildren().get(0);
        assertThat(container.getCriterionRequirements().size(), equalTo(1));
        assertIndirectCriterion(container.getCriterionRequirements().iterator()
                .next(), criterion);
        assertNotNull(container.getIndirectAdvanceAssignment(advanceType));
        assertThat(container.getWorkHours(), equalTo(150));

        assertThat(container.getChildren().size(), equalTo(2));
        for (OrderElement each : container.getChildren()) {
            if (each.getName().equals("")) {
                assertThat(each.getCriterionRequirements().size(), equalTo(2));
                assertThat(each.getDirectAdvanceAssignments().size(),
                        equalTo(1));
                assertNotNull(each
                        .getDirectAdvanceAssignmentByType(advanceType));
                assertThat(each.getWorkHours(), equalTo(100));
                assertThat(element.getHoursGroups().get(0)
                        .getCriterionRequirements().size(), equalTo(2));
            } else if (each.getName().equals("element2")) {
                assertThat(each.getCriterionRequirements().size(), equalTo(1));
                assertIndirectCriterion(each.getCriterionRequirements()
                        .iterator().next(), criterion);
View Full Code Here

            throws DuplicateValueTrueReportGlobalAdvanceException,
            DuplicateAdvanceAssignmentForOrderElementException {
        addCriterionRequirement(order);

        model.addElement("element", 100);
        OrderLine element = (OrderLine) order.getChildren().get(0);

        model.addElementAt(element, "element2", 50);
        OrderLineGroup container = (OrderLineGroup) order.getChildren().get(0);
        container.setName("container");

        addAnotherCriterionRequirement(container);
        addDirectAdvanceAssignment(container);

        model.addElementAt(container, "element3", 150);

        assertThat(order.getWorkHours(), equalTo(300));

        assertThat(container.getChildren().size(), equalTo(3));
        for (OrderElement each : container.getChildren()) {
            if (each.getName().equals("element3")) {
                assertThat(each.getCriterionRequirements().size(), equalTo(2));
                for (CriterionRequirement criterionRequirement : each
                        .getCriterionRequirements()) {
                    assertTrue(criterionRequirement instanceof IndirectCriterionRequirement);
                }
                assertTrue(each.getDirectAdvanceAssignments().isEmpty());
                assertThat(each.getWorkHours(), equalTo(150));
                assertThat(element.getHoursGroups().get(0)
                        .getCriterionRequirements().size(), equalTo(2));
            }
        }
    }
View Full Code Here

    @Transactional
    public void checkRemoveElementOnOnlyOrderLineWithCriteriaAndAdvances()
            throws DuplicateValueTrueReportGlobalAdvanceException,
            DuplicateAdvanceAssignmentForOrderElementException {
        model.addElement("element", 100);
        OrderLine element = (OrderLine) order.getChildren().get(0);
        model.addElementAt(element, "element2", 50);

        OrderLineGroup container = (OrderLineGroup) order.getChildren().get(0);
        model.removeNode(container.getChildren().iterator().next());

        element = (OrderLine) container.getChildren().get(0);

        addCriterionRequirement(element);
        addDirectAdvanceAssignment(element);

        // * infoComponent (code, name, description)
        String name = "container";
        container.setName(name);
        String code = "code";
        container.setCode(code);
        String description = "description";
        container.setDescription(description);

        // * initDate
        Date date = new Date();
        container.setInitDate(date);
        // * deadline
        container.setDeadline(date);

        // * directAdvanceAssignments
        addAnotherDirectAdvanceAssignment(container);

        // * materialAssignments
        addMaterialAssignment(container);

        // * labels
        addLabel(container);

        // * taskQualityForms
        addQualityForm(container);

        // * criterionRequirements
        addAnotherCriterionRequirement(container);

        // * template
        addTemplate(container);

        // * externalCode
        String externalCode = "external-code";
        container.setExternalCode(externalCode);

        model.removeNode(element);

        assertTrue(order.getDirectAdvanceAssignments().isEmpty());
        assertNull(order.getIndirectAdvanceAssignment(advanceType));
        assertNotNull(order.getIndirectAdvanceAssignment(advanceType2));
        assertTrue(order.getCriterionRequirements().isEmpty());
        assertThat(order.getWorkHours(), equalTo(0));

        element = (OrderLine) order.getChildren().get(0);
        assertThat(element.getWorkHours(), equalTo(0));

        // * infoComponent (code, name, description)
        assertThat(element.getName(), equalTo(name));
        assertThat(element.getCode(), equalTo(code));
        assertThat(element.getDescription(), equalTo(description));

        // * initDate
        assertThat(element.getInitDate(), equalTo(date));
        // * deadline
        assertThat(element.getDeadline(), equalTo(date));

        // * directAdvanceAssignments
        assertThat(element.getDirectAdvanceAssignments().size(), equalTo(1));
        assertNotNull(element.getDirectAdvanceAssignmentByType(advanceType2));
        assertThat(element.getDirectAdvanceAssignmentByType(advanceType2)
                .getOrderElement(), equalTo((OrderElement) element));

        // * materialAssignments
        assertThat(element.getMaterialAssignments().size(), equalTo(1));
        assertThat(element.getMaterialAssignments().iterator().next()
                .getMaterial(), equalTo(materialAssignment.getMaterial()));
        assertThat(element.getMaterialAssignments().iterator().next()
                .getOrderElement(), equalTo((OrderElement) element));

        // * labels
        assertThat(element.getLabels().size(), equalTo(1));
        assertThat(element.getLabels().iterator().next(), equalTo(label));
        assertThat(element.getLabels().iterator().next().getType(),
                equalTo(label.getType()));

        // * taskQualityForms
        assertThat(element.getQualityForms().size(), equalTo(1));
        assertThat(element.getQualityForms().iterator().next(),
                equalTo(qualityForm));
        assertThat(element.getTaskQualityForms().iterator().next()
                .getOrderElement(), equalTo((OrderElement) element));

        // * criterionRequirements
        assertThat(element.getCriterionRequirements().size(), equalTo(1));
        assertDirectCriterion(element.getCriterionRequirements().iterator()
                .next(), criterion2);
        assertThat(element.getCriterionRequirements().iterator().next()
                .getOrderElement(), equalTo((OrderElement) element));
        assertThat(element.getHoursGroups().get(0).getCriterionRequirements()
                .size(), equalTo(1));
        assertIndirectCriterion(element.getHoursGroups().get(0)
                .getCriterionRequirements().iterator().next(), criterion2);

        // * template
        assertNotNull(element.getTemplate());
        assertThat(element.getTemplate().getName(), equalTo(template.getName()));

        // * externalCode
        assertThat(element.getExternalCode(), equalTo(externalCode));
    }
View Full Code Here

            throws DuplicateValueTrueReportGlobalAdvanceException,
            DuplicateAdvanceAssignmentForOrderElementException {
        addCriterionRequirement(order);

        model.addElement("element", 100);
        OrderLine element = (OrderLine) order.getChildren().get(0);
        model.addElementAt(element, "element2", 50);

        OrderLineGroup container = (OrderLineGroup) order.getChildren().get(0);
        model.removeNode(container.getChildren().iterator().next());

        IndirectCriterionRequirement indirectCriterionRequirement = (IndirectCriterionRequirement) container
                .getCriterionRequirements().iterator().next();
        assertTrue(indirectCriterionRequirement.getCriterion().isEquivalent(
                criterion));
        indirectCriterionRequirement.setValid(false);

        addAnotherCriterionRequirement(container);

        // This calls toLeaf in the container
        model.removeNode(container.getChildren().get(0));

        element = (OrderLine) order.getChildren().get(0);

        assertThat(element.getCriterionRequirements().size(), equalTo(2));
        for (CriterionRequirement each : element.getCriterionRequirements()) {
            if (each.getCriterion().isEquivalent(criterion)) {
                assertTrue(each instanceof IndirectCriterionRequirement);
                assertFalse(each.isValid());
            } else if (each.getCriterion().isEquivalent(criterion2)) {
                assertTrue(each instanceof DirectCriterionRequirement);
            } else {
                fail("Unexpected criterion: " + each.getCriterion());
            }
        }

        assertThat(element.getHoursGroups().get(0).getCriterionRequirements()
                .size(), equalTo(2));
        for (CriterionRequirement each : element.getHoursGroups().get(0)
                .getCriterionRequirements()) {
            if (each.getCriterion().isEquivalent(criterion)) {
                assertTrue(each instanceof IndirectCriterionRequirement);
                assertFalse(each.isValid());
            } else if (each.getCriterion().isEquivalent(criterion2)) {
View Full Code Here

            throws DuplicateValueTrueReportGlobalAdvanceException,
            DuplicateAdvanceAssignmentForOrderElementException {
        model.addElement("element", 100);
        model.addElement("element2", 50);

        OrderLine element = null;
        OrderLine element2 = null;
        for (OrderElement each : order.getChildren()) {
            if (each.getName().equals("element")) {
                element = (OrderLine) each;
            } else if (each.getName().equals("element2")) {
                element2 = (OrderLine) each;
            }
        }

        addCriterionRequirement(element2);
        addDirectAdvanceAssignment(element2);

        model.indent(element2);

        assertTrue(order.getDirectAdvanceAssignments().isEmpty());
        assertThat(order.getIndirectAdvanceAssignments().size(), equalTo(2));
        assertNotNull(order.getIndirectAdvanceAssignment(advanceType));
        assertTrue(order.getCriterionRequirements().isEmpty());

        OrderLineGroup container = (OrderLineGroup) order.getChildren().get(0);
        assertTrue(container.getDirectAdvanceAssignments().isEmpty());
        assertThat(container.getIndirectAdvanceAssignments().size(), equalTo(2));
        assertNotNull(container.getIndirectAdvanceAssignment(advanceType));
        assertTrue(container.getCriterionRequirements().isEmpty());

        assertTrue(element.getDirectAdvanceAssignments().isEmpty());
        assertTrue(element.getCriterionRequirements().isEmpty());
        assertTrue(element.getHoursGroups().get(0).getCriterionRequirements()
                .isEmpty());

        assertNotNull(element2.getAdvanceAssignmentByType(advanceType));
        assertThat(element2.getCriterionRequirements().size(), equalTo(1));
        assertDirectCriterion(element2.getCriterionRequirements().iterator()
                .next(), criterion);
        assertThat(element2.getHoursGroups().get(0).getCriterionRequirements()
                .size(), equalTo(1));
        assertIndirectCriterion(element2.getHoursGroups().get(0)
                .getCriterionRequirements().iterator().next(), criterion);
    }
View Full Code Here

            throws DuplicateValueTrueReportGlobalAdvanceException,
            DuplicateAdvanceAssignmentForOrderElementException {
        model.addElement("element", 100);
        model.addElement("element2", 50);

        OrderLine element = null;
        OrderLine element2 = null;
        for (OrderElement each : order.getChildren()) {
            if (each.getName().equals("element")) {
                element = (OrderLine) each;
            } else if (each.getName().equals("element2")) {
                element2 = (OrderLine) each;
            }
        }

        addCriterionRequirement(element);
        addDirectAdvanceAssignment(element);

        model.indent(element2);

        assertTrue(order.getDirectAdvanceAssignments().isEmpty());
        assertNotNull(order.getIndirectAdvanceAssignment(advanceType));
        assertTrue(order.getCriterionRequirements().isEmpty());

        OrderLineGroup container = (OrderLineGroup) order.getChildren().get(0);
        assertTrue(container.getDirectAdvanceAssignments().isEmpty());
        assertNotNull(container.getIndirectAdvanceAssignment(advanceType));
        assertTrue(container.getCriterionRequirements().isEmpty());

        assertNotNull(element.getAdvanceAssignmentByType(advanceType));
        assertThat(element.getCriterionRequirements().size(), equalTo(1));
        assertDirectCriterion(element.getCriterionRequirements().iterator()
                .next(), criterion);
        assertThat(element.getHoursGroups().get(0).getCriterionRequirements()
                .size(), equalTo(1));
        assertIndirectCriterion(element.getHoursGroups().get(0)
                .getCriterionRequirements().iterator().next(), criterion);

        assertTrue(element2.getDirectAdvanceAssignments().isEmpty());
        assertTrue(element2.getCriterionRequirements().isEmpty());
        assertTrue(element2.getHoursGroups().get(0).getCriterionRequirements()
                .isEmpty());
    }
View Full Code Here

        model.addElement("element", 100);
        model.addElementAt(order.getChildren().get(0), "element2", 50);
        model.addElement("element3", 30);

        OrderLineGroup container = null;
        OrderLine element3 = null;
        for (OrderElement each : order.getChildren()) {
            if (each.getName().equals("element")) {
                container = (OrderLineGroup) each;
            } else if (each.getName().equals("element3")) {
                element3 = (OrderLine) each;
            }
        }

        addCriterionRequirement(container);
        addDirectAdvanceAssignment(container);

        model.indent(element3);

        assertTrue(order.getDirectAdvanceAssignments().isEmpty());
        assertNotNull(order.getIndirectAdvanceAssignment(advanceType));
        assertTrue(order.getCriterionRequirements().isEmpty());

        assertNotNull(container.getAdvanceAssignmentByType(advanceType));
        assertThat(container.getCriterionRequirements().size(), equalTo(1));
        assertDirectCriterion(container.getCriterionRequirements().iterator()
                .next(), criterion);

        assertTrue(element3.getDirectAdvanceAssignments().isEmpty());
        assertThat(element3.getCriterionRequirements().size(), equalTo(1));
        assertDirectCriterion(container.getCriterionRequirements().iterator()
                .next(), criterion);
        assertThat(element3.getHoursGroups().get(0).getCriterionRequirements()
                .size(), equalTo(1));
        assertIndirectCriterion(container.getHoursGroups().get(0)
                .getCriterionRequirements().iterator().next(), criterion);
    }
View Full Code Here

            throws DuplicateValueTrueReportGlobalAdvanceException,
            DuplicateAdvanceAssignmentForOrderElementException {
        model.addElement("element", 100);
        model.addElement("element2", 50);

        OrderLine element = null;
        OrderLine element2 = null;
        for (OrderElement each : order.getChildren()) {
            if (each.getName().equals("element")) {
                element = (OrderLine) each;
            } else if (each.getName().equals("element2")) {
                element2 = (OrderLine) each;
            }
        }

        model.indent(element2);

        addCriterionRequirement(element2);
        addDirectAdvanceAssignment(element2);
        addAnotherDirectAdvanceAssignment(element2);

        addAnotherDirectAdvanceAssignment(element);

        addAnotherCriterionRequirement(order);

        model.unindent(element2);

        assertTrue(order.getDirectAdvanceAssignments().isEmpty());
        assertNotNull(order.getIndirectAdvanceAssignment(advanceType));
        assertNotNull(order.getIndirectAdvanceAssignment(advanceType2));
        assertThat(order.getCriterionRequirements().size(), equalTo(1));

        OrderLineGroup container = (OrderLineGroup) order.getChildren().get(0);
        assertTrue(container.getDirectAdvanceAssignments().isEmpty());
        assertNull(container.getIndirectAdvanceAssignment(advanceType));
        assertNotNull(container.getIndirectAdvanceAssignment(advanceType2));
        assertThat(container.getCriterionRequirements().size(), equalTo(1));

        assertThat(element.getDirectAdvanceAssignments().size(), equalTo(1));
        assertNotNull(element.getAdvanceAssignmentByType(advanceType2));
        assertThat(element.getCriterionRequirements().size(), equalTo(1));
        assertThat(element.getHoursGroups().get(0).getCriterionRequirements()
                .size(), equalTo(1));

        assertNotNull(element2.getAdvanceAssignmentByType(advanceType));
        assertNotNull(element2.getAdvanceAssignmentByType(advanceType2));
        assertThat(element2.getCriterionRequirements().size(), equalTo(2));
        for (CriterionRequirement each : element2.getCriterionRequirements()) {
            if (each.getCriterion().isEquivalent(criterion)) {
                assertTrue(each instanceof DirectCriterionRequirement);
            } else if (each.getCriterion().isEquivalent(criterion2)) {
                assertTrue(each instanceof IndirectCriterionRequirement);
            } else {
                fail("Unexpected criterion: " + each.getCriterion());
            }
        }

        for (CriterionRequirement each : element2.getHoursGroups().get(0)
                .getCriterionRequirements()) {
            if ((each.getCriterion().isEquivalent(criterion) || each
                    .getCriterion().isEquivalent(criterion2))) {
                assertTrue(each instanceof IndirectCriterionRequirement);
            } else {
View Full Code Here

TOP

Related Classes of org.libreplan.business.orders.entities.OrderLine

Copyright © 2018 www.massapicom. 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.