[
https://issues.apache.org/jira/browse/FINERACT-2244?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18055504#comment-18055504
]
Krishna Mewara edited comment on FINERACT-2244 at 1/30/26 6:49 PM:
-------------------------------------------------------------------
Hi [~aleks] ,
I’ve been studying the new {{CommandProcessingService}} architecture and found
this sub-task (Floating Rate) particularly interesting.
I reviewed the migration checklist (switching to strict POJOs, injecting the
{{{}CommandPipeline{}}}, and implementing Jakarta Validation), and it seems
like a great self-contained module.
If this is still open for contribution, I’d love to take a crack at refactoring
it. Could you assign this to me?
was (Author: JIRAUSER312205):
Hi [~aleks] ,
I’ve been studying the new {{CommandProcessingService}} architecture and found
this sub-task (Floating Rate) particularly interesting.
I reviewed the migration checklist (switching to strict POJOs, injecting the
{{{}CommandPipeline{}}}, and implementing Jakarta Validation), and it seems
like a great self-contained module to demonstrate this new pattern.
If this is still open for contribution, I’d love to take a crack at refactoring
it. Could you assign this to me?
> New command processing - Floating Rate
> (org.apache.fineract.portfolio.floatingrates)
> ------------------------------------------------------------------------------------
>
> Key: FINERACT-2244
> URL: https://issues.apache.org/jira/browse/FINERACT-2244
> Project: Apache Fineract
> Issue Type: Sub-task
> Reporter: Aleksandar Vidakovic
> Priority: Major
>
> (i) Edit only in text mode!
> 1. General
> (!) Remove all obsolete Swagger annotations (aka "dummy" classes)
> (!) Refactor input and return types of business logic services if needed (no
> more references to JSON in the business logic)
> (!) Existing integration tests need to work as is without any changes
> (!) Input types are named with suffix "Request" (e.g.
> "org.apache.fineract.infrastructure.businessdate.data.BusinessDateRequest")
> (!) Return types are named with suffix "Response" (e.g.
> "org.apache.fineract.infrastructure.businessdate.data.BusinessDateResponse")
> (!) If you need to transform POJO types then use MapStruct where ever possible
> (!) Respect standard package structure
> 2. Read Requests
> (!) All "@GET" annotated functions in all JAX-RS resource classes are
> returning proper Java types (aka "POJOs")
> (!) Return types are defined in the module's/package's DTO package (e.g.
> "org.apache.fineract.infrastructure.businessdate.data")
> 3. Write Requests
> (!) All "@PUT" and "@POST" annotated functions in all JAX-RS resource classes
> are returning proper Java types (aka "POJOs")
> (!) Input types are defined in the module's/package's DTO package (e.g.
> "org.apache.fineract.infrastructure.businessdate.data")
> (!) Inject new "org.apache.fineract.command.core.CommandPipeline" component
> and refactor legacy command structures to new concept
> (!) Create command specific child implementation of
> "org.apache.fineract.command.core.Command"
> (!) Use Jakarta Validation instead of proprietary validation service
> (!) Create message resource bundles for the validation error messages
> 4. List refactored JAX-RS resource classes (canonical names) below
> - TBD
> 5. Command Handlers
> (!) Refactor legacy command handlers to new concept
> 6. Run Integration Tests
> (!) All related integration tests pass
--
This message was sent by Atlassian Jira
(v8.20.10#820010)