Search in sources :

Example 1 with ACER

use of eu.ggnet.dwoss.rules.TradeName.ACER in project dwoss by gg-net.

the class ResolveRepaymentBeanIT method testResolve.

@Test
public void testResolve() throws UserInfoException {
    List<Stock> allStocks = stockGenerator.makeStocksAndLocations(2);
    assertThat(allStocks).isNotEmpty().hasSize(2);
    Stock activeStock = allStocks.get(0);
    assertThat(customerGenerator.makeCustomers(10)).isNotEmpty();
    assertThat(receiptGenerator.makeUniqueUnits(200, true, true)).isNotEmpty();
    assertThat(redTapeGenerator.makeSalesDossiers(30)).isNotEmpty();
    final TradeName TRADE_NAME = ACER;
    assertThat(TRADE_NAME.isManufacturer()).isTrue();
    long customerId = customerGenerator.makeCustomer();
    List<UniqueUnit> uus = receiptGenerator.makeUniqueUnits(1, true, true);
    UniqueUnit uu = uus.get(0);
    uu = helper.changeContractors(uu.getId(), TRADE_NAME);
    String refurbishId = uu.getRefurbishId();
    Dossier dos = redTapeWorker.create(customerId, true, "Me");
    // order oder direct invoice
    Document doc = dos.getActiveDocuments(DocumentType.ORDER).get(0);
    // Create Positions
    doc.append(Position.builder().type(UNIT).amount(1).uniqueUnitId(uu.getId()).uniqueUnitProductId(uu.getProduct().getId()).price(uu.getPrice(CUSTOMER)).tax(doc.getSingleTax()).name(uu.getProduct().getName() + " | SN:" + uu.getSerial()).description(uu.getProduct().getDescription()).refurbishedId(refurbishId).build());
    // add units to LogicTransaction
    unitOverseer.lockStockUnit(dos.getId(), uu.getRefurbishId());
    doc.add(Document.Condition.PAID);
    doc.add(Document.Condition.PICKED_UP);
    doc.setType(DocumentType.INVOICE);
    doc = redTapeWorker.update(doc, null, "JUnit");
    // Now create an annulation Invoice
    doc.setType(ANNULATION_INVOICE);
    // ArrayList<Position> positions = new ArrayList<>();
    for (Position value : doc.getPositions().values()) {
        // if ( value.getType() == UNIT ) positions.add(value);
        value.setPrice(value.getPrice() * -1);
    }
    redTapeWorker.update(doc, activeStock.getId(), "JUnit Test");
    // Closing the Day. Creating report lines.
    redTapeCloser.executeManual("JUnitTest");
    // Ensure, that we have a Mirror Dossier on the repaymentcustomers.
    List<Dossier> repaymentDossiers = redTapeAgent.findDossiersOpenByCustomerIdEager(repaymentCustomers.get(TRADE_NAME).get());
    assertThat(repaymentDossiers).as("RepaymentDossiers").isNotEmpty();
    Dossier repaymentDossier = repaymentDossiers.get(0);
    List<Document> activeDocuments = repaymentDossier.getActiveDocuments(BLOCK);
    assertThat(activeDocuments).isNotEmpty();
    assertThat(activeDocuments.get(0).getPositions(UNIT)).isNotEmpty();
    Report report = new Report("Test", TRADE_NAME, new Date(), new Date());
    List<ReportLine> reportLines = reportLineEao.findAll();
    List<Storeable> arrayList = new ArrayList<>();
    reportLines.stream().filter((line) -> (line.getDocumentType() == INVOICE)).forEach((line) -> {
        arrayList.add(line.toStorable());
    });
    report = reportAgent.store(report, arrayList);
    assertThat(report).isNotNull();
    assertThat(report.getLines()).isNotEmpty();
    List<ReportLine> notReported = report.getLines().stream().filter((l) -> reportLines.contains(l)).collect(Collectors.toList());
    final int uuId = uu.getId();
    ReportLine lineToUniqueUnit = notReported.stream().filter((line) -> line.getUniqueUnitId() == uuId).collect(Collectors.toList()).get(0);
    assertThat(lineToUniqueUnit).isNotNull();
    List<ReportLine> repaymentLines = bean.getRepaymentLines(lineToUniqueUnit.getContractor());
    ReportLine repaymentLine = repaymentLines.stream().filter((l) -> l.getRefurbishId().equals(refurbishId)).collect(Collectors.toList()).get(0);
    assertThat(stockAgent.findStockUnitsByRefurbishIdEager(Arrays.asList(refurbishId))).isNotEmpty();
    // Resolving of the Unit.
    bean.resolveUnit(refurbishId, TRADE_NAME, "JUnit", "JUnit");
    List<Report> reports = reportAgent.findAll(Report.class);
    assertThat(reports).hasSize(2);
    Report repaymentReport = null;
    // Try to get Report with the Name that is generated in a Static method inside the ResolveRepaymentBean.
    if (reports.get(0).getName().equals(ResolveRepaymentBean.toReportName(TRADE_NAME)))
        repaymentReport = reports.get(0);
    else
        repaymentReport = reports.get(1);
    repaymentReport = reportAgent.findByIdEager(Report.class, repaymentReport.getId());
    assertThat(repaymentReport.getLines()).hasSize(1);
    assertThat(repaymentLines).contains(repaymentLine);
    // Ensure, that we the mirror Dossier has be cleared of the unit
    repaymentDossiers = redTapeAgent.findDossiersOpenByCustomerIdEager(repaymentCustomers.get(TRADE_NAME).get());
    assertThat(repaymentDossiers).isNotEmpty();
    repaymentDossier = repaymentDossiers.get(0);
    activeDocuments = repaymentDossier.getActiveDocuments(BLOCK);
    assertThat(activeDocuments).isNotEmpty();
    assertThat(activeDocuments.get(0).getPositions(UNIT)).isEmpty();
    // We still should have comments there.
    assertThat(activeDocuments.get(0).getPositions(PositionType.COMMENT)).isNotEmpty();
    assertThat(stockAgent.findStockUnitsByRefurbishIdEager(Arrays.asList(refurbishId))).isNullOrEmpty();
}
Also used : java.util(java.util) StockGeneratorOperation(eu.ggnet.dwoss.stock.ee.assist.gen.StockGeneratorOperation) Arquillian(org.jboss.arquillian.junit.Arquillian) ReportLineEao(eu.ggnet.dwoss.report.ee.eao.ReportLineEao) CustomerGeneratorOperation(eu.ggnet.dwoss.customer.ee.assist.gen.CustomerGeneratorOperation) Assertions.assertThat(org.assertj.core.api.Assertions.assertThat) RunWith(org.junit.runner.RunWith) RedTapeWorker(eu.ggnet.dwoss.redtapext.ee.RedTapeWorker) eu.ggnet.dwoss.rules(eu.ggnet.dwoss.rules) UnitOverseer(eu.ggnet.dwoss.redtapext.ee.UnitOverseer) UserInfoException(eu.ggnet.dwoss.util.UserInfoException) UniqueUnit(eu.ggnet.dwoss.uniqueunit.ee.entity.UniqueUnit) CUSTOMER(eu.ggnet.dwoss.uniqueunit.ee.entity.PriceType.CUSTOMER) RedTapeCloser(eu.ggnet.dwoss.redtapext.ee.reporting.RedTapeCloser) Inject(javax.inject.Inject) StockAgent(eu.ggnet.dwoss.stock.ee.StockAgent) ResolveRepayment(eu.ggnet.dwoss.misc.ee.ResolveRepayment) Stock(eu.ggnet.dwoss.stock.ee.entity.Stock) DocumentType(eu.ggnet.dwoss.rules.DocumentType) Report(eu.ggnet.dwoss.report.ee.entity.Report) Dossier(eu.ggnet.dwoss.redtape.ee.entity.Dossier) RedTapeGeneratorOperation(eu.ggnet.dwoss.redtapext.ee.gen.RedTapeGeneratorOperation) EJB(javax.ejb.EJB) Storeable(eu.ggnet.dwoss.report.ee.entity.ReportLine.Storeable) RepaymentCustomers(eu.ggnet.dwoss.mandator.api.value.RepaymentCustomers) Test(org.junit.Test) Collectors(java.util.stream.Collectors) ReportAgent(eu.ggnet.dwoss.report.ee.ReportAgent) ReportLine(eu.ggnet.dwoss.report.ee.entity.ReportLine) Document(eu.ggnet.dwoss.redtape.ee.entity.Document) UNIT(eu.ggnet.dwoss.rules.PositionType.UNIT) ACER(eu.ggnet.dwoss.rules.TradeName.ACER) Position(eu.ggnet.dwoss.redtape.ee.entity.Position) RedTapeAgent(eu.ggnet.dwoss.redtape.ee.RedTapeAgent) ResolveRepaymentBean(eu.ggnet.dwoss.misc.ee.ResolveRepaymentBean) ReceiptGeneratorOperation(eu.ggnet.dwoss.receipt.ee.gen.ReceiptGeneratorOperation) ReportLine(eu.ggnet.dwoss.report.ee.entity.ReportLine) Position(eu.ggnet.dwoss.redtape.ee.entity.Position) Report(eu.ggnet.dwoss.report.ee.entity.Report) Storeable(eu.ggnet.dwoss.report.ee.entity.ReportLine.Storeable) Document(eu.ggnet.dwoss.redtape.ee.entity.Document) UniqueUnit(eu.ggnet.dwoss.uniqueunit.ee.entity.UniqueUnit) Dossier(eu.ggnet.dwoss.redtape.ee.entity.Dossier) Stock(eu.ggnet.dwoss.stock.ee.entity.Stock) Test(org.junit.Test)

