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 0fd0f977eb FINERACT-2421: Allow hyphens in query params of Batch API
calls
0fd0f977eb is described below
commit 0fd0f977eb2af91b8c0288a64ebf796dfbc36d32
Author: Adam Saghy <[email protected]>
AuthorDate: Thu Jan 29 14:57:49 2026 +0100
FINERACT-2421: Allow hyphens in query params of Batch API calls
---
.../org/apache/fineract/batch/command/CommandStrategyProvider.java | 4 ++--
.../apache/fineract/batch/command/CommandStrategyProviderTest.java | 4 ++++
2 files changed, 6 insertions(+), 2 deletions(-)
diff --git
a/fineract-core/src/main/java/org/apache/fineract/batch/command/CommandStrategyProvider.java
b/fineract-core/src/main/java/org/apache/fineract/batch/command/CommandStrategyProvider.java
index e024b35df3..01e6b6d251 100644
---
a/fineract-core/src/main/java/org/apache/fineract/batch/command/CommandStrategyProvider.java
+++
b/fineract-core/src/main/java/org/apache/fineract/batch/command/CommandStrategyProvider.java
@@ -47,12 +47,12 @@ public class CommandStrategyProvider {
/**
* Regex pattern for specifying any number of query params or not specific
any query param
*/
- private static final String OPTIONAL_QUERY_PARAM_REGEX =
"(\\?(\\w+=[^&]+)(?:&\\w+=[^&]+)*)?";
+ private static final String OPTIONAL_QUERY_PARAM_REGEX =
"(\\?([\\w-]+=[^&]+)(?:&[\\w-]+=[^&]+)*)?";
/**
* Regex pattern for specifying query params
*/
- private static final String MANDATORY_QUERY_PARAM_REGEX =
"(\\?(\\w+=[^&]+)(?:&\\w+=[^&]+)*)";
+ private static final String MANDATORY_QUERY_PARAM_REGEX =
"(\\?([\\w-]+=[^&]+)(?:&[\\w-]+=[^&]+)*)";
/**
* Regex pattern for specifying any query param that has key = 'command'
or not specific anything.
diff --git
a/fineract-provider/src/test/java/org/apache/fineract/batch/command/CommandStrategyProviderTest.java
b/fineract-provider/src/test/java/org/apache/fineract/batch/command/CommandStrategyProviderTest.java
index 9333ebddf2..0048699748 100644
---
a/fineract-provider/src/test/java/org/apache/fineract/batch/command/CommandStrategyProviderTest.java
+++
b/fineract-provider/src/test/java/org/apache/fineract/batch/command/CommandStrategyProviderTest.java
@@ -225,6 +225,10 @@ public class CommandStrategyProviderTest {
Arguments.of(
"loans/external-id/0083477d-ea2a-45a4-a244-cb79a9ecf741/transactions/reage-preview?frequencyType=MONTHS&locale=en_US&frequencyNumber=1&dateFormat=MM%2Fdd%2Fyyyy&startDate=02%2F05%2F2026&numberOfInstallments=6",
HttpMethod.GET,
"getReagePreviewByLoanExternalIdCommandStrategy",
+
mock(GetReagePreviewByLoanExternalIdCommandStrategy.class)),
+ Arguments.of(
+
"loans/external-id/8dfad438-2319-48ce-8520-10a62801e9a1/transactions/reage-preview?frequency-number=2&frequencyType=long-string",
+ HttpMethod.GET,
"getReagePreviewByLoanExternalIdCommandStrategy",
mock(GetReagePreviewByLoanExternalIdCommandStrategy.class)));
}