Package lv.odylab.evemanage.client.rpc.dto.calculation

Examples of lv.odylab.evemanage.client.rpc.dto.calculation.CalculationDto


        calculationTree = new CalculationTree();
    }

    @Test
    public void testBuild() {
        CalculationDto calculation = new CalculationDto();
        CalculationItemDto calculationItem1 = new CalculationItemDto();
        calculationItem1.setPathExpression(new PathExpression(new Long[]{1L, 2L, 3L}));
        CalculationItemDto calculationItem2 = new CalculationItemDto();
        calculationItem2.setPathExpression(new PathExpression(new Long[]{1L, 2L, 4L}));
        List<CalculationItemDto> calculationItems = new ArrayList<CalculationItemDto>();
        calculationItems.add(calculationItem1);
        calculationItems.add(calculationItem2);
        calculation.setItems(calculationItems);
        calculationTree.build(calculation);

        assertNotNull(calculationTree.getNodeByPathNodes(new Long[]{1L, 2L, 3L}));
        assertNotNull(calculationTree.getNodeByPathNodes(new Long[]{1L, 2L, 4L}));
    }
View Full Code Here


    }

    @Override
    public void onQuickCalculatorDirectSet(QuickCalculatorDirectSetEvent event) {
        unbindDynamic();
        CalculationDto calculation = event.getCalculation();
        CalculationExpression calculationExpression = event.getCalculationExpression();
        display.getExistingTypeIdToCalculationPriceSetItemMap().clear();
        display.getTypeIdToEditableCalculationPriceSetItemMap().clear();
        display.setNewCalculation(calculation);

        List<String> pathNodeStringsWithBlueprint = display.addCalculationTreeNodes(event.getPathNodesToCalculationMap());
        for (String pathNodesString : pathNodeStringsWithBlueprint) {
            EditableCalculationItem editableCalculationItem = display.getPathNodesStringToEditableCalculationItemMap().get(pathNodesString);
            ComputableCalculationItem computableCalculationItem = display.getPathNodesStringToComputableCalculationItemMap().get(pathNodesString);
            bindUseBlueprintImage(computableCalculationItem.getCalculationTreeNodeSummary(), editableCalculationItem.getBlueprintImage());
            bindApplyButton(editableCalculationItem, computableCalculationItem);
        }
        for (Map.Entry<String, EditableCalculationItem> mapEntry : display.getPathNodesStringToEditableCalculationItemMap().entrySet()) {
            EditableCalculationItem editableCalculationItem = mapEntry.getValue();
            OpaqueLoadableBlueprintImage blueprintImage = editableCalculationItem.getBlueprintImage();
            if (blueprintImage != null && display.getPathNodesStringToUsedCalculationMap().containsKey(mapEntry.getKey())) {
                blueprintImage.removeOpacity();
            }
        }

        display.changeMePeQuantity(calculation.getMaterialLevel(), calculation.getProductivityLevel(), calculationExpression.getQuantity());
        Map<Long, String> priceSetItemTypeIdToPriceMap = calculationExpression.getPriceSetItemTypeIdToPriceMap();
        for (Map.Entry<Long, EditableCalculationPriceSetItem> entry : display.getTypeIdToEditableCalculationPriceSetItemMap().entrySet()) {
            Long typeID = entry.getKey();
            EditableCalculationPriceSetItem calculationPriceSetItem = entry.getValue();
            String price = priceSetItemTypeIdToPriceMap.get(typeID);
View Full Code Here

    @Override
    public List<String> addCalculationTreeNodes(Map<Long[], CalculationDto> pathNodesToCalculationMap) {
        List<String> pathNodesStringsWithBlueprint = new ArrayList<String>();
        for (Map.Entry<Long[], CalculationDto> mapEntry : pathNodesToCalculationMap.entrySet()) {
            Long[] pathNodes = mapEntry.getKey();
            CalculationDto calculation = mapEntry.getValue();
            String pathNodesString = PathExpression.createPathNodesStringFromPathNodes(pathNodes);

            pathNodesStringToUsedCalculationMap.put(pathNodesString, calculation);
            EditableCalculationItem editableCalculationItem = pathNodesStringToEditableCalculationItemMap.get(pathNodesString);
            String meString = String.valueOf(calculation.getMaterialLevel());
            String peString = String.valueOf(calculation.getProductivityLevel());
            editableCalculationItem.getMeLabel().setText(meString);
            editableCalculationItem.getPeLabel().setText(peString);
            editableCalculationItem.getMeTextBox().setText(meString);
            editableCalculationItem.getPeTextBox().setText(peString);
            FlexTable table = editableCalculationItem.getCalculationItemDetailsTable();
            for (CalculationItemDto calculationItem : calculation.getItems()) {
                calculationTree.createNode(calculationItem);
                if (hasBlueprint(calculationItem.getItemCategoryID(), calculationItem.getItemTypeID())) {
                    pathNodesStringsWithBlueprint.add(calculationItem.getPathExpression().getPathNodesString());
                }
            }
            CalculationTreeNode node = calculationTree.getNodeByPathNodes(pathNodes);
            for (CalculationTreeNode calculationTreeNode : node.getNodeMap().values()) {
                //for (CalculationTreeNode treeNode : calculationTreeNode.getNodeMap().values()) {
                calculationTreeNode.changeMePe(calculation.getMaterialLevel(), calculation.getProductivityLevel());
                //}
                drawCalculationItem(table, calculationTreeNode);
            }
            showBlueprintDetails(editableCalculationItem);
        }
View Full Code Here

    public List<HandlerRegistration> getHandlerRegistrations() {
        return handlerRegistrations;
    }

    private void drawCalculationTree() {
        CalculationDto calculation = computableCalculation.getCalculation();
        drawBlueprintInformation(calculation);

        for (CalculationTreeNode calculationTreeNode : calculationTree.getNodeMap().values()) {
            drawRootCalculationItem(calculationTreeNode);
        }
View Full Code Here

        pricingProcessor = new PricingProcessor(new EveCalculator());
    }

    @Test
    public void testProcess_T1_Imicus() {
        CalculationDto calculation = new CalculationDto();
        calculation.setBlueprintTypeName("Imicus Blueprint");
        calculation.setMaterialLevel(40);
        calculation.setProductivityLevel(25);
        CalculationItemDto tritaniumCalculationItem = new CalculationItemDto();
        tritaniumCalculationItem.setPathExpression(PathExpression.parsePath("/607:40:25/34"));
        tritaniumCalculationItem.setPerfectQuantity(6629L);
        tritaniumCalculationItem.setItemTypeID(34L);
        tritaniumCalculationItem.setPrice(new BigDecimal("2.20"));
        tritaniumCalculationItem.setDamagePerJob(BigDecimal.ONE);
        tritaniumCalculationItem.setWasteFactor(10);
        CalculationItemDto pyeriteCalculationItem = new CalculationItemDto();
        pyeriteCalculationItem.setPathExpression(PathExpression.parsePath("/607:40:25/35"));
        pyeriteCalculationItem.setPerfectQuantity(5422L);
        pyeriteCalculationItem.setItemTypeID(35L);
        pyeriteCalculationItem.setPrice(new BigDecimal("3.00"));
        pyeriteCalculationItem.setDamagePerJob(BigDecimal.ONE);
        pyeriteCalculationItem.setWasteFactor(10);
        CalculationItemDto mexallonCalculationItem = new CalculationItemDto();
        mexallonCalculationItem.setPathExpression(PathExpression.parsePath("/607:40:25/36"));
        mexallonCalculationItem.setPerfectQuantity(1295L);
        mexallonCalculationItem.setItemTypeID(36L);
        mexallonCalculationItem.setPrice(new BigDecimal("26.85"));
        mexallonCalculationItem.setDamagePerJob(BigDecimal.ONE);
        mexallonCalculationItem.setWasteFactor(10);
        CalculationItemDto isogenCalculationItem = new CalculationItemDto();
        isogenCalculationItem.setPathExpression(PathExpression.parsePath("/607:40:25/37"));
        isogenCalculationItem.setPerfectQuantity(1L);
        isogenCalculationItem.setItemTypeID(37L);
        isogenCalculationItem.setPrice(new BigDecimal("51.00"));
        isogenCalculationItem.setDamagePerJob(BigDecimal.ONE);
        isogenCalculationItem.setWasteFactor(10);
        CalculationItemDto zydrineCalculationItem = new CalculationItemDto();
        zydrineCalculationItem.setPathExpression(PathExpression.parsePath("/607:40:25/39"));
        zydrineCalculationItem.setPerfectQuantity(1L);
        zydrineCalculationItem.setItemTypeID(39L);
        zydrineCalculationItem.setPrice(new BigDecimal("1000.01"));
        zydrineCalculationItem.setDamagePerJob(BigDecimal.ONE);
        zydrineCalculationItem.setWasteFactor(10);
        List<CalculationItemDto> items = new ArrayList<CalculationItemDto>();
        items.add(tritaniumCalculationItem);
        items.add(pyeriteCalculationItem);
        items.add(mexallonCalculationItem);
        items.add(isogenCalculationItem);
        items.add(zydrineCalculationItem);
        calculation.setItems(items);
        CalculationTree calculationTree = new CalculationTree();
        calculationTree.build(calculation);

        PricingProcessorResult pricingProcessorResult = pricingProcessor.process(1L, calculationTree, new HashMap<Long, CalculationPriceSetItemDto>());
        Map<Long, CalculationPriceSetItemDto> typeIdToCalculationPriceSetItemMap = pricingProcessorResult.getTypeIdToCalculationPriceSetItemMap();
View Full Code Here

        assertThat(typeIdToCalculationPriceSetItemMap.get(39L).getTotalPrice(), equalTo(new BigDecimal("500005.00")));
    }

    @Test
    public void testProcess_Capital_Obelisk() {
        CalculationDto calculation = new CalculationDto();
        calculation.setBlueprintTypeName("Obelisk Blueprint");
        calculation.setMaterialLevel(1);
        calculation.setProductivityLevel(1);
        CalculationItemDto capitalPropulsionEngineCalculationItem = new CalculationItemDto();
        capitalPropulsionEngineCalculationItem.setPathExpression(PathExpression.parsePath("/20187:1:1/21009"));
        capitalPropulsionEngineCalculationItem.setPerfectQuantity(15L);
        capitalPropulsionEngineCalculationItem.setItemTypeID(21009L);
        capitalPropulsionEngineCalculationItem.setPrice(new BigDecimal("4000000.00"));
        capitalPropulsionEngineCalculationItem.setDamagePerJob(BigDecimal.ONE);
        capitalPropulsionEngineCalculationItem.setWasteFactor(10);
        CalculationItemDto capitalArmorPlateCalculationItem = new CalculationItemDto();
        capitalArmorPlateCalculationItem.setPathExpression(PathExpression.parsePath("/20187:1:1/21017"));
        capitalArmorPlateCalculationItem.setPerfectQuantity(14L);
        capitalArmorPlateCalculationItem.setItemTypeID(21017L);
        capitalArmorPlateCalculationItem.setPrice(new BigDecimal("4200000.00"));
        capitalArmorPlateCalculationItem.setDamagePerJob(BigDecimal.ONE);
        capitalArmorPlateCalculationItem.setWasteFactor(10);

        CalculationItemDto capitalCargoBayCalculationItem = new CalculationItemDto();
        capitalCargoBayCalculationItem.setPathExpression(PathExpression.parsePath("/20187:1:1/21027"));
        capitalCargoBayCalculationItem.setPerfectQuantity(80L);
        capitalCargoBayCalculationItem.setItemTypeID(21027L);
        capitalCargoBayCalculationItem.setPrice(new BigDecimal("3500000.00"));
        capitalCargoBayCalculationItem.setDamagePerJob(BigDecimal.ONE);
        capitalCargoBayCalculationItem.setWasteFactor(10);
        CalculationItemDto capitalCargoBayTritaniumCalculationItem = new CalculationItemDto();
        capitalCargoBayTritaniumCalculationItem.setPathExpression(PathExpression.parsePath("/20187/21027:10:10/34"));
        capitalCargoBayTritaniumCalculationItem.setPerfectQuantity(787412L);
        capitalCargoBayTritaniumCalculationItem.setItemTypeID(34L);
        capitalCargoBayTritaniumCalculationItem.setPrice(new BigDecimal("2.20"));
        capitalCargoBayTritaniumCalculationItem.setDamagePerJob(BigDecimal.ONE);
        capitalCargoBayTritaniumCalculationItem.setWasteFactor(10);
        CalculationItemDto capitalCargoBayPyeriteCalculationItem = new CalculationItemDto();
        capitalCargoBayPyeriteCalculationItem.setPathExpression(PathExpression.parsePath("/20187/21027:10:10/35"));
        capitalCargoBayPyeriteCalculationItem.setPerfectQuantity(64939L);
        capitalCargoBayPyeriteCalculationItem.setItemTypeID(35L);
        capitalCargoBayPyeriteCalculationItem.setPrice(new BigDecimal("3.00"));
        capitalCargoBayPyeriteCalculationItem.setDamagePerJob(BigDecimal.ONE);
        capitalCargoBayPyeriteCalculationItem.setWasteFactor(10);
        CalculationItemDto capitalCargoBayMexallonCalculationItem = new CalculationItemDto();
        capitalCargoBayMexallonCalculationItem.setPathExpression(PathExpression.parsePath("/20187/21027:10:10/36"));
        capitalCargoBayMexallonCalculationItem.setPerfectQuantity(22154L);
        capitalCargoBayMexallonCalculationItem.setItemTypeID(36L);
        capitalCargoBayMexallonCalculationItem.setPrice(new BigDecimal("26.85"));
        capitalCargoBayMexallonCalculationItem.setDamagePerJob(BigDecimal.ONE);
        capitalCargoBayMexallonCalculationItem.setWasteFactor(10);
        CalculationItemDto capitalCargoBayIsogenCalculationItem = new CalculationItemDto();
        capitalCargoBayIsogenCalculationItem.setPathExpression(PathExpression.parsePath("/20187/21027:10:10/37"));
        capitalCargoBayIsogenCalculationItem.setPerfectQuantity(3154L);
        capitalCargoBayIsogenCalculationItem.setItemTypeID(37L);
        capitalCargoBayIsogenCalculationItem.setPrice(new BigDecimal("51.00"));
        capitalCargoBayIsogenCalculationItem.setDamagePerJob(BigDecimal.ONE);
        capitalCargoBayIsogenCalculationItem.setWasteFactor(10);
        CalculationItemDto capitalCargoBayNocxiumCalculationItem = new CalculationItemDto();
        capitalCargoBayNocxiumCalculationItem.setPathExpression(PathExpression.parsePath("/20187/21027:10:10/38"));
        capitalCargoBayNocxiumCalculationItem.setPerfectQuantity(898L);
        capitalCargoBayNocxiumCalculationItem.setItemTypeID(38L);
        capitalCargoBayNocxiumCalculationItem.setPrice(new BigDecimal("80.00"));
        capitalCargoBayNocxiumCalculationItem.setDamagePerJob(BigDecimal.ONE);
        capitalCargoBayNocxiumCalculationItem.setWasteFactor(10);
        CalculationItemDto capitalCargoBayZydrineCalculationItem = new CalculationItemDto();
        capitalCargoBayZydrineCalculationItem.setPathExpression(PathExpression.parsePath("/20187/21027:10:10/39"));
        capitalCargoBayZydrineCalculationItem.setPerfectQuantity(129L);
        capitalCargoBayZydrineCalculationItem.setItemTypeID(39L);
        capitalCargoBayZydrineCalculationItem.setPrice(new BigDecimal("1000.01"));
        capitalCargoBayZydrineCalculationItem.setDamagePerJob(BigDecimal.ONE);
        capitalCargoBayZydrineCalculationItem.setWasteFactor(10);
        CalculationItemDto capitalCargoBayMegacyteCalculationItem = new CalculationItemDto();
        capitalCargoBayMegacyteCalculationItem.setPathExpression(PathExpression.parsePath("/20187/21027:10:10/40"));
        capitalCargoBayMegacyteCalculationItem.setPerfectQuantity(29L);
        capitalCargoBayMegacyteCalculationItem.setItemTypeID(40L);
        capitalCargoBayMegacyteCalculationItem.setPrice(new BigDecimal("1800.00"));
        capitalCargoBayMegacyteCalculationItem.setDamagePerJob(BigDecimal.ONE);
        capitalCargoBayMegacyteCalculationItem.setWasteFactor(10);

        CalculationItemDto capitalConstructionPartsCalculationItem = new CalculationItemDto();
        capitalConstructionPartsCalculationItem.setPathExpression(PathExpression.parsePath("/20187:1:1/21037"));
        capitalConstructionPartsCalculationItem.setPerfectQuantity(50L);
        capitalConstructionPartsCalculationItem.setItemTypeID(21037L);
        capitalConstructionPartsCalculationItem.setPrice(new BigDecimal("4000000.00"));
        capitalConstructionPartsCalculationItem.setDamagePerJob(BigDecimal.ONE);
        capitalConstructionPartsCalculationItem.setWasteFactor(10);
        CalculationItemDto capitalConstructionPartsTritaniumCalculationItem = new CalculationItemDto();
        capitalConstructionPartsTritaniumCalculationItem.setPathExpression(PathExpression.parsePath("/20187/21037:15:15/34"));
        capitalConstructionPartsTritaniumCalculationItem.setPerfectQuantity(349387L);
        capitalConstructionPartsTritaniumCalculationItem.setItemTypeID(34L);
        capitalConstructionPartsTritaniumCalculationItem.setPrice(new BigDecimal("2.20"));
        capitalConstructionPartsTritaniumCalculationItem.setDamagePerJob(BigDecimal.ONE);
        capitalConstructionPartsTritaniumCalculationItem.setWasteFactor(10);
        CalculationItemDto capitalConstructionPartsPyeriteCalculationItem = new CalculationItemDto();
        capitalConstructionPartsPyeriteCalculationItem.setPathExpression(PathExpression.parsePath("/20187/21037:15:15/35"));
        capitalConstructionPartsPyeriteCalculationItem.setPerfectQuantity(84399L);
        capitalConstructionPartsPyeriteCalculationItem.setItemTypeID(35L);
        capitalConstructionPartsPyeriteCalculationItem.setPrice(new BigDecimal("3.00"));
        capitalConstructionPartsPyeriteCalculationItem.setDamagePerJob(BigDecimal.ONE);
        capitalConstructionPartsPyeriteCalculationItem.setWasteFactor(10);
        CalculationItemDto capitalConstructionPartsMexallonCalculationItem = new CalculationItemDto();
        capitalConstructionPartsMexallonCalculationItem.setPathExpression(PathExpression.parsePath("/20187/21037:15:15/36"));
        capitalConstructionPartsMexallonCalculationItem.setPerfectQuantity(33959L);
        capitalConstructionPartsMexallonCalculationItem.setItemTypeID(36L);
        capitalConstructionPartsMexallonCalculationItem.setPrice(new BigDecimal("26.85"));
        capitalConstructionPartsMexallonCalculationItem.setDamagePerJob(BigDecimal.ONE);
        capitalConstructionPartsMexallonCalculationItem.setWasteFactor(10);
        CalculationItemDto capitalConstructionPartsIsogenCalculationItem = new CalculationItemDto();
        capitalConstructionPartsIsogenCalculationItem.setPathExpression(PathExpression.parsePath("/20187/21037:15:15/37"));
        capitalConstructionPartsIsogenCalculationItem.setPerfectQuantity(4549L);
        capitalConstructionPartsIsogenCalculationItem.setItemTypeID(37L);
        capitalConstructionPartsIsogenCalculationItem.setPrice(new BigDecimal("51.00"));
        capitalConstructionPartsIsogenCalculationItem.setDamagePerJob(BigDecimal.ONE);
        capitalConstructionPartsIsogenCalculationItem.setWasteFactor(10);
        CalculationItemDto capitalConstructionPartsNocxiumCalculationItem = new CalculationItemDto();
        capitalConstructionPartsNocxiumCalculationItem.setPathExpression(PathExpression.parsePath("/20187/21037:15:15/38"));
        capitalConstructionPartsNocxiumCalculationItem.setPerfectQuantity(1377L);
        capitalConstructionPartsNocxiumCalculationItem.setItemTypeID(38L);
        capitalConstructionPartsNocxiumCalculationItem.setPrice(new BigDecimal("80.00"));
        capitalConstructionPartsNocxiumCalculationItem.setDamagePerJob(BigDecimal.ONE);
        capitalConstructionPartsNocxiumCalculationItem.setWasteFactor(10);
        CalculationItemDto capitalConstructionPartsZydrineCalculationItem = new CalculationItemDto();
        capitalConstructionPartsZydrineCalculationItem.setPathExpression(PathExpression.parsePath("/20187/21037:15:15/39"));
        capitalConstructionPartsZydrineCalculationItem.setPerfectQuantity(242L);
        capitalConstructionPartsZydrineCalculationItem.setItemTypeID(39L);
        capitalConstructionPartsZydrineCalculationItem.setPrice(new BigDecimal("1000.01"));
        capitalConstructionPartsZydrineCalculationItem.setDamagePerJob(BigDecimal.ONE);
        capitalConstructionPartsZydrineCalculationItem.setWasteFactor(10);
        CalculationItemDto capitalConstructionPartsMegacyteCalculationItem = new CalculationItemDto();
        capitalConstructionPartsMegacyteCalculationItem.setPathExpression(PathExpression.parsePath("/20187/21037:15:15/40"));
        capitalConstructionPartsMegacyteCalculationItem.setPerfectQuantity(95L);
        capitalConstructionPartsMegacyteCalculationItem.setItemTypeID(40L);
        capitalConstructionPartsMegacyteCalculationItem.setPrice(new BigDecimal("1800.00"));
        capitalConstructionPartsMegacyteCalculationItem.setDamagePerJob(BigDecimal.ONE);
        capitalConstructionPartsMegacyteCalculationItem.setWasteFactor(10);

        List<CalculationItemDto> items = new ArrayList<CalculationItemDto>();
        items.add(capitalPropulsionEngineCalculationItem);
        items.add(capitalArmorPlateCalculationItem);
        items.add(capitalCargoBayCalculationItem);
        items.add(capitalConstructionPartsCalculationItem);
        items.add(capitalCargoBayTritaniumCalculationItem);
        items.add(capitalCargoBayPyeriteCalculationItem);
        items.add(capitalCargoBayMexallonCalculationItem);
        items.add(capitalCargoBayIsogenCalculationItem);
        items.add(capitalCargoBayNocxiumCalculationItem);
        items.add(capitalCargoBayZydrineCalculationItem);
        items.add(capitalCargoBayMegacyteCalculationItem);
        items.add(capitalConstructionPartsTritaniumCalculationItem);
        items.add(capitalConstructionPartsPyeriteCalculationItem);
        items.add(capitalConstructionPartsMexallonCalculationItem);
        items.add(capitalConstructionPartsIsogenCalculationItem);
        items.add(capitalConstructionPartsNocxiumCalculationItem);
        items.add(capitalConstructionPartsZydrineCalculationItem);
        items.add(capitalConstructionPartsMegacyteCalculationItem);
        calculation.setItems(items);
        CalculationTree calculationTree = new CalculationTree();
        calculationTree.build(calculation);

        PricingProcessorResult pricingProcessorResult = pricingProcessor.process(1L, calculationTree, new HashMap<Long, CalculationPriceSetItemDto>());
        Map<Long, CalculationPriceSetItemDto> typeIdToCalculationPriceSetItemMap = pricingProcessorResult.getTypeIdToCalculationPriceSetItemMap();
View Full Code Here

        assertThat(typeIdToCalculationPriceSetItemMap.get(40L).getTotalPrice(), equalTo(new BigDecimal("135432000.00")));
    }

    @Test
    public void testProcess_Scourge_T2_RAM_RocketFuel() {
        CalculationDto calculation = new CalculationDto();
        calculation.setBlueprintTypeName("Scourge Fury Heavy Missile Blueprint");
        calculation.setMaterialLevel(-4);
        calculation.setProductivityLevel(-4);
        CalculationItemDto tritaniumCalculationItem = new CalculationItemDto();
        tritaniumCalculationItem.setPathExpression(PathExpression.parsePath("/2629:-4:-4/34"));
        tritaniumCalculationItem.setPerfectQuantity(10112L);
        tritaniumCalculationItem.setItemTypeID(34L);
        tritaniumCalculationItem.setPrice(new BigDecimal("2.10"));
        tritaniumCalculationItem.setDamagePerJob(BigDecimal.ONE);
        tritaniumCalculationItem.setWasteFactor(10);
        CalculationItemDto nocxiumCalculationItem = new CalculationItemDto();
        nocxiumCalculationItem.setPathExpression(PathExpression.parsePath("/2629:-4:-4/38"));
        nocxiumCalculationItem.setPerfectQuantity(22L);
        nocxiumCalculationItem.setItemTypeID(38L);
        nocxiumCalculationItem.setPrice(new BigDecimal("284.53"));
        nocxiumCalculationItem.setDamagePerJob(BigDecimal.ONE);
        nocxiumCalculationItem.setWasteFactor(10);
        CalculationItemDto zydrineCalculationItem = new CalculationItemDto();
        zydrineCalculationItem.setPathExpression(PathExpression.parsePath("/2629:-4:-4/39"));
        zydrineCalculationItem.setPerfectQuantity(19L);
        zydrineCalculationItem.setItemTypeID(39L);
        zydrineCalculationItem.setPrice(new BigDecimal("1175.02"));
        zydrineCalculationItem.setDamagePerJob(BigDecimal.ONE);
        zydrineCalculationItem.setWasteFactor(10);
        CalculationItemDto megacyteCalculationItem = new CalculationItemDto();
        megacyteCalculationItem.setPathExpression(PathExpression.parsePath("/2629:-4:-4/40"));
        megacyteCalculationItem.setPerfectQuantity(30L);
        megacyteCalculationItem.setItemTypeID(40L);
        megacyteCalculationItem.setPrice(new BigDecimal("2883.51"));
        megacyteCalculationItem.setDamagePerJob(BigDecimal.ONE);
        megacyteCalculationItem.setWasteFactor(10);
        CalculationItemDto rocketFuelCalculationItem1 = new CalculationItemDto();
        rocketFuelCalculationItem1.setPathExpression(PathExpression.parsePath("/2629:-4:-4/9830"));
        rocketFuelCalculationItem1.setPerfectQuantity(80L);
        rocketFuelCalculationItem1.setItemTypeID(9830L);
        rocketFuelCalculationItem1.setPrice(new BigDecimal("7100.53"));
        rocketFuelCalculationItem1.setDamagePerJob(BigDecimal.ONE);
        rocketFuelCalculationItem1.setWasteFactor(10);
        CalculationItemDto rocketFuelCalculationItem2 = new CalculationItemDto();
        rocketFuelCalculationItem2.setPathExpression(PathExpression.parsePath("/2629::/9830"));
        rocketFuelCalculationItem2.setPerfectQuantity(4L);
        rocketFuelCalculationItem2.setItemTypeID(9830L);
        rocketFuelCalculationItem2.setPrice(new BigDecimal("7100.53"));
        rocketFuelCalculationItem2.setDamagePerJob(BigDecimal.ONE);
        rocketFuelCalculationItem2.setWasteFactor(10);
        CalculationItemDto morphiteCalculationItem = new CalculationItemDto();
        morphiteCalculationItem.setPathExpression(PathExpression.parsePath("/2629:-4:-4/11399"));
        morphiteCalculationItem.setPerfectQuantity(5L);
        morphiteCalculationItem.setItemTypeID(11399L);
        morphiteCalculationItem.setPrice(new BigDecimal("4310.03"));
        morphiteCalculationItem.setDamagePerJob(BigDecimal.ONE);
        morphiteCalculationItem.setWasteFactor(10);
        CalculationItemDto ramAmmunitionCalculationItem = new CalculationItemDto();
        ramAmmunitionCalculationItem.setPathExpression(PathExpression.parsePath("/2629::/11476"));
        ramAmmunitionCalculationItem.setPerfectQuantity(1L);
        ramAmmunitionCalculationItem.setItemTypeID(11476L);
        ramAmmunitionCalculationItem.setPrice(new BigDecimal("18004.50"));
        ramAmmunitionCalculationItem.setDamagePerJob(new BigDecimal("0.075"));
        ramAmmunitionCalculationItem.setWasteFactor(10);
        CalculationItemDto gravitonPulseGeneratorCalculationItem = new CalculationItemDto();
        gravitonPulseGeneratorCalculationItem.setPathExpression(PathExpression.parsePath("/2629:-4:-4/11693"));
        gravitonPulseGeneratorCalculationItem.setPerfectQuantity(9L);
        gravitonPulseGeneratorCalculationItem.setItemTypeID(11693L);
        gravitonPulseGeneratorCalculationItem.setPrice(new BigDecimal("12280.00"));
        gravitonPulseGeneratorCalculationItem.setDamagePerJob(BigDecimal.ONE);
        gravitonPulseGeneratorCalculationItem.setWasteFactor(10);
        CalculationItemDto phenolicCompositesCalculationItem = new CalculationItemDto();
        phenolicCompositesCalculationItem.setPathExpression(PathExpression.parsePath("/2629:-4:-4/16680"));
        phenolicCompositesCalculationItem.setPerfectQuantity(12L);
        phenolicCompositesCalculationItem.setItemTypeID(16680L);
        phenolicCompositesCalculationItem.setPrice(new BigDecimal("524.55"));
        phenolicCompositesCalculationItem.setDamagePerJob(BigDecimal.ONE);
        phenolicCompositesCalculationItem.setWasteFactor(10);
        List<CalculationItemDto> items = new ArrayList<CalculationItemDto>();
        items.add(tritaniumCalculationItem);
        items.add(nocxiumCalculationItem);
        items.add(zydrineCalculationItem);
        items.add(megacyteCalculationItem);
        items.add(rocketFuelCalculationItem1);
        items.add(rocketFuelCalculationItem2);
        items.add(morphiteCalculationItem);
        items.add(ramAmmunitionCalculationItem);
        items.add(gravitonPulseGeneratorCalculationItem);
        items.add(phenolicCompositesCalculationItem);
        calculation.setItems(items);
        CalculationTree calculationTree = new CalculationTree();
        calculationTree.build(calculation);

        PricingProcessorResult pricingProcessorResult = pricingProcessor.process(1L, calculationTree, new HashMap<Long, CalculationPriceSetItemDto>());
        Map<Long, CalculationPriceSetItemDto> typeIdToCalculationPriceSetItemMap = pricingProcessorResult.getTypeIdToCalculationPriceSetItemMap();
View Full Code Here

        this.clientFacade = clientFacade;
    }

    @Override
    public QuickCalculatorSetActionResponse execute(QuickCalculatorSetAction action) throws Exception {
        CalculationDto calculationDto = clientFacade.getQuickCalculation(action.getBlueprintName());
        QuickCalculatorSetActionResponse response = new QuickCalculatorSetActionResponse();
        response.setCalculation(calculationDto);
        return response;
    }
View Full Code Here

        this.clientFacade = clientFacade;
    }

    @Override
    public QuickCalculatorUseBlueprintActionResponse execute(QuickCalculatorUseBlueprintAction action) throws Exception {
        CalculationDto calculationDto = clientFacade.getQuickCalculation(action.getPathNodes(), action.getBlueprintName());

        QuickCalculatorUseBlueprintActionResponse response = new QuickCalculatorUseBlueprintActionResponse();
        response.setPathNodes(action.getPathNodes());
        response.setCalculation(calculationDto);
        return response;
View Full Code Here

    }

    @Override
    public QuickCalculatorDirectSetActionResponse execute(QuickCalculatorDirectSetAction action) throws Exception {
        CalculationExpression calculationExpression = action.getCalculationExpression();
        CalculationDto calculationDto = clientFacade.getQuickCalculationForExpression(calculationExpression);

        Map<Long[], CalculationDto> pathNodesToCalculationDtoMap = new TreeMap<Long[], CalculationDto>(new LongArrayComparator());
        for (Map.Entry<String, Integer> entry : calculationExpression.getBlueprintPathToMeLevelMap().entrySet()) {
            String pathNodeString = entry.getKey();
            Integer meLevel = entry.getValue();
            Integer peLevel = calculationExpression.getBlueprintPathToPeLevelMap().get(pathNodeString);
            String[] pathNodesAsStringArray = pathNodeString.split("\\/");
            Long[] pathNodes = new Long[pathNodesAsStringArray.length + 1];
            pathNodes[0] = calculationDto.getProductTypeID();
            for (int i = 0; i < pathNodesAsStringArray.length; i++) {
                String pathNodeAsString = pathNodesAsStringArray[i];
                pathNodes[i + 1] = Long.valueOf(pathNodeAsString);
            }
            CalculationDto calculationDtoForNode = clientFacade.getQuickCalculation(pathNodes, pathNodes[pathNodes.length - 1]);
            calculationDtoForNode.setMaterialLevel(meLevel);
            calculationDtoForNode.setProductivityLevel(peLevel);
            pathNodesToCalculationDtoMap.put(pathNodes, calculationDtoForNode);
        }

        QuickCalculatorDirectSetActionResponse response = new QuickCalculatorDirectSetActionResponse();
        response.setCalculationExpression(calculationExpression);
View Full Code Here

TOP

Related Classes of lv.odylab.evemanage.client.rpc.dto.calculation.CalculationDto

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.