NsesssMapper { public void fillDisposalDate(Dokument d) { TEvidencniUdajeDokumentu eu = d.getEvidencniUdaje(); if (eu != null) { XMLGregorianCalendar closeDate = null; TVyrizeniEntity vyrizeni = eu.getVyrizeni(); if (vyrizeni != null) { TDatum datum = vyrizeni.getDatum(); if (datum != null) { closeDate = datum.getValue(); } } TVyrazovani vyrazovani = eu.getVyrazovani(); if (vyrazovani == null && closeDate != null) { vyrazovani = new TVyrazovani(); eu.setVyrazovani(vyrazovani); } fillDisposalDate(vyrazovani, closeDate); } }  Dokument replaceTSubjektExterni(Dokument d); Spis fillZdroj(Spis s); Dokument fillZdroj(Dokument d); void fillDisposalDate(Dokument d); Spis fillDisposalDate(Spis s); Spis fillDefaults(Spis s, String id); Dokument fillDefaults(Dokument d, boolean intenalDocument, String id);  }
@Test public void testfillDisposalDate() throws Exception { NsesssMapper mapper = new NsesssMapper(); Spis s = mapper.fillDisposalDate(new Spis()); assertNull(s.getEvidencniUdaje()); TEvidencniUdajeSpisu eu = new TEvidencniUdajeSpisu(); TManipulaceSeskupeni ms = new TManipulaceSeskupeni(); TDatum datumUzavreni = new TDatum(); datumUzavreni.setValue(mapper.getXmlTypes().newXMLGregorianCalendar("2012-02-02")); ms.setDatumUzavreni(datumUzavreni); eu.setManipulace(ms); s.setEvidencniUdaje(eu); mapper.fillDisposalDate(s); assertEquals("2013-02-02", eu.getVyrazovani().getDataceVyrazeni().getRokSkartacniOperace().toXMLFormat()); assertEquals("2012-02-02", eu.getVyrazovani().getDataceVyrazeni().getRokSpousteciUdalosti().toXMLFormat()); TSkartacniRezim skartacniRezim = new TSkartacniRezim(); skartacniRezim.setSkartacniLhuta(5); eu.getVyrazovani().setSkartacniRezim(skartacniRezim); datumUzavreni.setValue(mapper.getXmlTypes().newXMLGregorianCalendar("2000-02-02")); mapper.fillDisposalDate(s); assertEquals("2006-02-02", eu.getVyrazovani().getDataceVyrazeni().getRokSkartacniOperace().toXMLFormat()); assertEquals("2000-02-02", eu.getVyrazovani().getDataceVyrazeni().getRokSpousteciUdalosti().toXMLFormat()); datumUzavreni.setValue(null); mapper.fillDisposalDate(s); assertNull(eu.getVyrazovani().getDataceVyrazeni().getRokSkartacniOperace()); assertNull(eu.getVyrazovani().getDataceVyrazeni().getRokSpousteciUdalosti()); }