package tryout; import eu.ggnet.dwoss.mandator.api.value.ReceiptCustomers; import eu.ggnet.dwoss.rules.PaymentCondition; import eu.ggnet.dwoss.mandator.api.value.Contractors; import eu.ggnet.dwoss.mandator.api.value.DefaultCustomerSalesdata; import eu.ggnet.dwoss.mandator.api.value.ShippingTerms; import eu.ggnet.dwoss.mandator.api.value.SpecialSystemCustomers; import eu.ggnet.dwoss.rules.PaymentMethod; import eu.ggnet.dwoss.mandator.api.value.Mandator; import eu.ggnet.dwoss.rules.ShippingCondition; import eu.ggnet.dwoss.mandator.api.value.PostLedger; import eu.ggnet.dwoss.redtape.document.DocumentUpdateController; import eu.ggnet.dwoss.redtape.document.DocumentUpdateView; import eu.ggnet.dwoss.redtape.UnitOverseer; import eu.ggnet.dwoss.redtape.RedTapeWorker; import eu.ggnet.dwoss.redtape.entity.Dossier; import eu.ggnet.dwoss.redtape.entity.Position; import eu.ggnet.dwoss.redtape.entity.Document; import eu.ggnet.dwoss.redtape.entity.Address; import javax.swing.UIManager; import javax.swing.UIManager.LookAndFeelInfo; import javax.swing.UnsupportedLookAndFeelException; import org.junit.Test; import eu.ggnet.saft.core.Client; import eu.ggnet.dwoss.customer.api.CustomerService; import eu.ggnet.dwoss.mandator.MandatorSupporter; import eu.ggnet.dwoss.redtape.RedTapeAgent; import eu.ggnet.dwoss.redtape.api.RedTapeHookService; import eu.ggnet.dwoss.util.OkCancelDialog; import tryout.stub.*; import static eu.ggnet.dwoss.configuration.GlobalConfig.TAX; import static eu.ggnet.dwoss.rules.PositionType.*; /** * * @author oliver.guenther */ public class DocumentUpdate { @Test public void tryout() throws InterruptedException { Client.addSampleStub(CustomerService.class, new CustomerServiceStub()); try { for (LookAndFeelInfo info : UIManager.getInstalledLookAndFeels()) { if ( "Nimbus".equals(info.getName()) ) { UIManager.setLookAndFeel(info.getClassName()); break; } } } catch (ClassNotFoundException | IllegalAccessException | InstantiationException | UnsupportedLookAndFeelException e) { // If Nimbus is not available, you can set the GUI to another look and feel. } Dossier dos = new Dossier(); dos.setPaymentMethod(PaymentMethod.DIRECT_DEBIT); final Document doc = new Document(); dos.add(doc); Address address = new Address("Max Mustermann\nMusterstrass 11\n22222 Musterstadt"); doc.setInvoiceAddress(address); doc.setShippingAddress(address); doc.append(Position.builder() .type(UNIT) .amount(1) .description("Intel Core I7 i7-4500U (1.8 Ghz), Memory (in MB): 8192, Intel Graphics Series HD on Board, Festplatte(n): 750GB HDD," + " Display: 15.6\" (39,62 cm), Crystal Bright, HD (1366x768), 16:9, , Farbe: silber, Ausstattung: Touchscreen, USB 3, Bluetooth," + " Kartenleser, WLAN b + g + n, Webcam, Videokonnektor(en) : HDMI, VGA, Windows 8.1 64") .name("Acer Aspire E1-572P-74508G75Dnii (NX.MFSED.003) SopoNr:123456 SN:NXMFSED00312312122EF001S") .price(100) .tax(TAX) .afterTaxPrice(119) .bookingAccount(-1).build()); doc.append(Position.builder() .type(UNIT) .amount(1) .description("Intel Core I7 i7-4500U (1.8 Ghz), Memory (in MB): 8192, Intel Graphics Series HD on Board, Festplatte(n): 750GB HDD," + " Display: 15.6\" (39,62 cm), Crystal Bright, HD (1366x768), 16:9, , Farbe: silber, Ausstattung: Touchscreen, USB 3, Bluetooth," + " Kartenleser, WLAN b + g + n, Webcam, Videokonnektor(en) : HDMI, VGA, Windows 8.1 64") .name("Acer Aspire E1-572P-74508G75Dnii (NX.MFSED.003) SopoNr:12345 SN:NXMFSED00312312122EF001S") .price(100) .tax(TAX) .afterTaxPrice(119) .bookingAccount(-1).build()); doc.append(Position.builder() .type(UNIT) .amount(1) .description("Intel Core I7 i7-4500U (1.8 Ghz), Memory (in MB): 8192, Intel Graphics Series HD on Board, Festplatte(n): 750GB HDD," + " Display: 15.6\" (39,62 cm), Crystal Bright, HD (1366x768), 16:9, , Farbe: silber, Ausstattung: Touchscreen, USB 3, Bluetooth," + " Kartenleser, WLAN b + g + n, Webcam, Videokonnektor(en) : HDMI, VGA, Windows 8.1 64") .name("Acer Aspire E1-572P-74508G75Dnii (NX.MFSED.003) SopoNr:1234 SN:NXMFSED00312312122EF001S") .price(100) .tax(TAX) .afterTaxPrice(119) .bookingAccount(-1).build()); doc.append(Position.builder() .type(SERVICE) .amount(1) .description("Intel Core I7 i7-4500U (1.8 Ghz), Memory (in MB): 8192, Intel Graphics Series HD on Board, Festplatte(n): 750GB HDD," + " Display: 15.6\" (39,62 cm), Crystal Bright, HD (1366x768), 16:9, , Farbe: silber, Ausstattung: Touchscreen, USB 3, Bluetooth," + " Kartenleser, WLAN b + g + n, Webcam, Videokonnektor(en) : HDMI, VGA, Windows 8.1 64") .name("Service Acer Aspire E1-572P-74508G75Dnii") .price(100) .tax(TAX) .afterTaxPrice(119) .bookingAccount(-1).build()); doc.append(Position.builder() .type(SHIPPING_COST) .amount(1) .description("Versandkosten") .name("Versandkosten") .price(10) .tax(TAX) .afterTaxPrice(11.90) .bookingAccount(-1) .build() ); Client.addSampleStub(MandatorSupporter.class, new MandatorSupporter() { @Override public Mandator loadMandator() { throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. } @Override public DefaultCustomerSalesdata loadSalesdata() { return new DefaultCustomerSalesdata(ShippingCondition.DEFAULT, PaymentCondition.CUSTOMER, PaymentMethod.DIRECT_DEBIT, null, null); } @Override public ReceiptCustomers loadReceiptCustomers() { throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. } @Override public SpecialSystemCustomers loadSystemCustomers() { throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. } @Override public Contractors loadContractors() { throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. } @Override public PostLedger loadPostLedger() { throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. } @Override public ShippingTerms loadShippingTerms() { throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. } }); Client.addSampleStub(RedTapeWorker.class, new RedTapeWorkerStub()); Client.addSampleStub(RedTapeAgent.class, null); Client.addSampleStub(UnitOverseer.class, null); Client.addSampleStub(RedTapeHookService.class, null); DocumentUpdateView cd = new DocumentUpdateView(doc); DocumentUpdateController controller = new DocumentUpdateController(cd, doc); cd.setController(controller); cd.setCustomerValues(1); OkCancelDialog<DocumentUpdateView> cdDialog = new OkCancelDialog<>("Auftrag anlegen", cd); cdDialog.setVisible(true); } }