Ashhar Ahmad Khan created FINERACT-2808:
-------------------------------------------

             Summary: NullPointerException in 
GroupingTypesWritePlatformServiceJpaRepositoryImpl when GroupLevel is missing
                 Key: FINERACT-2808
                 URL: https://issues.apache.org/jira/browse/FINERACT-2808
             Project: Apache Fineract
          Issue Type: Bug
            Reporter: Ashhar Ahmad Khan


What is broken

GroupingTypesWritePlatformServiceJpaRepositoryImpl fetches a GroupLevel via 
groupLevelRepository.findById(id).orElse(null) in two places, 
createGroupingType and updateGroupingType, and dereferences the result 
immediately with no null check. If the group references a GroupLevel that does 
not exist in the database, this throws an unhandled NullPointerException, 
blocking group creation or update.

Why it's broken

The correct pattern already exists elsewhere in the same file, 
findOneWithNotFoundDetection style lookups that throw a proper not found 
exception instead of returning null. This convention was never applied to the 
two GroupLevel lookups.

Changes made

Both .orElse(null) calls in GroupingTypesWritePlatformServiceJpaRepositoryImpl 
replaced with .orElseThrow(() -> new GroupLevelNotFoundException(id)), using 
the existing GroupLevelNotFoundException class.

Added GroupingTypesWritePlatformServiceJpaRepositoryImplTest.java, a regression 
test confirming updateGroup throws GroupLevelNotFoundException when the 
referenced GroupLevel is missing.



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

Reply via email to