in importer/src/main/java/org/apache/fineract/cn/accounting/importer/LedgerImporter.java [66:92]
private void createLedger(final RecordFromLineNumber<Ledger> toCreate) {
try {
final Ledger ledger = toCreate.getRecord();
if (ledger.getParentLedgerIdentifier() == null) {
ledgerManager.createLedger(toCreate.getRecord());
} else {
ledgerManager.addSubLedger(ledger.getParentLedgerIdentifier(), ledger);
}
try {
Thread.sleep(1000l);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
catch (final LedgerAlreadyExistsException ignored) {
final Ledger ledger = ledgerManager.findLedger(toCreate.getRecord().getIdentifier());
if ((!Objects.equals(ledger.getIdentifier(), toCreate.getRecord().getIdentifier())) ||
(!Objects.equals(ledger.getName(), toCreate.getRecord().getName())) ||
(!Objects.equals(ledger.getType(), toCreate.getRecord().getType())) ||
(!Objects.equals(ledger.getDescription(), toCreate.getRecord().getDescription())) ||
(!Objects.equals(ledger.getParentLedgerIdentifier(), toCreate.getRecord().getParentLedgerIdentifier())) ||
(!Objects.equals(ledger.getShowAccountsInChart(), toCreate.getRecord().getShowAccountsInChart())))
{
logger.error("Creation of ledger {} failed, because a ledger with the same identifier but different properties already exists {}", toCreate.getRecord(), ledger);
}
}
}