in service/src/main/java/org/apache/fineract/cn/deposit/service/internal/command/handler/ProductDefinitionAggregate.java [224:244]
void saveDependingEntities(final ProductDefinition productDefinition, final ProductDefinitionEntity savedProductEntity) {
final CurrencyEntity currencyEntity = CurrencyMapper.map(productDefinition.getCurrency());
currencyEntity.setProductDefinition(savedProductEntity);
this.currencyRepository.save(currencyEntity);
final TermEntity termEntity = TermMapper.map(productDefinition.getTerm());
termEntity.setProductDefinition(savedProductEntity);
this.termRepository.save(termEntity);
if (productDefinition.getCharges() != null && !productDefinition.getCharges().isEmpty()) {
this.chargeRepository.save(productDefinition.getCharges()
.stream()
.map(charge -> {
final ChargeEntity chargeEntity = ChargeMapper.map(charge, this.actionRepository);
chargeEntity.setProductDefinition(savedProductEntity);
return chargeEntity;
})
.collect(Collectors.toSet())
);
}
}