ResponseEntity dividendDistribution()

in service/src/main/java/org/apache/fineract/cn/deposit/service/rest/ProductDefinitionRestController.java [250:268]


  ResponseEntity<Void> dividendDistribution(@PathVariable("identifier") final String identifier,
                                            @RequestBody @Valid final DividendDistribution dividendDistribution) {
    final Optional<ProductDefinition> optionalProductDefinition = this.productDefinitionService.findProductDefinition(identifier);
    if (!optionalProductDefinition.isPresent()) {
      throw ServiceException.notFound("Product definition {0} not found", identifier);
    } else {
      final ProductDefinition productDefinition = optionalProductDefinition.get();
      if (!productDefinition.getType().equals(Type.SHARE.name())) {
        throw ServiceException.badRequest("Product definition {0} is not a share product.", identifier);
      }
    }

    final LocalDate dueDate = dividendDistribution.getDueDate().toLocalDate();
    final Double amount = Double.valueOf(dividendDistribution.getDividendRate());

    this.commandGateway.process(new DividendDistributionCommand(identifier, dueDate, amount));

    return ResponseEntity.accepted().build();
  }