FINERACT-2114: Interest rate modification, adjust reschedule validation

This commit is contained in:
Janos Meszaros
2024-08-16 15:04:20 +02:00
committed by Adam Saghy
parent 2a445a5862
commit 3e923bf483
8 changed files with 237 additions and 46 deletions
@@ -262,6 +262,10 @@ public final class JsonCommand {
return parameterExists(parameterName);
}
public boolean hasParameterValue(final String parameterName) {
return this.fromApiJsonHelper.parameterHasValue(parameterName, this.parsedCommand);
}
public String dateFormat() {
return stringValueOfParameterNamed("dateFormat");
}
@@ -157,6 +157,13 @@ public class FromJsonHelper {
return this.helperDelegator.parameterExists(parameterName, element);
}
/**
* Check Parameter has a non-blank value
*/
public boolean parameterHasValue(final String parameterName, final JsonElement element) {
return this.helperDelegator.parameterHasValue(parameterName, element);
}
public String extractStringNamed(final String parameterName, final JsonElement element) {
return this.helperDelegator.extractStringNamed(parameterName, element, new HashSet<String>());
}
@@ -61,6 +61,27 @@ public class JsonParserHelper {
return element.getAsJsonObject().has(parameterName);
}
/**
* Check Parameter has a non-blank value
*/
public boolean parameterHasValue(final String parameterName, final JsonElement element) {
if (element == null || !element.isJsonObject()) {
return false;
}
var valueObject = element.getAsJsonObject().get(parameterName);
if (valueObject == null || valueObject.isJsonNull()) {
return false;
}
if (valueObject instanceof JsonArray) {
return !valueObject.getAsJsonArray().isEmpty();
}
if (valueObject instanceof JsonObject) {
return !valueObject.getAsJsonObject().isEmpty();
}
return valueObject.isJsonPrimitive() && !valueObject.getAsJsonPrimitive().getAsString().isBlank();
}
public Boolean extractBooleanNamed(final String parameterName, final JsonElement element, final Set<String> requestParamatersDetected) {
Boolean value = null;
if (element.isJsonObject()) {