Example 2 with ACER

use of eu.ggnet.dwoss.rules.TradeName.ACER in project dwoss by gg-net.

the class RedTapeCloserOperationIT method testDayClosing.

/**
 * Tests if something gets closed and if the appropriated stock units are gone.
 * <p>
 * @throws UserInfoException
 */
@Test
public void testDayClosing() throws UserInfoException {
    assertFalse(customerGenerator.makeCustomers(10).isEmpty());
    receiptCustomers = customerGenerator.makeReceiptCustomers(ACER);
    systemCustomers = customerGenerator.makeSpecialCustomers(BLOCK);
    assertFalse(systemCustomers == null);
    assertFalse(receiptCustomers == null);
    assertFalse(receiptGenerator.makeUniqueUnits(200, true, true).isEmpty());
    assertFalse(redTapeGenerator.makeSalesDossiers(30).isEmpty());
    // dossier ids from created blockers
    List<Long> blockerIds = buildBlocker().stream().mapToLong(d -> d.getId()).boxed().collect(Collectors.toList());
    assertThat(stockAgent.findAllEager(StockTransaction.class).stream().map(StockTransaction::getPositions).flatMap(Collection::stream).anyMatch(t -> t.getStockUnit() != null)).overridingErrorMessage("Their exist a StockTransaction, which is not complete (blocking a stockUnit), impossible!").isFalse();
    long stockUnits = stockAgent.count(StockUnit.class);
    assertThat(stockUnits).isPositive();
    List<LogicTransaction> allLts = stockAgent.findAllEager(LogicTransaction.class);
    assertThat(allLts.size()).overridingErrorMessage("No LogicTransactions exist, impossible!").isPositive();
    redTapeCloser.executeManual("Junit");
    List<Dossier> blockerDossiers = new ArrayList<>();
    for (Long blockerId : blockerIds) {
        blockerDossiers.add(redTapeAgent.findByIdEager(Dossier.class, blockerId));
    }
    assertEquals("More/Less Blockers than expected passed closing", 3, blockerDossiers.stream().filter(d -> d.isClosed()).collect(Collectors.toList()).size());
    warnIfStockSizeDidNotChange(stockUnits);
    List<Dossier> allDossiers = redTapeAgent.findAllEager(Dossier.class);
    for (Dossier dos : allDossiers) {
        if (dos.isClosed()) {
            for (Document doc : dos.getActiveDocuments()) {
                // These are just ignored.
                if (doc.containsAny(CANCELED))
                    continue;
                for (Integer uuId : doc.getPositionsUniqueUnitIds()) {
                    StockUnit su = stockAgent.findStockUnitByUniqueUnitIdEager(uuId);
                    assertNull("There is a StockUnit for a closed Dossier (doc.id= " + doc.getId() + "):\n" + dos.toMultiLine() + "\n\n" + su + "\n\n" + "Original LTS: " + allLts.stream().filter(x -> x.getUnits().contains(su)).findAny().orElse(null), su);
                }
            }
        } else {
            for (Integer uuId : dos.getRelevantUniqueUnitIds()) {
                StockUnit su = stockAgent.findStockUnitByUniqueUnitIdEager(uuId);
                assertNotNull("There is no StockUnit for an open Dossier\n" + dos, su);
            }
        }
    }
    long reportSize = reportAgent.count(ReportLine.class);
    assertFalse(reportSize == 0);
    redTapeCloser.executeManual("Junit");
    assertEquals("Second call should not add anything new", reportSize, reportAgent.count(ReportLine.class));
}
Also used : UnitPositionHook(eu.ggnet.dwoss.redtape.ee.api.UnitPositionHook) java.util(java.util) CustomerServiceBean(eu.ggnet.dwoss.customer.ee.CustomerServiceBean) Arquillian(org.jboss.arquillian.junit.Arquillian) StockTransaction(eu.ggnet.dwoss.stock.ee.entity.StockTransaction) CustomerGeneratorOperation(eu.ggnet.dwoss.customer.ee.assist.gen.CustomerGeneratorOperation) Assertions.assertThat(org.assertj.core.api.Assertions.assertThat) RunWith(org.junit.runner.RunWith) BLOCK(eu.ggnet.dwoss.rules.DocumentType.BLOCK) RedTapeWorker(eu.ggnet.dwoss.redtapext.ee.RedTapeWorker) eu.ggnet.dwoss.rules(eu.ggnet.dwoss.rules) UserInfoException(eu.ggnet.dwoss.util.UserInfoException) UniqueUnit(eu.ggnet.dwoss.uniqueunit.ee.entity.UniqueUnit) RedTapeCloser(eu.ggnet.dwoss.redtapext.ee.reporting.RedTapeCloser) Inject(javax.inject.Inject) StockAgent(eu.ggnet.dwoss.stock.ee.StockAgent) ProductEao(eu.ggnet.dwoss.uniqueunit.ee.eao.ProductEao) After(org.junit.After) Result(eu.ggnet.dwoss.util.interactiveresult.Result) RedTapeGeneratorOperation(eu.ggnet.dwoss.redtapext.ee.gen.RedTapeGeneratorOperation) EJB(javax.ejb.EJB) UniqueUnitFormater(eu.ggnet.dwoss.uniqueunit.ee.format.UniqueUnitFormater) PriceType(eu.ggnet.dwoss.uniqueunit.ee.entity.PriceType) CustomerMetaData(eu.ggnet.dwoss.customer.opi.CustomerMetaData) StockUnit(eu.ggnet.dwoss.stock.ee.entity.StockUnit) Test(org.junit.Test) CANCELED(eu.ggnet.dwoss.redtape.ee.entity.Document.Condition.CANCELED) Collectors(java.util.stream.Collectors) eu.ggnet.dwoss.mandator.api.value(eu.ggnet.dwoss.mandator.api.value) eu.ggnet.dwoss.redtapext.op.itest.support(eu.ggnet.dwoss.redtapext.op.itest.support) REFURBISHED_ID(eu.ggnet.dwoss.uniqueunit.ee.entity.UniqueUnit.Identifier.REFURBISHED_ID) ReportAgent(eu.ggnet.dwoss.report.ee.ReportAgent) ReportLine(eu.ggnet.dwoss.report.ee.entity.ReportLine) PRODUCT_BATCH(eu.ggnet.dwoss.rules.PositionType.PRODUCT_BATCH) eu.ggnet.dwoss.redtape.ee.entity(eu.ggnet.dwoss.redtape.ee.entity) ACER(eu.ggnet.dwoss.rules.TradeName.ACER) Product(eu.ggnet.dwoss.uniqueunit.ee.entity.Product) LogicTransaction(eu.ggnet.dwoss.stock.ee.entity.LogicTransaction) Assert(org.junit.Assert) RedTapeAgent(eu.ggnet.dwoss.redtape.ee.RedTapeAgent) ReceiptGeneratorOperation(eu.ggnet.dwoss.receipt.ee.gen.ReceiptGeneratorOperation) ReportLine(eu.ggnet.dwoss.report.ee.entity.ReportLine) LogicTransaction(eu.ggnet.dwoss.stock.ee.entity.LogicTransaction) StockUnit(eu.ggnet.dwoss.stock.ee.entity.StockUnit) StockTransaction(eu.ggnet.dwoss.stock.ee.entity.StockTransaction) Test(org.junit.Test)

