Search in sources :

Example 1 with ProductSpec

use of eu.ggnet.dwoss.spec.ee.entity.ProductSpec in project dwoss by gg-net.

the class SalesProductOperationIT method testUpdateSalesProdukt.

/**
 * Test of updatePrice method, of class SalesProductOperation.
 * <p>
 * @throws de.dw.util.UserInfoException
 */
// Fails under Linux, Enable with Arquilian
@Ignore
@Test
public void testUpdateSalesProdukt() throws UserInfoException {
    ProductSpec ps = receiptGenerator.makeProductSpec();
    SalesProduct createSalesProduct = redTapeWorker.createSalesProduct(ps.getPartNo());
    createSalesProduct.setPrice(1337.37);
    SalesProduct updateSalesProdukt = redTapeAgent.merge(createSalesProduct);
    assertTrue(updateSalesProdukt.getPrice() == 1337.37);
}
Also used : ProductSpec(eu.ggnet.dwoss.spec.ee.entity.ProductSpec) SalesProduct(eu.ggnet.dwoss.redtape.ee.entity.SalesProduct)

Example 2 with ProductSpec

use of eu.ggnet.dwoss.spec.ee.entity.ProductSpec in project dwoss by gg-net.

the class SalesProductOperationIT method testCreateSalesProduct.

/**
 * Test of createSalesProduct method, of class SalesProductOperation.
 * <p>
 * @throws de.dw.util.UserInfoException
 */
// Fails under Linux, Enable with Arquilian
@Ignore
@Test
public void testCreateSalesProduct() throws UserInfoException {
    ProductSpec ps = receiptGenerator.makeProductSpec();
    redTapeWorker.createSalesProduct(ps.getPartNo());
    List<SalesProduct> salesProducts = redTapeAgent.findAll(SalesProduct.class);
    SalesProduct salesProduct = new SalesProduct(ps.getPartNo(), ps.getModel().getName(), 0., ps.getProductId(), SpecFormater.toSingleLine(ps));
    assertTrue(salesProducts.contains(salesProduct));
}
Also used : ProductSpec(eu.ggnet.dwoss.spec.ee.entity.ProductSpec) SalesProduct(eu.ggnet.dwoss.redtape.ee.entity.SalesProduct)

Example 3 with ProductSpec

use of eu.ggnet.dwoss.spec.ee.entity.ProductSpec in project dwoss by gg-net.

the class PersistenceIT method testPersistence.

