Package org.libreplan.ws.costcategories.api

Examples of org.libreplan.ws.costcategories.api.CostCategoryDTO


    public void testAddAndGetCostCategories() {

        /* Build cost category (5 constraint violations). */

        // Missing cost category name and enabled.
        CostCategoryDTO cc1 = new CostCategoryDTO(null, true,
                new HashSet<HourCostDTO>());
        // Valid cost category DTO without hour cost
        CostCategoryDTO cc2 = new CostCategoryDTO("cc2",
                true, new HashSet<HourCostDTO>());

        // Valid cost category DTO with a hour cost
        Set<HourCostDTO> cc3_HourCostDTOs = new HashSet<HourCostDTO>();

        XMLGregorianCalendar initDate = DateConverter
                .toXMLGregorianCalendar(new Date());
        XMLGregorianCalendar endDate = initDate;

        HourCostDTO cc3_1_HourCostDTO = new HourCostDTO(new BigDecimal(3),
                initDate, endDate, typeOfWorkHoursCodeA);
        cc3_HourCostDTOs.add(cc3_1_HourCostDTO);
        CostCategoryDTO cc3 = new CostCategoryDTO("cc3", true, cc3_HourCostDTOs);

        // Valid cost category DTO with a invalid hour cost
        // missing pricecost, initDate and type
        Set<HourCostDTO> cc4_HourCostDTOs = new HashSet<HourCostDTO>();
        HourCostDTO cc4_1_HourCostDTO = new HourCostDTO(null, null, null, null);
        cc4_HourCostDTOs.add(cc4_1_HourCostDTO);
        CostCategoryDTO cc4 = new CostCategoryDTO("cc4", true, cc4_HourCostDTOs);

        /* Cost category type list. */
        CostCategoryListDTO costCategoryListDTO = createCostCategoryListDTO(
                cc1, cc2, cc3, cc4);

View Full Code Here


        XMLGregorianCalendar endDate = initDate;

        final HourCostDTO cc1_1_HourCostDTO = new HourCostDTO(hourCostCode,
                new BigDecimal(3), initDate, endDate, typeOfWorkHoursCodeA);
        cc1_HourCostDTOs.add(cc1_1_HourCostDTO);
        final CostCategoryDTO cc1 = new CostCategoryDTO(costCategoryCode,
                "newCC1",
                true, cc1_HourCostDTOs);

        CostCategoryListDTO costCategoryListDTO = createCostCategoryListDTO(cc1);

        List<InstanceConstraintViolationsDTO> instanceConstraintViolationsList = costCategoryService
                .addCostCategories(costCategoryListDTO).instanceConstraintViolationsList;
        transactionService.runOnTransaction(new IOnTransaction<Void>() {
            @Override
            public Void execute() {
                costCategoryDAO.flush();
                hourCostDAO.flush();
                return null;
            }
        });

        /* Test. */
        assertTrue(instanceConstraintViolationsList.toString(),
                instanceConstraintViolationsList.size() == 0);
        transactionService.runOnTransaction(new IOnTransaction<Void>() {
            @Override
            public Void execute() {
                assertTrue(costCategoryDAO.existsByCode(cc1.code));
                return null;
            }
        });
        final CostCategory costCategory = transactionService
                .runOnTransaction(new IOnTransaction<CostCategory>() {
                    @Override
                    public CostCategory execute() {
                        CostCategory cost;
                        try {
                            cost = costCategoryDAO.findByCode(cc1.code);
                            cost.getHourCosts().size();
                            return cost;
                        } catch (InstanceNotFoundException e) {
                            throw new RuntimeException(e);
                        }
                    }
                });
        assertTrue(costCategory.getHourCosts().size() == 1);

        final HourCost hourCost = transactionService
                .runOnTransaction(new IOnTransaction<HourCost>() {
                    @Override
                    public HourCost execute() {
                        try {
                            HourCost cost = hourCostDAO
                                    .findByCode(hourCostCode);
                            cost.getType().getCode();
                            return cost;
                        } catch (InstanceNotFoundException e) {
                            throw new RuntimeException(e);
                        }
                    }
                });
        LocalDate currentDate = LocalDate.fromDateFields(new Date());
        assertTrue(hourCost.getInitDate().compareTo(currentDate) == 0);
        assertFalse(hourCost.getEndDate() == null);
        assertTrue(hourCost.getEndDate().compareTo(hourCost.getInitDate()) == 0);
        assertTrue(hourCost.getPriceCost().compareTo(new BigDecimal(3)) == 0);
        assertTrue(hourCost.getType().getCode().equalsIgnoreCase(
                typeOfWorkHoursCodeA));

        transactionService.runOnTransaction(new IOnTransaction<Void>() {
            @Override
            public Void execute() {
                costCategoryDAO.flush();
                sessionFactory.getCurrentSession().evict(costCategory);
                return null;
            }
        });

        costCategory.dontPoseAsTransientObjectAnymore();

        // Update the previous cost category
        Set<HourCostDTO> cc2_HourCostDTOs = new HashSet<HourCostDTO>();

        XMLGregorianCalendar initDate2 = DateConverter
                .toXMLGregorianCalendar(new Date());
        XMLGregorianCalendar endDate2 = DateConverter
                .toXMLGregorianCalendar(getNextMonthDate());

        HourCostDTO cc2_1_HourCostDTO = new HourCostDTO(hourCostCode,
                new BigDecimal(100), initDate2, endDate2, typeOfWorkHoursCodeB);
        cc2_HourCostDTOs.add(cc2_1_HourCostDTO);
        CostCategoryDTO cc2 = new CostCategoryDTO(costCategoryCode,
                "updateCC1", false, cc2_HourCostDTOs);

        /* Cost category type list. */
        costCategoryListDTO = createCostCategoryListDTO(cc2);

View Full Code Here

        if (hourCostDTOs.isEmpty()) {
            hourCostDTOs = null;
        }

        return new CostCategoryDTO(costCategory.getCode(), costCategory
                .getName(), costCategory.getEnabled(), hourCostDTOs);

    }
View Full Code Here

TOP

Related Classes of org.libreplan.ws.costcategories.api.CostCategoryDTO

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.