TECHDEBT: layering: Remove persistence usage from GroupBO
---------------------------------------------------------

                 Key: MIFOS-4654
                 URL: http://mifosforge.jira.com/browse/MIFOS-4654
             Project: mifos
          Issue Type: Story
          Components: Groups
    Affects Versions: Release 2.0.0, Release 1.6.1, Release 1.6.0, Release 
1.6.2, Release 2.0.1, Elsie F
            Reporter: keithwoodlock
            Assignee: keithwoodlock
             Fix For: Unscheduled


This is part of technical debt work to isolate the domain model.

GroupBO

Pros:
   #. static factory methods in place and used by application code
   #. Builder exists for creation of GroupBO

Cons:
   #. extends customer (too much behaviour leaked into customer from other sub 
classes group/client that is not relevant)
   #. deprecated constructors still exists but only used by test 
infrastructure. 
       - as a result, there is good deal of code used only from deprecated 
constructors..

Notes:

   #. Group can be created in lots of states.
   #. customer account always created with group (i presume to handle 
attachment of fees etc)
   #. only behaviour seems to be updatePerformaceHistoryOnXXX, validation and 
behaviour around checking states

other tidy up for group


* segregated interface should be used instead of empty methods on base class
   - see all updatePerformanceHistoryOnXXXEvent, empty methods on base class 
are over-ridden, only relevant cause loans are allowed for groups, as a result 
see that GroupPerformanceHistoryEntity breaks layering rules and uses 
services/daos to fetch neccessary data.

This story is about removing persistence responsibilities from GroupB which 
involves:

    * remove GroupBOIntegrationTest and have only unit tests around GroupBO
    * remove use of deprecated GroupBO constructors used only in integration 
tests and other code only invoked from deprecated constructors
    * requires tidy up of where TestObjectFactory.createGroup is used
    * replace with use of Builder + 
IntegrationTestObjectMother.createCenter(XXX)


-- 
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

        

------------------------------------------------------------------------------
The ultimate all-in-one performance toolkit: Intel(R) Parallel Studio XE:
Pinpoint memory and threading errors before they happen.
Find and fix more than 250 security defects in the development cycle.
Locate bottlenecks in serial and parallel code that limit performance.
http://p.sf.net/sfu/intel-dev2devfeb
_______________________________________________
Mifos-issues mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mifos-issues

Reply via email to