Details
Description
When saving a new supplier delivery for a single medication product the application gives a "Internal Application Error" message.
The log file has the following exception.
16:26:32,515 ERROR ErrorHelper,http-8080-Processor24:105 - An internal application error has occurred.
java.lang.NullPointerException
at org.openvpms.web.app.supplier.SupplierStockItemEditor.doSave(SupplierStockItemEditor.java:146)
at org.openvpms.web.component.im.edit.AbstractIMObjectEditor.save(AbstractIMObjectEditor.java:271)
at org.openvpms.web.component.im.edit.AbstractCollectionPropertyEditor.doSave(AbstractCollectionPropertyEditor.java:323)
at org.openvpms.web.component.im.edit.act.ActRelationshipCollectionPropertyEditor.doSave(ActRelationshipCollectionPropertyEditor.java:214)
at org.openvpms.web.component.im.edit.AbstractCollectionPropertyEditor.save(AbstractCollectionPropertyEditor.java:263)
at org.openvpms.web.component.im.edit.AbstractIMObjectCollectionEditor.doSave(AbstractIMObjectCollectionEditor.java:443)
at org.openvpms.web.component.im.edit.AbstractIMObjectCollectionEditor.save(AbstractIMObjectCollectionEditor.java:254)
at org.openvpms.web.component.im.edit.AbstractIMObjectEditor.saveChildren(AbstractIMObjectEditor.java:505)
at org.openvpms.web.component.im.edit.AbstractIMObjectEditor.doSave(AbstractIMObjectEditor.java:491)
at org.openvpms.web.component.im.edit.AbstractIMObjectEditor.save(AbstractIMObjectEditor.java:271)
at org.openvpms.web.component.im.edit.SaveHelper$1.doInTransaction(SaveHelper.java:55)
at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:114)
at org.openvpms.web.component.im.edit.SaveHelper.save(SaveHelper.java:53)
at org.openvpms.web.component.im.edit.EditDialog.save(EditDialog.java:161)
at org.openvpms.web.component.im.edit.EditDialog.onOK(EditDialog.java:136)
at org.openvpms.web.component.dialog.PopupDialog.onButton(PopupDialog.java:199)
at org.openvpms.web.component.dialog.PopupDialog$2.actionPerformed(PopupDialog.java:305)
at nextapp.echo2.app.button.AbstractButton.fireActionPerformed(AbstractButton.java:135)
at echopointng.ButtonEx$1.actionPerformed(ButtonEx.java:120)
at nextapp.echo2.app.button.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:70)
at echopointng.model.DefaultButtonModelEx.doAction(DefaultButtonModelEx.java:51)
at echopointng.ButtonEx.processInput(ButtonEx.java:202)
at nextapp.echo2.app.update.ClientUpdateManager.process(ClientUpdateManager.java:116)
at nextapp.echo2.app.update.UpdateManager.processClientUpdates(UpdateManager.java:89)
at nextapp.echo2.webcontainer.ContainerSynchronizeService.renderUpdate(ContainerSynchronizeService.java:472)
at nextapp.echo2.webrender.service.SynchronizeService.service(SynchronizeService.java:279)
at nextapp.echo2.webrender.WebRenderServlet.process(WebRenderServlet.java:273)
at org.openvpms.web.servlet.SpringWebContainerServlet.process(SpringWebContainerServlet.java:148)
at nextapp.echo2.webrender.WebRenderServlet.doPost(WebRenderServlet.java:189)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:292)
at org.openvpms.web.servlet.SkipLoginFilter.doFilter(SkipLoginFilter.java:111)
at org.openvpms.web.servlet.SkipLoginFilter.doFilter(SkipLoginFilter.java:71)
at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:303)
at org.acegisecurity.intercept.web.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:108)
at org.acegisecurity.intercept.web.SecurityEnforcementFilter.doFilter(SecurityEnforcementFilter.java:197)
at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:303)
at org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.java:143)
at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:303)
at org.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFilter.java:246)
at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:303)
at org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:220)
at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:303)
at org.acegisecurity.util.FilterChainProxy.doFilter(FilterChainProxy.java:173)
at org.acegisecurity.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.java:120)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
at java.lang.Thread.run(Unknown Source)
On investigation if the delivery was created from an order and the user does not click on any of the generated delivery items the error occurs. If the user selects one fo the delivered items it displays the item details and then the user is able to save the delivery.
Fix applied to vpms, revision 3106