private int commitBuchungsdaten(final ImportedSheet<BuchungssatzDO> sheet) { log.info("Commit Buchungsdaten called"); final Collection<BuchungssatzDO> col = new ArrayList<BuchungssatzDO>(); for (final ImportedElement<BuchungssatzDO> el : sheet.getElements()) { final BuchungssatzDO satz = el.getValue(); final BuchungssatzDO dbSatz = buchungssatzDao.getBuchungssatz(satz.getYear(), satz.getMonth(), satz.getSatznr()); boolean addSatz = false; if (dbSatz != null) { satz.setId(dbSatz.getId()); if (el.isSelected() == true) { addSatz = true; } } else if (el.isSelected() == true) { addSatz = true; } if (addSatz == true) { final BuchungssatzDO newSatz = new BuchungssatzDO(); newSatz.copyValuesFrom(satz, "konto", "gegenKonto", "kost1", "kost2"); newSatz.setKonto((KontoDO) get(KontoDO.class, satz.getKontoId())); newSatz.setGegenKonto((KontoDO) get(KontoDO.class, satz.getGegenKontoId())); newSatz.setKost1((Kost1DO) get(Kost1DO.class, satz.getKost1Id())); newSatz.setKost2((Kost2DO) get(Kost2DO.class, satz.getKost2Id())); col.add(newSatz); } } buchungssatzDao.internalSaveOrUpdate(buchungssatzDao, col, BUCHUNGSSATZ_INSERT_BLOCK_SIZE); return col.size(); }