[
http://mifosforge.jira.com/browse/MIFOS-4575?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=65006#comment-65006
]
Mifos Hudson Jira Plugin User commented on MIFOS-4575:
------------------------------------------------------
Integrated in !http://ci.mifos.org/hudson/images/16x16/red.png! [head-master
#2886|http://ci.mifos.org/hudson/job/head-master/2886/]
WIP for MIFOS-4575 - adding a time of disbursement fee to a loan in
"Application Pending Approval" state throws an error when there is a mismatch
between the new fee type and existing fee types.
Van Mittal-Henkle :
[8435bb85cf08ba32f051685a8becbd0bbadcd045|http://mifos.git.sourceforge.net/git/gitweb.cgi?p=mifos/head&a=commit&h=8435bb85cf08ba32f051685a8becbd0bbadcd045]
Files :
* appdomain/src/main/java/org/mifos/accounts/fees/business/AmountFeeBO.java
* appdomain/src/main/java/org/mifos/accounts/fees/business/FeeBO.java
*
application/src/test/java/org/mifos/accounts/fees/business/AmountFeeBoTest.java
> adding a time of disbursement fee to a loan in "Application Pending Approval"
> state throws an error when there is a mismatch between the new fee type and
> existing fee types
> ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>
> Key: MIFOS-4575
> URL: http://mifosforge.jira.com/browse/MIFOS-4575
> Project: mifos
> Issue Type: Bug
> Components: Loan Account
> Affects Versions: Elsie F - Iteration 10, Elsie F
> Reporter: Van Mittal-Henkle
> Assignee: Van Mittal-Henkle
> Priority: Major
>
> Attempting to "Appyly Charges" to a loan in "Application Pending Approval"
> state, throws the error given at the bottom of the description.
> NOTE: this error only occurs if the fee being added is an "amount" type fee
> and there is a pre-existing recurring "rate" type fee.
> To reproduce:
> Using the test server http://birch.mifos.org:8085/mifos/
> 1) navigate to a loan in "Application pending approval" such as:
> Bangalore_branch1244723261188 / Test Customer1188 / HOUSE LOAN-1. The loan
> must have an existing rate fee.
> 2) click "apply charges" and select an amount type fee which will apply at
> the time of disbursement such as "loan fee at disbursement"
> 3) click "submit" on the apply charges screen and the error below is given.
> Error text
> ----------
> An unhandled error has occurred. Please contact your system administrator.
> View stack trace Hide stack trace
> java.lang.ClassCastException:
> org.mifos.accounts.fees.business.FeeBO_$$_javassist_178 cannot be cast to
> org.mifos.accounts.fees.business.AmountFeeBO
> at
> org.mifos.accounts.fees.business.AmountFeeBO.equals(AmountFeeBO.java:135)
> at
> org.mifos.accounts.loan.business.LoanBO.filterTimeOfDisbursementFees(LoanBO.java:2371)
> at
> org.mifos.accounts.loan.business.LoanBO.applyOneTimeFee(LoanBO.java:2272)
> at org.mifos.accounts.loan.business.LoanBO.applyCharge(LoanBO.java:1013)
> at
> org.mifos.accounts.servicefacade.WebTierAccountServiceFacade.applyCharge(WebTierAccountServiceFacade.java:226)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:597)
> at
> org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:309)
> at
> org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
> at
> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
> at
> org.springframework.security.access.intercept.aopalliance.MethodSecurityInterceptor.invoke(MethodSecurityInterceptor.java:67)
> at
> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
> at
> org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
> at $Proxy56.applyCharge(Unknown Source)
> at
> org.mifos.accounts.struts.action.ApplyChargeAction.update(ApplyChargeAction.java:82)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:597)
> at
> org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:274)
> at
> org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:194)
> at
> org.mifos.framework.struts.action.BaseAction.execute(BaseAction.java:187)
> at
> org.mifos.framework.struts.action.MifosRequestProcessor.processActionPerform(MifosRequestProcessor.java:195)
> at
> org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:224)
> at
> org.apache.struts.action.ActionServlet.process(ActionServlet.java:1194)
> at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> at
> org.mifos.servlet.filters.MifosAccessLogFilter.doFilter(MifosAccessLogFilter.java:72)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> at
> org.mifos.framework.persistence.DatabaseInitFilter.doFilter(DatabaseInitFilter.java:51)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:366)
> at
> org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:109)
> at
> org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83)
> at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:378)
> at
> org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:97)
> at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:378)
> at
> org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:100)
> at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:378)
> at
> org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:78)
> at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:378)
> at
> org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:54)
> at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:378)
> at
> org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:35)
> at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:378)
> at
> org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:187)
> at
> org.mifos.security.authentication.MifosLegacyUsernamePasswordAuthenticationFilter.doFilter(MifosLegacyUsernamePasswordAuthenticationFilter.java:107)
> at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:378)
> at
> org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:105)
> at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:378)
> at
> org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:79)
> at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:378)
> at
> org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:167)
> at
> org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:237)
> at
> org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
> at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
> at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
> at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
> at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
> at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
> at
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
> at
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
> at
> org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
> at java.lang.Thread.run(Thread.java:619)
--
This message is automatically generated by JIRA.
-
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