@Test
public void testPersistence() throws Exception {
    utx.begin();
    em.joinTransaction();
    // A Notebook
    ProductSeries ps = new ProductSeries(TradeName.ACER, ProductGroup.NOTEBOOK, "TravelMate");
    em.persist(ps);
    ProductFamily pf = new ProductFamily("TravelMate 8700");
    pf.setSeries(ps);
    em.persist(pf);
    ProductModel pm = new ProductModel("TravelMate 8741-81222132");
    pm.setFamily(pf);
    em.persist(pm);
    Notebook notebook = new Notebook();
    notebook.setPartNo("LX.AAAAA.BBB");
    notebook.setModel(pm);
    notebook.setVideoPorts(EnumSet.allOf(BasicSpec.VideoPort.class));
    notebook.setComment("Ein Kommentar");
    notebook.setCpu(new Cpu(Cpu.Series.CORE, "Eine CPU", Cpu.Type.MOBILE, 123.1, 2));
    notebook.setGpu(new Gpu(Gpu.Type.MOBILE, Gpu.Series.RADEON_HD_4000, "Eine Graphiccarte"));
    notebook.setOs(Desktop.Os.LINUX);
    notebook.setMemory(12345);
    notebook.add(Desktop.Hdd.ROTATING_0500);
    notebook.add(Desktop.Odd.BLURAY_COMBO);
    notebook.setExtras(Desktop.Extra.KAMERA);
    notebook.setDisplay(new Display(Display.Size._10_1, Display.Resolution.VGA, Display.Type.MATT, Display.Ration.FOUR_TO_THREE));
    em.persist(notebook);
    // An AllInOne
    ps = new ProductSeries(TradeName.ACER, ProductGroup.ALL_IN_ONE, "AllInOne");
    em.persist(ps);
    pf = new ProductFamily("Z5600");
    pf.setSeries(ps);
    em.persist(pf);
    pm = new ProductModel("Z6523");
    pm.setFamily(pf);
    em.persist(pm);
    Notebook allInOne = new Notebook();
    allInOne.setPartNo("PX.AASAA.BBB");
    allInOne.setModel(pm);
    allInOne.setVideoPorts(EnumSet.allOf(BasicSpec.VideoPort.class));
    allInOne.setComment("Ein Kommentar");
    allInOne.setCpu(new Cpu(Cpu.Series.CELERON, "Eine CPU", Cpu.Type.MOBILE, 123.1, 2));
    allInOne.setGpu(new Gpu(Gpu.Type.MOBILE, Gpu.Series.RADEON_HD_4000, "Eine Graphiccarte"));
    allInOne.setOs(Desktop.Os.LINUX);
    allInOne.setMemory(12345);
    allInOne.add(Desktop.Hdd.ROTATING_0500);
    allInOne.add(Desktop.Odd.BLURAY_COMBO);
    allInOne.setExtras(Desktop.Extra.KAMERA);
    allInOne.setDisplay(new Display(Display.Size._10_1, Display.Resolution.VGA, Display.Type.MATT, Display.Ration.FOUR_TO_THREE));
    em.persist(allInOne);
    // A Desktop
    ProductSeries veriton = new ProductSeries(TradeName.ACER, ProductGroup.DESKTOP, "Veriton");
    em.persist(veriton);
    ProductFamily m400 = new ProductFamily("M400");
    m400.setSeries(veriton);
    em.persist(m400);
    ProductModel M480G = new ProductModel("M480G");
    M480G.setFamily(m400);
    em.persist(M480G);
    Gpu gpu = new Gpu(Gpu.Type.MOBILE, Gpu.Series.RADEON_HD_4000, "Eine Graphiccarte");
    em.persist(gpu);
    Cpu cpu = new Cpu(Cpu.Series.CORE, "Eine CPU", Cpu.Type.MOBILE, 123.1, 2);
    cpu.setEmbeddedGpu(gpu);
    em.persist(cpu);
    Desktop M480G_1 = new Desktop("PX.99999.321", 2L);
    M480G_1.setModel(M480G);
    M480G_1.setVideoPorts(EnumSet.allOf(BasicSpec.VideoPort.class));
    M480G_1.setComment("Ein Kommentar");
    M480G_1.setCpu(cpu);
    M480G_1.setGpu(gpu);
    M480G_1.setOs(Desktop.Os.LINUX);
    M480G_1.setMemory(12345);
    M480G_1.add(Desktop.Hdd.ROTATING_0500);
    M480G_1.add(Desktop.Odd.BLURAY_COMBO);
    M480G_1.setExtras(Desktop.Extra.KAMERA);
    em.persist(M480G_1);
    // A Monitor
    ProductSeries a = new ProductSeries(TradeName.ACER, ProductGroup.MONITOR, "A");
    em.persist(a);
    ProductFamily a230 = new ProductFamily("A230");
    a230.setSeries(a);
    em.persist(a230);
    ProductModel a231Hbmd = new ProductModel("A231Hbmd");
    a231Hbmd.setFamily(a230);
    em.persist(a231Hbmd);
    Monitor A231spec = new Monitor(new Display(Display.Size._11_6, Display.Resolution.VGA, Display.Type.CRYSTAL_BRIGHT, Display.Ration.SIXTEEN_TO_NINE));
    A231spec.setModel(a231Hbmd);
    A231spec.setPartNo("ET.VA1HE.008");
    A231spec.setProductId(3L);
    A231spec.setVideoPorts(EnumSet.allOf(BasicSpec.VideoPort.class));
    A231spec.setComment("Ein Kommentar");
    em.persist(A231spec);
    // A Bundle
    ProductSeries box = new ProductSeries(TradeName.ACER, ProductGroup.DESKTOP_BUNDLE, "Veriton");
    em.persist(box);
    ProductFamily boxf = new ProductFamily("M480");
    boxf.setSeries(box);
    em.persist(boxf);
    ProductModel boxm = new ProductModel("M480G + A231MuhMäh");
    boxm.setFamily(boxf);
    em.persist(boxm);
    DesktopBundle bundle = new DesktopBundle();
    bundle.setPartNo("BL.32199.321");
    bundle.setProductId(1L);
    bundle.setDesktop(M480G_1);
    bundle.setMonitor(A231spec);
    bundle.setModel(boxm);
    em.persist(bundle);
    utx.commit();
    utx.begin();
    em.joinTransaction();
    CriteriaQuery<ProductSeries> cq = em.getCriteriaBuilder().createQuery(ProductSeries.class);
    cq.select(cq.from(ProductSeries.class));
    List<ProductSeries> serieses = em.createQuery(cq).getResultList();
    assertFalse(serieses.isEmpty());
    for (ProductSeries series : serieses) {
        assertNotNull(series.getFamilys());
        assertFalse(series.getFamilys().isEmpty());
        for (ProductFamily family : series.getFamilys()) {
            assertNotNull(family.getModels());
            assertFalse(family.getModels().isEmpty());
            for (ProductModel model : family.getModels()) {
                assertNotNull(model.getSpecs());
                assertFalse(model.getSpecs().isEmpty());
                for (ProductSpec spec : model.getSpecs()) {
                    assertNotNull(spec.getPartNo());
                    assertNotNull(spec.getModel());
                    assertNotNull(spec.getModel().getFamily());
                    assertNotNull(spec.getModel().getFamily().getSeries());
                    assertNotNull(spec.getModel().getFamily().getSeries().getBrand());
                    assertNotNull(spec.getModel().getFamily().getSeries().getGroup());
                }
            }
        }
    }
    utx.commit();
}
Also used : ProductFamily(eu.ggnet.dwoss.spec.ee.entity.ProductFamily) Notebook(eu.ggnet.dwoss.spec.ee.entity.Notebook) Cpu(eu.ggnet.dwoss.spec.ee.entity.piece.Cpu) ProductSpec(eu.ggnet.dwoss.spec.ee.entity.ProductSpec) DesktopBundle(eu.ggnet.dwoss.spec.ee.entity.DesktopBundle) Gpu(eu.ggnet.dwoss.spec.ee.entity.piece.Gpu) Monitor(eu.ggnet.dwoss.spec.ee.entity.Monitor) Desktop(eu.ggnet.dwoss.spec.ee.entity.Desktop) ProductSeries(eu.ggnet.dwoss.spec.ee.entity.ProductSeries) ProductModel(eu.ggnet.dwoss.spec.ee.entity.ProductModel) Display(eu.ggnet.dwoss.spec.ee.entity.piece.Display) Test(org.junit.Test)

