void saveDependingEntities()

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())
      );
    }
  }