[
http://mifosforge.jira.com/browse/MIFOS-3103?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Kay Chau updated MIFOS-3103:
----------------------------
Priority: Major (was: Critical)
Assignee: Sam Birney
Description:
When a loan has been reversed and then an import file is processed which
contains a reference to that account, the error is not validated. Then, when
submitting the import, it breaks on this row, but silently returning the user
to the initial import screen. The user must then figure out which loan was
cancelled by searching each record (or using log(n) search) and then import the
rest of the file. This becomes very tedious when there are hundreds of rows in
the file and several that have been reversed. We see the following error in
the log.
2010-06-17/14:39:37.166/EEST ERROR, org.mifos, MifosExceptionHandler,
logException, 55, Loan not in a State for a Repayment to be made: LOAN_CANCELLED
org.mifos.accounts.exceptions.AccountException: Loan not in a State for a
Repayment to be made: LOAN_CANCELLED
at org.mifos.accounts.loan.business.LoanBO.makePayment(LoanBO.java:1449)
at
org.mifos.accounts.business.AccountBO.applyPayment(AccountBO.java:446)
at
org.mifos.accounts.api.StandardAccountService.makePaymentNoCommit(StandardAccountService.java:118)
at
org.mifos.accounts.api.StandardAccountService.makePayments(StandardAccountService.java:97)
at org.mifos.StandardImport.store(StandardImport.java:73)
at
org.mifos.application.importexport.struts.action.ImportTransactionsAction.confirm(ImportTransactionsAction.java:169)
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:105)
at
org.mifos.framework.struts.action.MifosRequestProcessor.processActionPerform(MifosRequestProcessor.java:204)
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.security.util.LoginFilter.doFilter(LoginFilter.java:85)
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.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.valves.AccessLogValve.invoke(AccessLogValve.java:567)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849)
at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454)
at java.lang.Thread.run(Thread.java:619)
was:
When a loan has been reversed and then an import file is processed which
contains a reference to that account, the error is not validated. Then, when
submitting the import, it breaks on this row, but silently returning the user
to the initial import screen. The user must then figure out which loan was
cancelled by searching each record (or using log(n) search) and then import the
rest of the file. This becomes very tedious when there are hundreds of rows in
the file and several that have been reversed. We see the following error in
the log.
2010-06-17/14:39:37.166/EEST ERROR, org.mifos, MifosExceptionHandler,
logException, 55, Loan not in a State for a Repayment to be made: LOAN_CANCELLED
org.mifos.accounts.exceptions.AccountException: Loan not in a State for a
Repayment to be made: LOAN_CANCELLED
at org.mifos.accounts.loan.business.LoanBO.makePayment(LoanBO.java:1449)
at
org.mifos.accounts.business.AccountBO.applyPayment(AccountBO.java:446)
at
org.mifos.accounts.api.StandardAccountService.makePaymentNoCommit(StandardAccountService.java:118)
at
org.mifos.accounts.api.StandardAccountService.makePayments(StandardAccountService.java:97)
at org.mifos.StandardImport.store(StandardImport.java:73)
at
org.mifos.application.importexport.struts.action.ImportTransactionsAction.confirm(ImportTransactionsAction.java:169)
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:105)
at
org.mifos.framework.struts.action.MifosRequestProcessor.processActionPerform(MifosRequestProcessor.java:204)
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.security.util.LoginFilter.doFilter(LoginFilter.java:85)
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.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.valves.AccessLogValve.invoke(AccessLogValve.java:567)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849)
at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454)
at java.lang.Thread.run(Thread.java:619)
Fix Version/s: Release E - Iteration 1
> Import breaks on LOAN_CANCELLED state
> -------------------------------------
>
> Key: MIFOS-3103
> URL: http://mifosforge.jira.com/browse/MIFOS-3103
> Project: mifos
> Issue Type: Bug
> Components: ImportExport
> Affects Versions: Release 1.5.0.1
> Reporter: Sam Birney
> Assignee: Sam Birney
> Priority: Major
> Fix For: Release E - Iteration 1
>
>
> When a loan has been reversed and then an import file is processed which
> contains a reference to that account, the error is not validated. Then, when
> submitting the import, it breaks on this row, but silently returning the user
> to the initial import screen. The user must then figure out which loan was
> cancelled by searching each record (or using log(n) search) and then import
> the rest of the file. This becomes very tedious when there are hundreds of
> rows in the file and several that have been reversed. We see the following
> error in the log.
> 2010-06-17/14:39:37.166/EEST ERROR, org.mifos, MifosExceptionHandler,
> logException, 55, Loan not in a State for a Repayment to be made:
> LOAN_CANCELLED
> org.mifos.accounts.exceptions.AccountException: Loan not in a State for a
> Repayment to be made: LOAN_CANCELLED
> at
> org.mifos.accounts.loan.business.LoanBO.makePayment(LoanBO.java:1449)
> at
> org.mifos.accounts.business.AccountBO.applyPayment(AccountBO.java:446)
> at
> org.mifos.accounts.api.StandardAccountService.makePaymentNoCommit(StandardAccountService.java:118)
> at
> org.mifos.accounts.api.StandardAccountService.makePayments(StandardAccountService.java:97)
> at org.mifos.StandardImport.store(StandardImport.java:73)
> at
> org.mifos.application.importexport.struts.action.ImportTransactionsAction.confirm(ImportTransactionsAction.java:169)
> 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:105)
> at
> org.mifos.framework.struts.action.MifosRequestProcessor.processActionPerform(MifosRequestProcessor.java:204)
> 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.security.util.LoginFilter.doFilter(LoginFilter.java:85)
> 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.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.valves.AccessLogValve.invoke(AccessLogValve.java:567)
> at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
> at
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849)
> at
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
> at
> org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454)
> at java.lang.Thread.run(Thread.java:619)
--
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
------------------------------------------------------------------------------
ThinkGeek and WIRED's GeekDad team up for the Ultimate
GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the
lucky parental unit. See the prize list and enter to win:
http://p.sf.net/sfu/thinkgeek-promo
_______________________________________________
Mifos-issues mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mifos-issues