Example 4 with ProductSpec

use of eu.ggnet.dwoss.spec.ee.entity.ProductSpec in project dwoss by gg-net.

the class ProductSpecEaoFindByProductIdIT method testFindByProductId.

@Test
public void testFindByProductId() throws Exception {
    utx.begin();
    em.joinTransaction();
    ProductSeries veriton = new ProductSeries(TradeName.FUJITSU, ProductGroup.DESKTOP, "Veriton");
    em.persist(veriton);
    ProductFamily m400 = new ProductFamily("M400");
    m400.setSeries(veriton);
    em.persist(m400);
    ProductModel M480G = new ProductModel("M480G");
    M480G.setFamily(m400);
    em.persist(M480G);
    Desktop M480G_1 = new Desktop("PX.99999.321", 2L);
    M480G_1.setModel(M480G);
    M480G_1.setProductId(5L);
    M480G_1.setVideoPorts(EnumSet.allOf(BasicSpec.VideoPort.class));
    M480G_1.setComment("Ein Kommentar");
    M480G_1.setCpu(new Cpu(Cpu.Series.CORE, "Eine CPU", Cpu.Type.MOBILE, 123.0, 2));
    M480G_1.setGpu(new Gpu(Gpu.Type.MOBILE, Gpu.Series.RADEON_HD_4000, "Eine Graphiccarte"));
    M480G_1.setOs(Desktop.Os.LINUX);
    M480G_1.setMemory(12345);
    M480G_1.add(Desktop.Hdd.ROTATING_1000);
    M480G_1.add(Desktop.Odd.BLURAY_COMBO);
    M480G_1.setExtras(Desktop.Extra.KAMERA);
    em.persist(M480G_1);
    Desktop M480G_2 = new Desktop("PX.99999.AAA", 2L);
    M480G_2.setModel(M480G);
    M480G_2.setProductId(6L);
    M480G_2.setVideoPorts(EnumSet.allOf(BasicSpec.VideoPort.class));
    M480G_2.setComment("Ein Kommentar");
    M480G_2.setCpu(new Cpu(Cpu.Series.CORE, "Eine CPU", Cpu.Type.MOBILE, 123.0, 2));
    M480G_2.setGpu(new Gpu(Gpu.Type.MOBILE, Gpu.Series.RADEON_HD_4000, "Eine Graphiccarte"));
    M480G_2.setOs(Desktop.Os.LINUX);
    M480G_2.setMemory(12345);
    M480G_2.add(Desktop.Hdd.ROTATING_1000);
    M480G_2.add(Desktop.Odd.BLURAY_COMBO);
    M480G_2.setExtras(Desktop.Extra.KAMERA);
    em.persist(M480G_2);
    utx.commit();
    ProductSpecEao specEao = new ProductSpecEao(em);
    Desktop spec = (Desktop) specEao.findByProductId(5L);
    assertNotNull(spec);
    List<ProductSpec> productSpecs = specEao.findByProductIds(Arrays.asList(5L, 6L));
    assertEquals(2, productSpecs.size());
}
Also used : ProductFamily(eu.ggnet.dwoss.spec.ee.entity.ProductFamily) Desktop(eu.ggnet.dwoss.spec.ee.entity.Desktop) Cpu(eu.ggnet.dwoss.spec.ee.entity.piece.Cpu) ProductSeries(eu.ggnet.dwoss.spec.ee.entity.ProductSeries) ProductSpec(eu.ggnet.dwoss.spec.ee.entity.ProductSpec) ProductSpecEao(eu.ggnet.dwoss.spec.ee.eao.ProductSpecEao) Gpu(eu.ggnet.dwoss.spec.ee.entity.piece.Gpu) ProductModel(eu.ggnet.dwoss.spec.ee.entity.ProductModel) Test(org.junit.Test)

