Ashhar Ahmad Khan created FINERACT-2722:
-------------------------------------------
Summary: Remove orphaned CashierWritePlatformService and
ModifyCashierCommandHandler (dead code, no command routing, no test coverage)
Key: FINERACT-2722
URL: https://issues.apache.org/jira/browse/FINERACT-2722
Project: Apache Fineract
Issue Type: Task
Reporter: Ashhar Ahmad Khan
*What is being removed*
CashierWritePlatformService, at
fineract-branch/src/main/java/org/apache/fineract/organisation/teller/service/,
is a plain concrete class with no @Service or @Component annotation. It
contains three methods, allocateCashierToTeller, deleteCashier, modifyCashier,
all of them null stubs with no implementation.
ModifyCashierCommandHandler.java, at
fineract-branch/src/main/java/org/apache/fineract/organisation/teller/handler/,
injects CashierWritePlatformService through a constructor field and calls
modifyCashier on it. This handler has no @Service annotation and no
@CommandType annotation, so Fineract's command dispatcher never routes anything
to it. Nothing else in the codebase constructs or injects this handler.
A stale @see javadoc line in DeleteCashierAllocationCommandHandler.java, which
is live and correctly wired to TellerWritePlatformService, pointed at
CashierWritePlatformService. That line has been removed.
*Why it's dead code*
The live cashier-teller allocation path is
AllocateCashierToTellerCommandHandler, which calls allocateCashierToTeller(Long
entityId, JsonCommand command) on TellerWritePlatformService, implemented in
TellerWritePlatformServiceJpaImpl.java line 197. This is a different class from
CashierWritePlatformService. The two classes share method names, but nothing in
the live code path touches CashierWritePlatformService or
ModifyCashierCommandHandler.
*Changes made*
* Deleted CashierWritePlatformService.java
* Deleted ModifyCashierCommandHandler.java
* Removed the stale @see line in DeleteCashierAllocationCommandHandler.java
*Verification*
* Full-repo grep across .java, .xml, .yml, .yaml, .properties for both class
names. Only the two deleted files and the one stale doc comment matched.
* Permission table grep for MODIFYCASHIER / MODIFY_CASHIER. No results, no
dangling m_permission row.
* Reflection-based lookup grep (Class.forName, getBean). No results.
* Test file grep across the repo (--include="*Test.java"). No results, no test
references either class.
* {{{}./gradlew :fineract-branch:compileJava{}}}. BUILD SUCCESSFUL.
* {{{}./gradlew :fineract-branch:test{}}}. BUILD SUCCESSFUL, 6 tests executed
in the teller module (TellerCommandFromApiJsonDeserializerTest), all passed.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)