You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@fineract.apache.org by ad...@apache.org on 2026/03/02 20:29:59 UTC
(fineract) branch develop updated: FINERACT-2477: Refactor SavingsAccountTransactionsApiResource command dispatch to switch expressions
This is an automated email from the ASF dual-hosted git repository.
adamsaghy pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/fineract.git
The following commit(s) were added to refs/heads/develop by this push:
new ef00f27d15 FINERACT-2477: Refactor SavingsAccountTransactionsApiResource command dispatch to switch expressions
ef00f27d15 is described below
commit ef00f27d15e3e2fb70f56e1647d53211be43793d
Author: Vladyslav <sa...@gmail.com>
AuthorDate: Tue Feb 24 15:34:44 2026 +0200
FINERACT-2477: Refactor SavingsAccountTransactionsApiResource command dispatch to switch expressions
---
.../api/SavingsAccountTransactionsApiResource.java | 74 +++++++---------------
1 file changed, 24 insertions(+), 50 deletions(-)
diff --git a/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/api/SavingsAccountTransactionsApiResource.java b/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/api/SavingsAccountTransactionsApiResource.java
index b2aff4081d..68ee87d8d5 100644
--- a/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/api/SavingsAccountTransactionsApiResource.java
+++ b/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/api/SavingsAccountTransactionsApiResource.java
@@ -81,10 +81,6 @@ public class SavingsAccountTransactionsApiResource {
private final PaymentTypeReadService paymentTypeReadPlatformService;
private final SavingsAccountTransactionSearchService transactionsSearchService;
- private boolean is(final String commandParam, final String commandValue) {
- return StringUtils.isNotBlank(commandParam) && commandParam.trim().equalsIgnoreCase(commandValue);
- }
-
@GET
@Path("template")
@Consumes({ MediaType.APPLICATION_JSON })
@@ -179,30 +175,17 @@ public class SavingsAccountTransactionsApiResource {
final String apiRequestBodyAsJson) {
final CommandWrapperBuilder builder = new CommandWrapperBuilder().withJson(apiRequestBodyAsJson);
- CommandProcessingResult result = null;
- if (is(commandParam, "deposit")) {
- final CommandWrapper commandRequest = builder.savingsAccountDeposit(savingsId).build();
- result = this.commandsSourceWritePlatformService.logCommandSource(commandRequest);
- } else if (is(commandParam, "gsimDeposit")) {
- final CommandWrapper commandRequest = builder.gsimSavingsAccountDeposit(savingsId).build();
- result = this.commandsSourceWritePlatformService.logCommandSource(commandRequest);
- } else if (is(commandParam, "withdrawal")) {
- final CommandWrapper commandRequest = builder.savingsAccountWithdrawal(savingsId).build();
- result = this.commandsSourceWritePlatformService.logCommandSource(commandRequest);
- } else if (is(commandParam, "postInterestAsOn")) {
- final CommandWrapper commandRequest = builder.savingsAccountInterestPosting(savingsId).build();
- result = this.commandsSourceWritePlatformService.logCommandSource(commandRequest);
- } else if (is(commandParam, SavingsApiConstants.COMMAND_HOLD_AMOUNT)) {
- final CommandWrapper commandRequest = builder.holdAmount(savingsId).build();
- result = this.commandsSourceWritePlatformService.logCommandSource(commandRequest);
- }
-
- if (result == null) {
- //
- throw new UnrecognizedQueryParamException("command", commandParam,
- new Object[] { "deposit", "withdrawal", SavingsApiConstants.COMMAND_HOLD_AMOUNT });
- }
-
+ final CommandWrapper commandRequest = switch (StringUtils.trimToEmpty(commandParam)) {
+ case "deposit" -> builder.savingsAccountDeposit(savingsId).build();
+ case "gsimDeposit" -> builder.gsimSavingsAccountDeposit(savingsId).build();
+ case "withdrawal" -> builder.savingsAccountWithdrawal(savingsId).build();
+ case "postInterestAsOn" -> builder.savingsAccountInterestPosting(savingsId).build();
+ case SavingsApiConstants.COMMAND_HOLD_AMOUNT -> builder.holdAmount(savingsId).build();
+ default -> throw new UnrecognizedQueryParamException("command", commandParam, "deposit", "withdrawal",
+ SavingsApiConstants.COMMAND_HOLD_AMOUNT);
+ };
+
+ final CommandProcessingResult result = this.commandsSourceWritePlatformService.logCommandSource(commandRequest);
return this.toApiJsonSerializer.serialize(result);
}
@@ -225,28 +208,19 @@ public class SavingsAccountTransactionsApiResource {
final CommandWrapperBuilder builder = new CommandWrapperBuilder().withJson(jsonApiRequest);
- CommandProcessingResult result = null;
- if (is(commandParam, SavingsApiConstants.COMMAND_UNDO_TRANSACTION)) {
- final CommandWrapper commandRequest = builder.undoSavingsAccountTransaction(savingsId, transactionId).build();
- result = this.commandsSourceWritePlatformService.logCommandSource(commandRequest);
- } else if (is(commandParam, SavingsApiConstants.COMMAND_REVERSE_TRANSACTION)) {
- final CommandWrapper commandRequest = builder.reverseSavingsAccountTransaction(savingsId, transactionId).build();
- result = this.commandsSourceWritePlatformService.logCommandSource(commandRequest);
- } else if (is(commandParam, SavingsApiConstants.COMMAND_ADJUST_TRANSACTION)) {
- final CommandWrapper commandRequest = builder.adjustSavingsAccountTransaction(savingsId, transactionId).build();
- result = this.commandsSourceWritePlatformService.logCommandSource(commandRequest);
- } else if (is(commandParam, SavingsApiConstants.COMMAND_RELEASE_AMOUNT)) {
- final CommandWrapper commandRequest = builder.releaseAmount(savingsId, transactionId).build();
- result = this.commandsSourceWritePlatformService.logCommandSource(commandRequest);
- }
-
- if (result == null) {
- //
- throw new UnrecognizedQueryParamException("command", commandParam,
- new Object[] { SavingsApiConstants.COMMAND_UNDO_TRANSACTION, SavingsApiConstants.COMMAND_ADJUST_TRANSACTION,
- SavingsApiConstants.COMMAND_RELEASE_AMOUNT, SavingsApiConstants.COMMAND_REVERSE_TRANSACTION });
- }
-
+ final CommandWrapper commandRequest = switch (StringUtils.trimToEmpty(commandParam)) {
+ case SavingsApiConstants.COMMAND_UNDO_TRANSACTION -> builder.undoSavingsAccountTransaction(savingsId, transactionId).build();
+ case SavingsApiConstants.COMMAND_REVERSE_TRANSACTION ->
+ builder.reverseSavingsAccountTransaction(savingsId, transactionId).build();
+ case SavingsApiConstants.COMMAND_ADJUST_TRANSACTION ->
+ builder.adjustSavingsAccountTransaction(savingsId, transactionId).build();
+ case SavingsApiConstants.COMMAND_RELEASE_AMOUNT -> builder.releaseAmount(savingsId, transactionId).build();
+ default -> throw new UnrecognizedQueryParamException("command", commandParam, SavingsApiConstants.COMMAND_UNDO_TRANSACTION,
+ SavingsApiConstants.COMMAND_ADJUST_TRANSACTION, SavingsApiConstants.COMMAND_RELEASE_AMOUNT,
+ SavingsApiConstants.COMMAND_REVERSE_TRANSACTION);
+ };
+
+ final CommandProcessingResult result = this.commandsSourceWritePlatformService.logCommandSource(commandRequest);
return this.toApiJsonSerializer.serialize(result);
}
}