Example 5 with ProductSpec

use of eu.ggnet.dwoss.spec.ee.entity.ProductSpec in project dwoss by gg-net.

the class ContainerITGeneratorHelper method makeOne.

public ProductSpec makeOne() {
    SpecGenerator g = new SpecGenerator();
    ProductSpec spec = g.makeSpec();
    ProductModel model = spec.getModel();
    ProductModelEmo productModelEmo = new ProductModelEmo(specEm);
    model = productModelEmo.request(model.getFamily().getSeries().getBrand(), model.getFamily().getSeries().getGroup(), model.getFamily().getSeries().getName(), model.getFamily().getName(), model.getName());
    spec.setModel(model);
    if (spec instanceof DisplayAble) {
        DisplayAble da = (DisplayAble) spec;
        da.setDisplay(new DisplayEmo(specEm).weakRequest(da.getDisplay().getSize(), da.getDisplay().getResolution(), da.getDisplay().getType(), da.getDisplay().getRation()));
    }
    if (spec instanceof Desktop) {
        Desktop desktop = (Desktop) spec;
        if (desktop.getCpu() == null || desktop.getGpu() == null)
            throw new IllegalArgumentException("Cpu or Gpu of a Desktop are null. " + desktop);
        Cpu cpu = new CpuEao(specEm).findById(desktop.getCpu().getId());
        Gpu gpu = new GpuEao(specEm).findById(desktop.getGpu().getId());
        if (cpu != null)
            desktop.setCpu(cpu);
        if (gpu != null)
            desktop.setGpu(gpu);
    }
    specEm.persist(spec);
    return spec;
}
Also used : ProductModelEmo(eu.ggnet.dwoss.spec.ee.emo.ProductModelEmo) DisplayAble(eu.ggnet.dwoss.spec.ee.entity.DisplayAble) Desktop(eu.ggnet.dwoss.spec.ee.entity.Desktop) SpecGenerator(eu.ggnet.dwoss.spec.ee.assist.gen.SpecGenerator) Cpu(eu.ggnet.dwoss.spec.ee.entity.piece.Cpu) ProductSpec(eu.ggnet.dwoss.spec.ee.entity.ProductSpec) DisplayEmo(eu.ggnet.dwoss.spec.ee.emo.DisplayEmo) Gpu(eu.ggnet.dwoss.spec.ee.entity.piece.Gpu) ProductModel(eu.ggnet.dwoss.spec.ee.entity.ProductModel) CpuEao(eu.ggnet.dwoss.spec.ee.eao.CpuEao) GpuEao(eu.ggnet.dwoss.spec.ee.eao.GpuEao)

Aggregations

ProductSpec (eu.ggnet.dwoss.spec.ee.entity.ProductSpec)26 Test (org.junit.Test)10 ProductModel (eu.ggnet.dwoss.spec.ee.entity.ProductModel)8 Product (eu.ggnet.dwoss.uniqueunit.ee.entity.Product)8 ProductFamily (eu.ggnet.dwoss.spec.ee.entity.ProductFamily)7 ProductSeries (eu.ggnet.dwoss.spec.ee.entity.ProductSeries)7 Cpu (eu.ggnet.dwoss.spec.ee.entity.piece.Cpu)6 Gpu (eu.ggnet.dwoss.spec.ee.entity.piece.Gpu)6 UniqueUnit (eu.ggnet.dwoss.uniqueunit.ee.entity.UniqueUnit)6 SubMonitor (eu.ggnet.dwoss.progress.SubMonitor)4 ProductSpecEao (eu.ggnet.dwoss.spec.ee.eao.ProductSpecEao)4 Notebook (eu.ggnet.dwoss.spec.ee.entity.Notebook)4 Display (eu.ggnet.dwoss.spec.ee.entity.piece.Display)4 SpecAgent (eu.ggnet.dwoss.spec.ee.SpecAgent)3 SpecGenerator (eu.ggnet.dwoss.spec.ee.assist.gen.SpecGenerator)3 Desktop (eu.ggnet.dwoss.spec.ee.entity.Desktop)3 DesktopBundle (eu.ggnet.dwoss.spec.ee.entity.DesktopBundle)3 Shipment (eu.ggnet.dwoss.stock.ee.entity.Shipment)3 Stock (eu.ggnet.dwoss.stock.ee.entity.Stock)3 StockTransaction (eu.ggnet.dwoss.stock.ee.entity.StockTransaction)3