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