When Configuration is getting initialized, it picks up the default currency
using AccountingRules.getMifosCurrency(), which is actually a database call.
If this process is done when an active ResultSet exists due to a just-executed
query, the ConfigManager code overwrites this ResultSet. I'm seeing this error
when I call FeePersistence.getUpdatedFeesForCustomer() which uses the
MoneyCompositeUserType when generating the result.
This is the call stack:
I'll be attaching a test case which uses
FeePersistence.getUpdatedFeesForCustomer() to reproduce this bug. Also
find stack trace attached.
Platform: All, OS: All
Triage comments - this can be fixed after v1.1. Pramod - please indicate if
there is a specific reason you think this needs to be addressed sooner.
This can be fixed in the next version. As far as I see, this bug only affects
Hibernate derived user types, in the case where they are used before the
Configuration object is initialized.
Van, can you tell if this issue is still valid?
Test attachment adapted to work with current Mifos code.
The test code passes when compiled and run against mifos r16640.