Example 3 with ACER

use of eu.ggnet.dwoss.rules.TradeName.ACER in project dwoss by gg-net.

the class UnitViewTryout method main.

public static void main(String[] args) throws Exception {
    UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
    final SpecGenerator GEN = new SpecGenerator();
    final List<ProductSpec> productSpecs = new ArrayList<>();
    final Map<String, ProductModel> productModels = new HashMap<>();
    final Map<String, ProductSeries> productSeries = new HashMap<>();
    final Map<String, ProductFamily> productFamily = new HashMap<>();
    final List<Product> products = new ArrayList<>();
    for (int i = 0; i < 100; i++) {
        ProductSpec spec = GEN.makeSpec();
        productSpecs.add(spec);
        products.add(new Product(spec.getModel().getFamily().getSeries().getGroup(), spec.getModel().getFamily().getSeries().getBrand(), spec.getPartNo(), spec.getModel().getName()));
        productModels.putIfAbsent(spec.getModel().getName(), spec.getModel());
        productFamily.putIfAbsent(spec.getModel().getFamily().getName(), spec.getModel().getFamily());
        productSeries.putIfAbsent(spec.getModel().getFamily().getSeries().getName(), spec.getModel().getFamily().getSeries());
    }
    // final Product product = new Product(spec.getModel().getFamily().getSeries().getGroup(),
    // spec.getModel().getFamily().getSeries().getBrand(), spec.getPartNo(), spec.getModel().getName());
    Dl.remote().add(Mandators.class, new Mandators() {

        @Override
        public Mandator loadMandator() {
            return Mandator.builder().defaultMailSignature(null).smtpConfiguration(null).mailTemplateLocation(null).company(CompanyGen.makeCompany()).dossierPrefix("DW").documentIntermix(null).documentIdentifierGeneratorConfigurations(new EnumMap<>(DocumentType.class)).build();
        }

        @Override
        public DefaultCustomerSalesdata loadSalesdata() {
            // To change body of generated methods, choose Tools | Templates.
            throw new UnsupportedOperationException("Not supported yet.");
        }

        @Override
        public ReceiptCustomers loadReceiptCustomers() {
            return ReceiptCustomers.builder().build();
        }

        @Override
        public SpecialSystemCustomers loadSystemCustomers() {
            // To change body of generated methods, choose Tools | Templates.
            throw new UnsupportedOperationException("Not supported yet.");
        }

        @Override
        public Contractors loadContractors() {
            return new Contractors(EnumSet.allOf(TradeName.class), TradeName.getManufacturers());
        }

        @Override
        public PostLedger loadPostLedger() {
            // To change body of generated methods, choose Tools | Templates.
            throw new UnsupportedOperationException("Not supported yet.");
        }

        @Override
        public ShippingTerms loadShippingTerms() {
            // To change body of generated methods, choose Tools | Templates.
            throw new UnsupportedOperationException("Not supported yet.");
        }
    });
    Dl.remote().add(SpecAgent.class, new SpecAgent() {

        @Override
        public ProductSpec findProductSpecByPartNoEager(String partNo) {
            return productSpecs.stream().filter(p -> Objects.equals(partNo, p.getPartNo())).findFirst().orElse(null);
        }

        // <editor-fold defaultstate="collapsed" desc="Unneeded Methods">
        @Override
        public <T> long count(Class<T> entityClass) {
            // To change body of generated methods, choose Tools | Templates.
            throw new UnsupportedOperationException("Not supported yet.");
        }

        @Override
        public <T> List<T> findAll(Class<T> entityClass) {
            if (entityClass.equals(ProductSpec.class))
                return (List<T>) productSpecs;
            else if (entityClass.equals(ProductSeries.class))
                return (List<T>) new ArrayList<>(productSeries.values());
            else if (entityClass.equals(ProductFamily.class))
                return (List<T>) new ArrayList<>(productFamily.values());
            else if (entityClass.equals(ProductModel.class))
                return (List<T>) new ArrayList<>(productModels.values());
            return Collections.emptyList();
        }

        @Override
        public <T> List<T> findAll(Class<T> entityClass, int start, int amount) {
            // To change body of generated methods, choose Tools | Templates.
            throw new UnsupportedOperationException("Not supported yet.");
        }

        @Override
        public <T> List<T> findAllEager(Class<T> entityClass) {
            return findAll(entityClass);
        }

        @Override
        public <T> List<T> findAllEager(Class<T> entityClass, int start, int amount) {
            return findAll(entityClass, start, amount);
        }

        @Override
        public <T> T findById(Class<T> entityClass, Object id) {
            // To change body of generated methods, choose Tools | Templates.
            throw new UnsupportedOperationException("Not supported yet.");
        }

        @Override
        public <T> T findById(Class<T> entityClass, Object id, LockModeType lockModeType) {
            // To change body of generated methods, choose Tools | Templates.
            throw new UnsupportedOperationException("Not supported yet.");
        }

        @Override
        public <T> T findByIdEager(Class<T> entityClass, Object id) {
            // To change body of generated methods, choose Tools | Templates.
            throw new UnsupportedOperationException("Not supported yet.");
        }

        @Override
        public <T> T findByIdEager(Class<T> entityClass, Object id, LockModeType lockModeType) {
            // To change body of generated methods, choose Tools | Templates.
            throw new UnsupportedOperationException("Not supported yet.");
        }
    });
    Dl.remote().add(UnitSupporter.class, new UnitSupporter() {

        @Override
        public boolean isRefurbishIdAvailable(String refurbishId) {
            return Pattern.matches("([2-8][0-9]{4}|A1[0-9]{3})", refurbishId);
        }

        @Override
        public boolean isSerialAvailable(String serial) {
            if (serial == null)
                return true;
            return !serial.startsWith("AAAA");
        }

        @Override
        public String findRefurbishIdBySerial(String serial) {
            if (serial == null)
                return null;
            if (serial.startsWith("B"))
                return "12345";
            return null;
        }
    });
    Dl.remote().add(UniqueUnitAgent.class, new UniqueUnitAgent() {

        @Override
        public Product findProductByPartNo(String partNo) {
            return products.stream().filter(p -> Objects.equals(partNo, p.getPartNo())).findFirst().orElse(null);
        }

        // <editor-fold defaultstate="collapsed" desc="Unneeded Methods">
        @Override
        public UniqueUnit findUnitByIdentifierEager(UniqueUnit.Identifier type, String identifier) {
            // To change body of generated methods, choose Tools | Templates.
            throw new UnsupportedOperationException("Not supported yet.");
        }

        @Override
        public <T> long count(Class<T> entityClass) {
            // To change body of generated methods, choose Tools | Templates.
            throw new UnsupportedOperationException("Not supported yet.");
        }

        @Override
        public <T> List<T> findAll(Class<T> entityClass) {
            // To change body of generated methods, choose Tools | Templates.
            throw new UnsupportedOperationException("Not supported yet.");
        }

        @Override
        public <T> List<T> findAll(Class<T> entityClass, int start, int amount) {
            // To change body of generated methods, choose Tools | Templates.
            throw new UnsupportedOperationException("Not supported yet.");
        }

        @Override
        public <T> List<T> findAllEager(Class<T> entityClass) {
            // To change body of generated methods, choose Tools | Templates.
            throw new UnsupportedOperationException("Not supported yet.");
        }

        @Override
        public <T> List<T> findAllEager(Class<T> entityClass, int start, int amount) {
            // To change body of generated methods, choose Tools | Templates.
            throw new UnsupportedOperationException("Not supported yet.");
        }

        @Override
        public <T> T findById(Class<T> entityClass, Object id) {
            // To change body of generated methods, choose Tools | Templates.
            throw new UnsupportedOperationException("Not supported yet.");
        }

        @Override
        public <T> T findById(Class<T> entityClass, Object id, LockModeType lockModeType) {
            // To change body of generated methods, choose Tools | Templates.
            throw new UnsupportedOperationException("Not supported yet.");
        }

        @Override
        public <T> T findByIdEager(Class<T> entityClass, Object id) {
            // To change body of generated methods, choose Tools | Templates.
            throw new UnsupportedOperationException("Not supported yet.");
        }

        @Override
        public <T> T findByIdEager(Class<T> entityClass, Object id, LockModeType lockModeType) {
            // To change body of generated methods, choose Tools | Templates.
            throw new UnsupportedOperationException("Not supported yet.");
        }

        @Override
        public Product findProductByPartNoEager(String partNo) {
            // To change body of generated methods, choose Tools | Templates.
            throw new UnsupportedOperationException("Not supported yet.");
        }

        @Override
        public CategoryProduct createOrUpdate(CategoryProductDto dto, String username) throws NullPointerException {
            // To change body of generated methods, choose Tools | Templates.
            throw new UnsupportedOperationException("Not supported yet.");
        }

        // </editor-fold>
        @Override
        public Reply<Void> deleteCategoryProduct(long id) {
            // To change body of generated methods, choose Tools | Templates.
            throw new UnsupportedOperationException("Not supported yet.");
        }

        @Override
        public Reply<Void> addToUnitCollection(PicoUnit unit, long unitCollectionId) {
            // To change body of generated methods, choose Tools | Templates.
            throw new UnsupportedOperationException("Not supported yet.");
        }

        @Override
        public Reply<Void> unsetUnitCollection(PicoUnit unit) {
            // To change body of generated methods, choose Tools | Templates.
            throw new UnsupportedOperationException("Not supported yet.");
        }

        @Override
        public Reply<UnitCollection> createOnProduct(long productId, UnitCollectionDto dto, String username) {
            // To change body of generated methods, choose Tools | Templates.
            throw new UnsupportedOperationException("Not supported yet.");
        }

        @Override
        public Reply<UnitCollection> update(UnitCollectionDto dto, String username) {
            // To change body of generated methods, choose Tools | Templates.
            throw new UnsupportedOperationException("Not supported yet.");
        }

        @Override
        public Reply<Void> delete(UnitCollection dto) {
            // To change body of generated methods, choose Tools | Templates.
            throw new UnsupportedOperationException("Not supported yet.");
        }
    });
    Dl.remote().add(ProductProcessor.class, new ProductProcessorStub());
    UnitController controller = new UnitController();
    UnitModel model = new UnitModel();
    model.setContractor(ONESELF);
    model.setMode(ACER);
    controller.setModel(model);
    final UnitView view = new UnitView(null);
    view.setModel(model);
    controller.setView(view);
    view.setController(controller);
    controller.init();
    // To Model
    view.setVisible(true);
    System.out.println("View canceled ? " + view.isCancel());
    System.out.println(view.getUnit());
    System.out.println(model.getProduct());
    System.out.println(model.getOperation());
    System.out.println(model.getOperationComment());
}
Also used : ProductModel(eu.ggnet.dwoss.spec.ee.entity.ProductModel) UIManager(javax.swing.UIManager) java.util(java.util) TradeName(eu.ggnet.dwoss.rules.TradeName) ONESELF(eu.ggnet.dwoss.rules.TradeName.ONESELF) CategoryProductDto(eu.ggnet.dwoss.uniqueunit.ee.entity.dto.CategoryProductDto) UniqueUnit(eu.ggnet.dwoss.uniqueunit.ee.entity.UniqueUnit) CategoryProduct(eu.ggnet.dwoss.uniqueunit.ee.entity.CategoryProduct) Dl(eu.ggnet.saft.Dl) UnitCollectionDto(eu.ggnet.dwoss.uniqueunit.ee.entity.dto.UnitCollectionDto) ProductSpec(eu.ggnet.dwoss.spec.ee.entity.ProductSpec) DocumentType(eu.ggnet.dwoss.rules.DocumentType) ProductSeries(eu.ggnet.dwoss.spec.ee.entity.ProductSeries) UnitSupporter(eu.ggnet.dwoss.receipt.ee.UnitSupporter) Mandators(eu.ggnet.dwoss.mandator.Mandators) UniqueUnitAgent(eu.ggnet.dwoss.uniqueunit.ee.UniqueUnitAgent) ProductFamily(eu.ggnet.dwoss.spec.ee.entity.ProductFamily) PicoUnit(eu.ggnet.dwoss.uniqueunit.api.PicoUnit) UnitCollection(eu.ggnet.dwoss.uniqueunit.ee.entity.UnitCollection) SpecAgent(eu.ggnet.dwoss.spec.ee.SpecAgent) eu.ggnet.dwoss.mandator.api.value(eu.ggnet.dwoss.mandator.api.value) SpecGenerator(eu.ggnet.dwoss.spec.ee.assist.gen.SpecGenerator) ProductProcessor(eu.ggnet.dwoss.receipt.ee.ProductProcessor) ProductProcessorStub(eu.ggnet.dwoss.receipt.stub.ProductProcessorStub) Reply(eu.ggnet.saft.api.Reply) ACER(eu.ggnet.dwoss.rules.TradeName.ACER) Product(eu.ggnet.dwoss.uniqueunit.ee.entity.Product) Pattern(java.util.regex.Pattern) LockModeType(javax.persistence.LockModeType) ProductFamily(eu.ggnet.dwoss.spec.ee.entity.ProductFamily) CategoryProduct(eu.ggnet.dwoss.uniqueunit.ee.entity.CategoryProduct) CategoryProduct(eu.ggnet.dwoss.uniqueunit.ee.entity.CategoryProduct) Product(eu.ggnet.dwoss.uniqueunit.ee.entity.Product) UnitCollection(eu.ggnet.dwoss.uniqueunit.ee.entity.UnitCollection) UniqueUnitAgent(eu.ggnet.dwoss.uniqueunit.ee.UniqueUnitAgent) UnitCollectionDto(eu.ggnet.dwoss.uniqueunit.ee.entity.dto.UnitCollectionDto) ProductSpec(eu.ggnet.dwoss.spec.ee.entity.ProductSpec) UniqueUnit(eu.ggnet.dwoss.uniqueunit.ee.entity.UniqueUnit) Mandators(eu.ggnet.dwoss.mandator.Mandators) LockModeType(javax.persistence.LockModeType) ProductProcessorStub(eu.ggnet.dwoss.receipt.stub.ProductProcessorStub) UnitSupporter(eu.ggnet.dwoss.receipt.ee.UnitSupporter) SpecAgent(eu.ggnet.dwoss.spec.ee.SpecAgent) SpecGenerator(eu.ggnet.dwoss.spec.ee.assist.gen.SpecGenerator) ProductSeries(eu.ggnet.dwoss.spec.ee.entity.ProductSeries) ProductModel(eu.ggnet.dwoss.spec.ee.entity.ProductModel) DocumentType(eu.ggnet.dwoss.rules.DocumentType) PicoUnit(eu.ggnet.dwoss.uniqueunit.api.PicoUnit) CategoryProductDto(eu.ggnet.dwoss.uniqueunit.ee.entity.dto.CategoryProductDto) Reply(eu.ggnet.saft.api.Reply)

