[ 
http://mifosforge.jira.com/browse/MIFOS-2897?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=57672#action_57672
 ] 

angshuman sarkar commented on MIFOS-2897:
-----------------------------------------

* NOTE: this is separate from FeeAction refactoring activities. This is for 
putting refactored Fee Action and related classes. 
* Setup Collaboration using Spring DI (dependency injection) - preferably 
annotation/autowiring based. Alternatively XML based. 
* move to DAO pattern than FeeBO based persistence. 
* Use Spring transaction manager. manage transaction using AOP, following a 
naming convention. 
e.g. - start transaction, whenever a certain service method like 
org.mifos....*ServiceFacade.*() is invoked. Follow convention, like 
get,find,retrieve etc do not require transaction support. 
* Caution: Some of the related Entities (like FeePayment, FeeFrequency, GLCode 
etc) may not be moved to DTOs. This may require separate hibernate mapping. 
Preferably use JPA annotation for master entity caching. 
* Doesn't consider spring security integration. That said, it should be fairly 
simple to add declarative security enforcement later on using spring security. 
* doesn't really move out of struts MVC for web application part. See comments 
below

Moving to Spring MVC => (web application)
Currently views and MVC action handling are done using Struts Servlet. Hence 
introducing spring MVC has following possible issues. 
* Spring MVC Controller -> Right now, the bindings (Population of ActionForm 
attributes) are through struts. will have to move to spring dispatcher, spring 
controller bindings, and use spring ModelAndView object.  
* Rendering - Binding DTOs, Exceptions, Validations (for rendering of jsps) - 
currently works around struts and tiles1. Will the struts tags and tiles still 
work? May require additional effort.
* error handling - validation errors, exception handling
* audit trails
* internationalization and localizing messages - Will still use struts 
localization.  

Moving to Grails MVC =>
All the above aspects as mentioned in Spring MVC app


> FeeAction -> Spring Way
> -----------------------
>
>                 Key: MIFOS-2897
>                 URL: http://mifosforge.jira.com/browse/MIFOS-2897
>             Project: mifos
>          Issue Type: Improvement
>    Affects Versions: Shamim D
>            Reporter: Tejus Datta
>            Priority: Major
>
> This is an epic story.
> * Convert FeeAction, JSPs, and domain code to use a spring-based approach.
> ** Spring-managed transactions
> ** Spring MVC controller
> * establish a pattern that can be replicated elsewhere

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://mifosforge.jira.com/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

------------------------------------------------------------------------------
_______________________________________________
Mifos-issues mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mifos-issues

Reply via email to