Charts data is mandatory for creating a fixed deposit product

This commit is contained in:
Jose Alberto Hernandez
2022-07-11 10:07:59 +02:00
committed by Arnold Gálovics
parent 4fdee75beb
commit 4ebe645c58
4 changed files with 82 additions and 22 deletions
@@ -95,7 +95,7 @@ public class BusinessDateApiResource {
@Operation(summary = "Update Business Date", description = "")
@RequestBody(required = true, content = @Content(schema = @Schema(implementation = BusinessDateApiResourceSwagger.BusinessDateRequest.class)))
@ApiResponses({
@ApiResponse(responseCode = "200", description = "", content = @Content(schema = @Schema(implementation = BusinessDateApiResourceSwagger.BusinessDateRequest.class))) })
@ApiResponse(responseCode = "200", description = "OK", content = @Content(schema = @Schema(implementation = BusinessDateApiResourceSwagger.BusinessDateRequest.class))) })
public String updateBusinessDate(final String jsonRequestBody, @Context UriInfo uriInfo) {
securityContext.authenticatedUser().validateHasUpdatePermission("BUSINESS_DATE");
final CommandWrapper commandRequest = new CommandWrapperBuilder().updateBusinessDate().withJson(jsonRequestBody).build();
@@ -395,18 +395,18 @@ public class DepositProductDataValidator {
private void validateChartsData(JsonElement element, DataValidatorBuilder baseDataValidator) {
if (element.isJsonObject()) {
final JsonObject topLevelJsonElement = element.getAsJsonObject();
if (topLevelJsonElement.has(chartsParamName) && topLevelJsonElement.get(chartsParamName).isJsonArray()) {
final JsonArray array = topLevelJsonElement.get(chartsParamName).getAsJsonArray();
for (int i = 0; i < array.size(); i++) {
final JsonObject interestRateChartElement = array.get(i).getAsJsonObject();
final String json = this.fromApiJsonHelper.toJson(interestRateChartElement);
// chart for create
if (!this.fromApiJsonHelper.parameterExists(idParamName, interestRateChartElement)) {
this.chartDataValidator.validateForCreate(json, baseDataValidator);
} else { // chart for update
this.chartDataValidator.validateForUpdate(json, baseDataValidator);
}
final JsonArray array = this.fromApiJsonHelper.extractJsonArrayNamed(chartsParamName, element);
baseDataValidator.reset().parameter(chartsParamName).value(array).notNull().jsonArrayNotEmpty();
for (int i = 0; i < array.size(); i++) {
final JsonObject interestRateChartElement = array.get(i).getAsJsonObject();
final String json = this.fromApiJsonHelper.toJson(interestRateChartElement);
// chart for create
if (!this.fromApiJsonHelper.parameterExists(idParamName, interestRateChartElement)) {
this.chartDataValidator.validateForCreate(json, baseDataValidator);
} else { // chart for update
this.chartDataValidator.validateForUpdate(json, baseDataValidator);
}
}
}