use of eu.ggnet.dwoss.redtape.ee.entity.Dossier in project dwoss by gg-net.
the class RedTapeTryout method main.
public static void main(String[] args) {
Dl.local().add(RemoteLookup.class, new RemoteLookup() {
@Override
public <T> boolean contains(Class<T> clazz) {
return false;
}
@Override
public <T> T lookup(Class<T> clazz) {
return null;
}
});
Dl.remote().add(RedTapeAgent.class, new RedTapeAgentStub());
Dl.remote().add(RedTapeWorker.class, new RedTapeWorkerStub());
Dl.remote().add(UniversalSearcher.class, new UniversalSearcherStub());
Dl.remote().add(CustomerService.class, new CustomerServiceStub());
Dl.remote().add(DocumentSupporter.class, new DocumentSupporter() {
@Override
public void mail(Document document, DocumentViewType jtype) throws UserInfoException, RuntimeException {
System.out.println("Mailing " + document);
}
@Override
public JasperPrint render(Document document, DocumentViewType viewType) {
// To change body of generated methods, choose Tools | Templates.
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public Dossier briefed(Document detached, String arranger) {
detached.add(Document.Flag.CUSTOMER_BRIEFED);
detached.add(Document.Flag.CUSTOMER_EXACTLY_BRIEFED);
return detached.getDossier();
}
@Override
public FileJacket toXls(String identifier) {
// To change body of generated methods, choose Tools | Templates.
throw new UnsupportedOperationException("Not supported yet.");
}
});
Dl.local().add(Guardian.class, new AbstractGuardian() {
@Override
public void login(String user, char[] pass) throws AuthenticationException {
setRights(new Operator(user, 1, Arrays.asList(AtomicRight.values())));
}
});
Dl.remote().add(StockAgent.class, null);
Dl.remote().add(UniqueUnitAgent.class, null);
// Dl.remote().add(LegacyRemoteBridge.class, null);
Dl.remote().add(ShippingCostService.class, null);
Mandators mandatorSupporterMock = mock(Mandators.class);
when(mandatorSupporterMock.loadSalesdata()).thenReturn(new DefaultCustomerSalesdata(ShippingCondition.DEFAULT, PaymentCondition.CUSTOMER, PaymentMethod.DIRECT_DEBIT, Arrays.asList(SalesChannel.CUSTOMER, SalesChannel.RETAILER), null));
Dl.remote().add(Mandators.class, mandatorSupporterMock);
CustomerUpi ccos = mock(CustomerUpi.class);
when(ccos.createCustomer(any())).thenReturn(0L);
when(ccos.updateCustomer(any(), anyLong())).thenReturn(true);
Dl.local().add(CustomerUpi.class, ccos);
UiCore.startSwing(() -> new JLabel("Main Applikation"));
Ui.exec(() -> {
Ui.build().swing().show(() -> RedTapeController.build().getView());
});
}
use of eu.ggnet.dwoss.redtape.ee.entity.Dossier in project dwoss by gg-net.
the class RedTapeOperationCapitalAssetCancelIT method testCancel.
@Test
public void testCancel() throws UserInfoException {
UniqueUnit uu = receiptGenerator.makeUniqueUnit();
uu.setPrice(CUSTOMER, 50., "JunitTestPrice");
// Generate Dossier
Dossier dos = redTapeWorker.create(capitalAssestCustomer, false, "Me");
Document doc = dos.getActiveDocuments(DocumentType.CAPITAL_ASSET).get(0);
assertTrue(doc.equalsContent(dos.getActiveDocuments(DocumentType.CAPITAL_ASSET).get(0)));
// Commit explicit date to document for assertion
doc = supportBean.changeActual(doc, new GregorianCalendar(2012, 3, 15).getTime());
// Create Positions
doc.append(NaivBuilderUtil.unit(uu));
doc.append(NaivBuilderUtil.comment("Comment", "A nice comment"));
// add units to LogicTransaction
unitOverseer.lockStockUnit(dos.getId(), uu.getIdentifier(UniqueUnit.Identifier.REFURBISHED_ID));
// update document
Date date = doc.getActual();
doc = redTapeWorker.update(doc, null, "Me");
assertEquals("Same actual dates expected", date, doc.getActual());
assertEquals("Only one Active Document expected", 1, doc.getDossier().getActiveDocuments().size());
assertTrue(stockAgent.findAllEager(LogicTransaction.class).get(0).getUnits().size() == 1);
assertEquals("Ammount of Documents", 2, redTapeAgent.findAll(Document.class).size());
// Now Cancel it
doc.add(Document.Condition.CANCELED);
doc = redTapeWorker.update(doc, null, "tester");
assertTrue("Document doesent contain the Condition Canceled " + doc, doc.getConditions().contains(Document.Condition.CANCELED));
for (Position position : doc.getPositions(PositionType.UNIT).values()) {
StockUnit su = stockAgent.findStockUnitByUniqueUnitIdEager(position.getUniqueUnitId());
assertNull(su + " should not have LogicTransaction", su.getLogicTransaction());
}
}
use of eu.ggnet.dwoss.redtape.ee.entity.Dossier in project dwoss by gg-net.
the class PersistenceIT method example.
@Test
public void example() throws Exception {
utx.begin();
em.joinTransaction();
Address addressOne = new Address("Test Straße 10, 123456 Testing");
em.persist(addressOne);
Dossier dos = new Dossier();
dos.setComment("Ein Kommentar");
dos.setCustomerId(10);
dos.setPaymentMethod(PaymentMethod.DIRECT_DEBIT);
Document doc = new Document();
doc.add(Condition.PAID);
doc.setActive(true);
doc.setInvoiceAddress(addressOne);
doc.setShippingAddress(addressOne);
doc.setHistory(new DocumentHistory("Nutzer", "Bemerkung"));
Position p = new PositionBuilder().type(PositionType.COMMENT).description("Comment").name("Comment").build();
doc.append(p);
doc.setDirective(Document.Directive.PREPARE_SHIPPING);
dos.add(doc);
em.persist(dos);
utx.commit();
utx.begin();
em.joinTransaction();
Address addressTwo = new Address("Persistencstraße 42, 1337 PersistencTest");
em.persist(addressTwo);
addressOne = em.merge(addressOne);
Dossier dossier = new Dossier();
dossier.setComment("Das ist nun ein Weitere Kommentar");
dossier.setCustomerId(12);
dossier.setReminder(new Reminder(new Date(), new Date(), "Junit"));
Document document = new Document();
document.setActive(true);
document.add(Condition.PAID);
document.add(Condition.CONFIRMED);
document.setInvoiceAddress(addressTwo);
document.setShippingAddress(addressOne);
document.setHistory(new DocumentHistory("Nutzer", "Bemerkung"));
Position p1 = new PositionBuilder().type(PositionType.COMMENT).description("Kommentare über Kommentare").name("Kommentar").build();
Position p2 = new PositionBuilder().type(PositionType.COMMENT).description("Noch mehr Kommentare").name("Kommentar").build();
Position p3 = new PositionBuilder().type(PositionType.COMMENT).description("So das war aber der Letzte").name("Kommentar").build();
document.append(p1);
document.append(p2);
document.append(p3);
Document document1 = new Document();
document1.setActive(false);
document1.setInvoiceAddress(addressTwo);
document1.setShippingAddress(addressOne);
document1.setHistory(new DocumentHistory("Nutzer", "Bemerkung"));
Position p4 = new PositionBuilder().type(PositionType.COMMENT).description("Ein zweites Doc mit Kommentaren").name("Kommentar").build();
Position p5 = new PositionBuilder().type(PositionType.COMMENT).description("Was sind das für Kommentare").name("Kommentar").build();
Position p6 = new PositionBuilder().type(PositionType.COMMENT).description("comment,comment.comment").name("Kommentar").build();
document1.append(p4);
document1.append(p5);
document1.append(p6);
document1.setDirective(Document.Directive.NONE);
dossier.add(document1);
em.persist(dossier);
utx.commit();
utx.begin();
em.joinTransaction();
CriteriaQuery<Dossier> q = em.getCriteriaBuilder().createQuery(Dossier.class);
List<Dossier> dossiers = em.createQuery(q.select(q.from(Dossier.class))).getResultList();
PositionEao positionEao = new PositionEao(em);
Logger L = LoggerFactory.getLogger(PersistenceIT.class);
for (Dossier ds : dossiers) {
L.info(ds.toMultiLine());
}
utx.commit();
}
use of eu.ggnet.dwoss.redtape.ee.entity.Dossier in project dwoss by gg-net.
the class DossierEaoFindByIdIT method testFindByIds.
@Test
public void testFindByIds() throws Exception {
AddressEmo adEmo = new AddressEmo(em);
List<Long> ids = new ArrayList<>();
utx.begin();
em.joinTransaction();
Dossier dos = new Dossier();
dos.setPaymentMethod(PaymentMethod.ADVANCE_PAYMENT);
dos.setCustomerId(1);
Document doc = new Document();
doc.setType(DocumentType.ORDER);
doc.setActive(true);
doc.setDirective(Document.Directive.NONE);
doc.setHistory(new DocumentHistory("JUnit", "Automatische Erstellung eines leeren Dokuments"));
doc.setInvoiceAddress(adEmo.request("Bla Bla"));
doc.setShippingAddress(adEmo.request("Auch"));
dos.add(doc);
em.persist(dos);
ids.add(dos.getId());
dos = new Dossier();
dos.setPaymentMethod(PaymentMethod.ADVANCE_PAYMENT);
dos.setCustomerId(1);
doc = new Document();
doc.setType(DocumentType.ORDER);
doc.setActive(true);
doc.setDirective(Document.Directive.NONE);
doc.setHistory(new DocumentHistory("JUnit", "Automatische Erstellung eines leeren Dokuments"));
doc.setInvoiceAddress(adEmo.request("Bla Bla"));
doc.setShippingAddress(adEmo.request("Auch"));
dos.add(doc);
em.persist(dos);
ids.add(dos.getId());
dos = new Dossier();
dos.setPaymentMethod(PaymentMethod.ADVANCE_PAYMENT);
dos.setCustomerId(1);
doc = new Document();
doc.setType(DocumentType.ORDER);
doc.setActive(true);
doc.setDirective(Document.Directive.NONE);
doc.setHistory(new DocumentHistory("JUnit", "Automatische Erstellung eines leeren Dokuments"));
doc.setInvoiceAddress(adEmo.request("Bla Bla"));
doc.setShippingAddress(adEmo.request("Auch"));
dos.add(doc);
em.persist(dos);
ids.add(dos.getId());
utx.commit();
utx.begin();
em.joinTransaction();
List<Dossier> dossiers = new DossierEao(em).findByIds(Arrays.asList(ids.get(0), ids.get(1)));
assertFalse("Dossiers should not be empty", dossiers.isEmpty());
assertEquals(2, dossiers.size());
utx.commit();
}
use of eu.ggnet.dwoss.redtape.ee.entity.Dossier in project dwoss by gg-net.
the class DossierEaoFindClosedIT method testFindByClosed.
@Test
public void testFindByClosed() throws Exception {
AddressEmo adEmo = new AddressEmo(em);
utx.begin();
em.joinTransaction();
Dossier dos = new Dossier();
dos.setPaymentMethod(PaymentMethod.ADVANCE_PAYMENT);
dos.setCustomerId(1);
Document doc = new Document();
doc.setType(DocumentType.ORDER);
doc.setActive(true);
doc.setDirective(Document.Directive.NONE);
doc.setHistory(new DocumentHistory("JUnit", "Automatische Erstellung eines leeren Dokuments"));
doc.setInvoiceAddress(adEmo.request("Bla Bla"));
doc.setShippingAddress(adEmo.request("Auch"));
dos.add(doc);
em.persist(dos);
dos = new Dossier();
dos.setPaymentMethod(PaymentMethod.ADVANCE_PAYMENT);
dos.setCustomerId(1);
doc = new Document();
doc.setType(DocumentType.ORDER);
doc.setActive(true);
doc.setDirective(Document.Directive.NONE);
doc.setHistory(new DocumentHistory("JUnit", "Automatische Erstellung eines leeren Dokuments"));
doc.setInvoiceAddress(adEmo.request("Bla Bla"));
doc.setShippingAddress(adEmo.request("Auch"));
dos.add(doc);
em.persist(dos);
dos = new Dossier();
dos.setPaymentMethod(PaymentMethod.ADVANCE_PAYMENT);
dos.setCustomerId(1);
dos.setClosed(true);
doc = new Document();
doc.setType(DocumentType.ORDER);
doc.setActive(true);
doc.setDirective(Document.Directive.NONE);
doc.setHistory(new DocumentHistory("JUnit", "Automatische Erstellung eines leeren Dokuments"));
doc.setInvoiceAddress(adEmo.request("Bla Bla"));
doc.setShippingAddress(adEmo.request("Auch"));
doc.setClosed(true);
dos.add(doc);
em.persist(dos);
utx.commit();
utx.begin();
em.joinTransaction();
List<Dossier> dossiers = new DossierEao(em).findByClosed(false);
assertFalse("Dossiers should not be empty", dossiers.isEmpty());
assertEquals(2, dossiers.size());
utx.commit();
}
Aggregations