Aggregations

ACER (eu.ggnet.dwoss.rules.TradeName.ACER)3 UniqueUnit (eu.ggnet.dwoss.uniqueunit.ee.entity.UniqueUnit)3 java.util (java.util)3 CustomerGeneratorOperation (eu.ggnet.dwoss.customer.ee.assist.gen.CustomerGeneratorOperation)2 eu.ggnet.dwoss.mandator.api.value (eu.ggnet.dwoss.mandator.api.value)2 ReceiptGeneratorOperation (eu.ggnet.dwoss.receipt.ee.gen.ReceiptGeneratorOperation)2 RedTapeAgent (eu.ggnet.dwoss.redtape.ee.RedTapeAgent)2 RedTapeWorker (eu.ggnet.dwoss.redtapext.ee.RedTapeWorker)2 RedTapeGeneratorOperation (eu.ggnet.dwoss.redtapext.ee.gen.RedTapeGeneratorOperation)2 RedTapeCloser (eu.ggnet.dwoss.redtapext.ee.reporting.RedTapeCloser)2 ReportAgent (eu.ggnet.dwoss.report.ee.ReportAgent)2 ReportLine (eu.ggnet.dwoss.report.ee.entity.ReportLine)2 eu.ggnet.dwoss.rules (eu.ggnet.dwoss.rules)2 DocumentType (eu.ggnet.dwoss.rules.DocumentType)2 StockAgent (eu.ggnet.dwoss.stock.ee.StockAgent)2 Product (eu.ggnet.dwoss.uniqueunit.ee.entity.Product)2 UserInfoException (eu.ggnet.dwoss.util.UserInfoException)2 Collectors (java.util.stream.Collectors)2 EJB (javax.ejb.EJB)2 Inject (javax.inject.Inject)2