[
https://issues.apache.org/jira/browse/FINERACT-2722?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Ashhar Ahmad Khan reassigned FINERACT-2722:
-------------------------------------------
Assignee: Ashhar Ahmad Khan
> 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
> Assignee: Ashhar Ahmad Khan
> Priority: Minor
>
> *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)