Felix Van Hove created FINERACT-2182:
----------------------------------------

             Summary: Group creation fails due to 
                 Key: FINERACT-2182
                 URL: https://issues.apache.org/jira/browse/FINERACT-2182
             Project: Apache Fineract
          Issue Type: Bug
          Components: Groups
            Reporter: Felix Van Hove


Someone (history on Slack #fineract 2025-02-16) attempted to create a simple 
group via the Mifos client. This failed with the following stack trace on the 
side of Fineract:

??java.lang.NullPointerException: Cannot invoke "String.equals(Object)" because 
"entityType" is null??
??    at 
org.apache.fineract.portfolio.account.service.AccountNumberGenerator.checkAccountNumberConflict(AccountNumberGenerator.java:200)??
??    at 
org.apache.fineract.portfolio.account.service.AccountNumberGenerator.generateAccountNumber(AccountNumberGenerator.java:175)??
??    at 
org.apache.fineract.portfolio.account.service.AccountNumberGenerator.generateGroupAccountNumber(AccountNumberGenerator.java:243)??
??    at 
org.apache.fineract.portfolio.group.service.GroupingTypesWritePlatformServiceJpaRepositoryImpl.generateAccountNumberIfRequired(GroupingTypesWritePlatformServiceJpaRepositoryImpl.java:243)??
??    at 
org.apache.fineract.portfolio.group.service.GroupingTypesWritePlatformServiceJpaRepositoryImpl.createGroupingType(GroupingTypesWritePlatformServiceJpaRepositoryImpl.java:198)??
??    at 
org.apache.fineract.portfolio.group.service.GroupingTypesWritePlatformServiceJpaRepositoryImpl.createGroup(GroupingTypesWritePlatformServiceJpaRepositoryImpl.java:274)??
??    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native 
Method)??



Looking at the _AccountNumberGenerator.java_ it's clear this user's 
c_configuration table had random-account-number=enabled. (This might explain, 
why the problem hasn't popped up before.) In its current state, the method 
_checkAccountNumberConflict_ requires _entityType_ to be in some property map. 
But looking up the call stack, the _entityType_ can't be in the map. The map is 
built in line 240ff.

The same bug might affect two other public generate* methods of this class. 
They need to be adjusted too. (And why are there two public methods at the 
bottom of the class? I suggest to move them up to the other public methods.) 
For people working with random account numbers, this looks important.

Commit 39d95f3

[https://github.com/apache/fineract/blob/develop/fineract-provider/src/main/java/org/apache/fineract/portfolio/account/service/AccountNumberGenerator.java]

 



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to