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

Reply via email to