[ 
https://issues.apache.org/jira/browse/ISIS-1750?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16311680#comment-16311680
 ] 

ASF subversion and git services commented on ISIS-1750:
-------------------------------------------------------

Commit e2e422b3bb7785bd13e094a8418902e52aa90479 in isis's branch 
refs/heads/release-1.16.0-RC1 from [~danhaywood]
[ https://gitbox.apache.org/repos/asf?p=isis.git;h=e2e422b ]

ISIS-1750: adds fallback to previous behaviour if fail to handle exception 
gracefully.  This can occur if attempt to access non-existent object....

This can occur if attempt to access non-existent object.  An exception is 
thrown which takes us to the OnException handler, and then the 
respondGracefully for the recognised exception again attempts to take us back 
to the entity page which promptly throws the same exception once more.

So, if this happens we just give up and revert to the original behaviour of 
showing the error page.


> SQL Exception when invoke action (inline prompt) not handled correctly in UI
> ----------------------------------------------------------------------------
>
>                 Key: ISIS-1750
>                 URL: https://issues.apache.org/jira/browse/ISIS-1750
>             Project: Isis
>          Issue Type: Bug
>          Components: Core: Viewer: Wicket
>    Affects Versions: 1.15.1
>            Reporter: Dan Haywood
>            Assignee: Dan Haywood
>             Fix For: 1.16.0
>
>
> Invoked an action that threw SQL exception due to DB constraint being hit.
> reproduce: 
> * github shaId: ca2923908b4f2c3f07b088c79e698bdd849fb48d, 
> * bitbucket shaId: 3df4e10b5d3f8f584ffb7bb468ebc2c337d659ea
> using org.estatio.app.EstatioEcpAppManifestWithDemoFixture
> http://localhost:8080/wicket/entity/orders.OrderItem:2
> editCharge : WORKS -> MARKETING
> What I see is that the prompt doesn't change when hit OK (this is a single 
> autoComplete parameter), and in the browser we see a Javascript error, and 
> the following stacktrace server-side:
> {code}
> 14:09:37,954 [TitleFacetViaTitleMethod      ] title failure
> javax.jdo.JDODataStoreException: Update of object 
> "org.estatio.capex.dom.order.OrderItem@a0ac5fc" using statement "UPDATE 
> "dbo"."OrderItem" SET "chargeId"=?, "version"=? WHERE "id"=?" failed : 
> java.sql.SQLIntegrityConstraintViolationException: integrity constraint 
> violation: unique constraint or index violation; "OrderItem_order_charge_UNQ" 
> table: "OrderItem"
>       at org.hsqldb.jdbc.JDBCUtil.sqlException(Unknown Source)
>       at org.hsqldb.jdbc.JDBCUtil.sqlException(Unknown Source)
>       at org.hsqldb.jdbc.JDBCPreparedStatement.fetchResult(Unknown Source)
>       at org.hsqldb.jdbc.JDBCPreparedStatement.executeUpdate(Unknown Source)
>       at 
> com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.executeUpdate(NewProxyPreparedStatement.java:105)
>       at 
> org.datanucleus.store.rdbms.ParamLoggingPreparedStatement.executeUpdate(ParamLoggingPreparedStatement.java:393)
>       at 
> org.datanucleus.store.rdbms.SQLController.executeStatementUpdate(SQLController.java:431)
>       at 
> org.datanucleus.store.rdbms.request.UpdateRequest.execute(UpdateRequest.java:395)
>       at 
> org.datanucleus.store.rdbms.RDBMSPersistenceHandler.updateObjectInTable(RDBMSPersistenceHandler.java:409)
>       at 
> org.datanucleus.store.rdbms.RDBMSPersistenceHandler.updateObject(RDBMSPersistenceHandler.java:383)
>       at 
> org.datanucleus.state.StateManagerImpl.flush(StateManagerImpl.java:4585)
>       at org.datanucleus.flush.FlushOrdered.execute(FlushOrdered.java:106)
>       at 
> org.datanucleus.ExecutionContextImpl.flushInternal(ExecutionContextImpl.java:4054)
>       at org.datanucleus.store.query.Query.prepareDatastore(Query.java:1647)
>       at org.datanucleus.store.query.Query.executeQuery(Query.java:1832)
>       at org.datanucleus.store.query.Query.executeWithMap(Query.java:1762)
>       at org.datanucleus.api.jdo.JDOQuery.executeWithMap(JDOQuery.java:346)
>       at 
> org.apache.isis.objectstore.jdo.datanucleus.persistence.queries.PersistenceQueryFindUsingApplibQueryProcessor.getResults(PersistenceQueryFindUsingApplibQueryProcessor.java:117)
>       at 
> org.apache.isis.objectstore.jdo.datanucleus.persistence.queries.PersistenceQueryFindUsingApplibQueryProcessor.process(PersistenceQueryFindUsingApplibQueryProcessor.java:57)
>       at 
> org.apache.isis.objectstore.jdo.datanucleus.persistence.queries.PersistenceQueryFindUsingApplibQueryProcessor.process(PersistenceQueryFindUsingApplibQueryProcessor.java:41)
>       at 
> org.apache.isis.core.runtime.system.persistence.PersistenceSession.processPersistenceQuery(PersistenceSession.java:606)
>       at 
> org.apache.isis.core.runtime.system.persistence.PersistenceSession.access$000(PersistenceSession.java:147)
>       at 
> org.apache.isis.core.runtime.system.persistence.PersistenceSession$1.execute(PersistenceSession.java:567)
>       at 
> org.apache.isis.core.runtime.system.persistence.PersistenceSession$1.execute(PersistenceSession.java:564)
>       at 
> org.apache.isis.core.runtime.system.transaction.IsisTransactionManager.executeWithinTransaction(IsisTransactionManager.java:188)
>       at 
> org.apache.isis.core.runtime.system.transaction.IsisTransactionManager.executeWithinTransaction(IsisTransactionManager.java:178)
>       at 
> org.apache.isis.core.runtime.system.persistence.PersistenceSession.findInstancesInTransaction(PersistenceSession.java:563)
>       at 
> org.apache.isis.core.runtime.system.persistence.PersistenceSession.allMatchingQuery(PersistenceSession.java:530)
>       at 
> org.apache.isis.core.runtime.services.persistsession.PersistenceSessionServiceInternalDefault.allMatchingQuery(PersistenceSessionServiceInternalDefault.java:171)
>       at 
> org.apache.isis.core.metamodel.services.repository.RepositoryServiceInternalDefault.submitQuery(RepositoryServiceInternalDefault.java:173)
>       at 
> org.apache.isis.core.metamodel.services.repository.RepositoryServiceInternalDefault.allMatches(RepositoryServiceInternalDefault.java:169)
>       at 
> org.apache.isis.core.metamodel.services.container.DomainObjectContainerDefault.allMatches(DomainObjectContainerDefault.java:495)
>       at 
> org.apache.isis.applib.AbstractContainedObject.allMatches(AbstractContainedObject.java:289)
>       at 
> org.estatio.dom.UdoDomainRepositoryAndFactory.allMatches(UdoDomainRepositoryAndFactory.java:69)
>       at 
> org.estatio.capex.dom.orderinvoice.OrderItemInvoiceItemLinkRepository.findByOrderItem(OrderItemInvoiceItemLinkRepository.java:76)
>       at 
> org.estatio.capex.dom.orderinvoice.OrderItemInvoiceItemLinkRepository.calculateNetAmountLinkedToOrderItem(OrderItemInvoiceItemLinkRepository.java:126)
>       at 
> org.estatio.capex.dom.order.OrderItem.netAmountInvoiced(OrderItem.java:507)
>       at 
> org.estatio.capex.dom.order.OrderItem.netAmountOutstanding(OrderItem.java:502)
>       at org.estatio.capex.dom.order.OrderItem.title(OrderItem.java:145)
>       at sun.reflect.GeneratedMethodAccessor457.invoke(Unknown Source)
>       at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>       at java.lang.reflect.Method.invoke(Method.java:498)
>       at 
> org.apache.isis.core.commons.lang.MethodExtensions.invoke(MethodExtensions.java:53)
>       at 
> org.apache.isis.core.commons.lang.MethodExtensions.invoke(MethodExtensions.java:47)
>       at 
> org.apache.isis.core.metamodel.adapter.ObjectAdapter$InvokeUtils.invoke(ObjectAdapter.java:373)
>       at 
> org.apache.isis.core.metamodel.facets.object.title.methods.TitleFacetViaTitleMethod.title(TitleFacetViaTitleMethod.java:68)
>       at 
> org.apache.isis.core.metamodel.facets.object.domainobjectlayout.TitleFacetViaDomainObjectLayoutAnnotationUsingTitleUiEvent.title(TitleFacetViaDomainObjectLayoutAnnotationUsingTitleUiEvent.java:108)
>       at 
> org.apache.isis.core.metamodel.facets.object.title.TitleFacetAbstract.title(TitleFacetAbstract.java:42)
>       at 
> org.apache.isis.core.metamodel.specloader.specimpl.ObjectSpecificationAbstract.getTitle(ObjectSpecificationAbstract.java:397)
>       at 
> org.apache.isis.core.metamodel.specloader.specimpl.ObjectSpecificationAbstract.getTitle(ObjectSpecificationAbstract.java:389)
>       at 
> org.apache.isis.core.metamodel.services.title.TitleServiceDefault.titleOf(TitleServiceDefault.java:42)
>       at 
> org.isisaddons.module.publishmq.dom.jdo.spi.InteractionExecutionRepositoryJdo.buildTitle(InteractionExecutionRepositoryJdo.java:75)
>       at 
> org.isisaddons.module.publishmq.dom.jdo.spi.InteractionExecutionRepositoryJdo.persist(InteractionExecutionRepositoryJdo.java:64)
>       at 
> org.isisaddons.module.publishmq.dom.servicespi.PublisherServiceUsingActiveMq.persist(PublisherServiceUsingActiveMq.java:200)
>       at 
> org.isisaddons.module.publishmq.dom.servicespi.PublisherServiceUsingActiveMq.publish(PublisherServiceUsingActiveMq.java:150)
>       at 
> org.apache.isis.core.runtime.services.publish.PublishingServiceInternalDefault.publishToPublisherServices(PublishingServiceInternalDefault.java:400)
>       at 
> org.apache.isis.core.runtime.services.publish.PublishingServiceInternalDefault.publishAction(PublishingServiceInternalDefault.java:235)
>       at sun.reflect.GeneratedMethodAccessor517.invoke(Unknown Source)
>       at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>       at java.lang.reflect.Method.invoke(Method.java:498)
>       at 
> org.apache.isis.core.runtime.services.ServiceInstantiator$2.invoke(ServiceInstantiator.java:219)
>       at 
> org.apache.isis.core.runtime.services.publish.PublishingServiceInternalDefault_$$_jvst45b_8.publishAction(PublishingServiceInternalDefault_$$_jvst45b_8.java)
>       at 
> org.apache.isis.core.metamodel.facets.actions.action.invocation.ActionInvocationFacetForDomainEventAbstract.doInvoke(ActionInvocationFacetForDomainEventAbstract.java:343)
>       at 
> org.apache.isis.core.metamodel.facets.actions.action.invocation.ActionInvocationFacetForDomainEventAbstract$1.execute(ActionInvocationFacetForDomainEventAbstract.java:164)
>       at 
> org.apache.isis.core.runtime.system.transaction.IsisTransactionManager.executeWithinTransaction(IsisTransactionManager.java:142)
>       at 
> org.apache.isis.core.runtime.system.transaction.IsisTransactionManager.executeWithinTransaction(IsisTransactionManager.java:132)
>       at 
> org.apache.isis.core.runtime.services.persistsession.PersistenceSessionServiceInternalDefault.executeWithinTransaction(PersistenceSessionServiceInternalDefault.java:181)
>       at 
> org.apache.isis.core.metamodel.facets.actions.action.invocation.ActionInvocationFacetForDomainEventAbstract.invoke(ActionInvocationFacetForDomainEventAbstract.java:160)
>       at 
> org.apache.isis.core.metamodel.specloader.specimpl.ObjectActionDefault.executeInternal(ObjectActionDefault.java:400)
>       at 
> org.apache.isis.core.metamodel.specloader.specimpl.ObjectActionDefault.execute(ObjectActionDefault.java:389)
>       at 
> org.apache.isis.core.metamodel.specloader.specimpl.ObjectActionDefault.executeWithRuleChecking(ObjectActionDefault.java:370)
>       at 
> org.apache.isis.viewer.wicket.model.models.ActionModel.executeAction(ActionModel.java:460)
>       at 
> org.apache.isis.viewer.wicket.model.models.ActionModel.load(ActionModel.java:439)
>       at 
> org.apache.isis.viewer.wicket.model.models.ActionModel.load(ActionModel.java:76)
>       at 
> org.apache.wicket.model.LoadableDetachableModel.getObject(LoadableDetachableModel.java:135)
>       at 
> org.apache.isis.viewer.wicket.model.models.ActionModel.execute(ActionModel.java:564)
>       at 
> org.apache.isis.viewer.wicket.ui.components.actions.ActionFormExecutorStrategy.obtainResultAdapter(ActionFormExecutorStrategy.java:72)
>       at 
> org.apache.isis.viewer.wicket.ui.panels.FormExecutorDefault.obtainResultAdapter(FormExecutorDefault.java:514)
>       at 
> org.apache.isis.viewer.wicket.ui.panels.FormExecutorDefault.executeAndProcessResults(FormExecutorDefault.java:145)
>       at 
> org.apache.isis.viewer.wicket.ui.panels.PromptFormAbstract.onOkSubmittedOf(PromptFormAbstract.java:228)
>       at 
> org.apache.isis.viewer.wicket.ui.panels.PromptFormAbstract.access$000(PromptFormAbstract.java:60)
>       at 
> org.apache.isis.viewer.wicket.ui.panels.PromptFormAbstract$1.onSubmit(PromptFormAbstract.java:122)
>       at 
> org.apache.wicket.ajax.markup.html.form.AjaxButton$1.onSubmit(AjaxButton.java:113)
>       at 
> org.apache.wicket.ajax.form.AjaxFormSubmitBehavior$AjaxFormSubmitter.onSubmit(AjaxFormSubmitBehavior.java:215)
>       at 
> org.apache.wicket.markup.html.form.Form.delegateSubmit(Form.java:1307)
>       at org.apache.wicket.markup.html.form.Form.process(Form.java:976)
>       at 
> org.apache.isis.viewer.wicket.ui.panels.FormAbstract.process(FormAbstract.java:77)
>       at 
> org.apache.wicket.markup.html.form.Form.onFormSubmitted(Form.java:797)
>       at 
> org.apache.wicket.ajax.form.AjaxFormSubmitBehavior.onEvent(AjaxFormSubmitBehavior.java:171)
>       at 
> org.apache.wicket.ajax.AjaxEventBehavior.respond(AjaxEventBehavior.java:155)
>       at 
> org.apache.wicket.ajax.AbstractDefaultAjaxBehavior.onRequest(AbstractDefaultAjaxBehavior.java:601)
>       at sun.reflect.GeneratedMethodAccessor481.invoke(Unknown Source)
>       at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>       at java.lang.reflect.Method.invoke(Method.java:498)
>       at 
> org.apache.wicket.RequestListenerInterface.internalInvoke(RequestListenerInterface.java:258)
>       at 
> org.apache.wicket.RequestListenerInterface.invoke(RequestListenerInterface.java:241)
>       at 
> org.apache.wicket.core.request.handler.ListenerInterfaceRequestHandler.invokeListener(ListenerInterfaceRequestHandler.java:248)
>       at 
> org.apache.wicket.core.request.handler.ListenerInterfaceRequestHandler.respond(ListenerInterfaceRequestHandler.java:234)
>       at 
> org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:895)
>       at 
> org.apache.wicket.request.RequestHandlerStack.execute(RequestHandlerStack.java:64)
>       at 
> org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:265)
>       at 
> org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:222)
>       at 
> org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:293)
>       at 
> org.apache.wicket.protocol.http.WicketFilter.processRequestCycle(WicketFilter.java:261)
>       at 
> org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:203)
>       at 
> org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:284)
>       at 
> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1621)
>       at 
> org.apache.isis.core.webapp.diagnostics.IsisLogOnExceptionFilter.doFilter(IsisLogOnExceptionFilter.java:52)
>       at 
> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1621)
>       at org.togglz.servlet.TogglzFilter.doFilter(TogglzFilter.java:100)
>       at 
> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1621)
>       at 
> org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449)
>       at 
> org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365)
>       at 
> org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90)
>       at 
> org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83)
>       at 
> org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:383)
>       at 
> org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362)
>       at 
> org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125)
>       at 
> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1613)
>       at 
> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:541)
>       at 
> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
>       at 
> org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:548)
>       at 
> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
>       at 
> org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:190)
>       at 
> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1593)
>       at 
> org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:188)
>       at 
> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1239)
>       at 
> org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:168)
>       at 
> org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:481)
>       at 
> org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1562)
>       at 
> org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:166)
>       at 
> org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1141)
>       at 
> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
>       at 
> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
>       at org.eclipse.jetty.server.Server.handle(Server.java:564)
>       at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:320)
>       at 
> org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:251)
>       at 
> org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:279)
>       at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:110)
>       at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:124)
>       at 
> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:672)
>       at 
> org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:590)
>       at java.lang.Thread.run(Thread.java:745)
> Caused by: org.hsqldb.HsqlException: integrity constraint violation: unique 
> constraint or index violation; "OrderItem_order_charge_UNQ" table: "OrderItem"
>       at org.hsqldb.error.Error.error(Unknown Source)
>       at org.hsqldb.Constraint.getException(Unknown Source)
>       at org.hsqldb.index.IndexAVLMemory.insert(Unknown Source)
>       at org.hsqldb.persist.RowStoreAVL.indexRow(Unknown Source)
>       at org.hsqldb.TransactionManager2PL.addInsertAction(Unknown Source)
>       at org.hsqldb.Session.addInsertAction(Unknown Source)
>       at org.hsqldb.Table.insertSingleRow(Unknown Source)
>       at org.hsqldb.StatementDML.update(Unknown Source)
>       at org.hsqldb.StatementDML.executeUpdateStatement(Unknown Source)
>       at org.hsqldb.StatementDML.getResult(Unknown Source)
>       at org.hsqldb.StatementDMQL.execute(Unknown Source)
>       at org.hsqldb.Session.executeCompiledStatement(Unknown Source)
>       at org.hsqldb.Session.execute(Unknown Source)
>       ... 141 more
>       at 
> org.datanucleus.api.jdo.NucleusJDOHelper.getJDOExceptionForNucleusException(NucleusJDOHelper.java:543)
>       at org.datanucleus.api.jdo.JDOQuery.executeWithMap(JDOQuery.java:363)
>       at 
> org.apache.isis.objectstore.jdo.datanucleus.persistence.queries.PersistenceQueryFindUsingApplibQueryProcessor.getResults(PersistenceQueryFindUsingApplibQueryProcessor.java:117)
>       at 
> org.apache.isis.objectstore.jdo.datanucleus.persistence.queries.PersistenceQueryFindUsingApplibQueryProcessor.process(PersistenceQueryFindUsingApplibQueryProcessor.java:57)
>       at 
> org.apache.isis.objectstore.jdo.datanucleus.persistence.queries.PersistenceQueryFindUsingApplibQueryProcessor.process(PersistenceQueryFindUsingApplibQueryProcessor.java:41)
>       at 
> org.apache.isis.core.runtime.system.persistence.PersistenceSession.processPersistenceQuery(PersistenceSession.java:606)
>       at 
> org.apache.isis.core.runtime.system.persistence.PersistenceSession.access$000(PersistenceSession.java:147)
>       at 
> org.apache.isis.core.runtime.system.persistence.PersistenceSession$1.execute(PersistenceSession.java:567)
>       at 
> org.apache.isis.core.runtime.system.persistence.PersistenceSession$1.execute(PersistenceSession.java:564)
>       at 
> org.apache.isis.core.runtime.system.transaction.IsisTransactionManager.executeWithinTransaction(IsisTransactionManager.java:188)
>       at 
> org.apache.isis.core.runtime.system.transaction.IsisTransactionManager.executeWithinTransaction(IsisTransactionManager.java:178)
>       at 
> org.apache.isis.core.runtime.system.persistence.PersistenceSession.findInstancesInTransaction(PersistenceSession.java:563)
>       at 
> org.apache.isis.core.runtime.system.persistence.PersistenceSession.allMatchingQuery(PersistenceSession.java:530)
>       at 
> org.apache.isis.core.runtime.services.persistsession.PersistenceSessionServiceInternalDefault.allMatchingQuery(PersistenceSessionServiceInternalDefault.java:171)
>       at 
> org.apache.isis.core.metamodel.services.repository.RepositoryServiceInternalDefault.submitQuery(RepositoryServiceInternalDefault.java:173)
>       at 
> org.apache.isis.core.metamodel.services.repository.RepositoryServiceInternalDefault.allMatches(RepositoryServiceInternalDefault.java:169)
>       at 
> org.apache.isis.core.metamodel.services.container.DomainObjectContainerDefault.allMatches(DomainObjectContainerDefault.java:495)
>       at 
> org.apache.isis.applib.AbstractContainedObject.allMatches(AbstractContainedObject.java:289)
>       at 
> org.estatio.dom.UdoDomainRepositoryAndFactory.allMatches(UdoDomainRepositoryAndFactory.java:69)
>       at 
> org.estatio.capex.dom.orderinvoice.OrderItemInvoiceItemLinkRepository.findByOrderItem(OrderItemInvoiceItemLinkRepository.java:76)
>       at 
> org.estatio.capex.dom.orderinvoice.OrderItemInvoiceItemLinkRepository.calculateNetAmountLinkedToOrderItem(OrderItemInvoiceItemLinkRepository.java:126)
>       at 
> org.estatio.capex.dom.order.OrderItem.netAmountInvoiced(OrderItem.java:507)
>       at 
> org.estatio.capex.dom.order.OrderItem.netAmountOutstanding(OrderItem.java:502)
>       at org.estatio.capex.dom.order.OrderItem.title(OrderItem.java:145)
>       at sun.reflect.GeneratedMethodAccessor457.invoke(Unknown Source)
>       at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>       at java.lang.reflect.Method.invoke(Method.java:498)
>       at 
> org.apache.isis.core.commons.lang.MethodExtensions.invoke(MethodExtensions.java:53)
>       at 
> org.apache.isis.core.commons.lang.MethodExtensions.invoke(MethodExtensions.java:47)
>       at 
> org.apache.isis.core.metamodel.adapter.ObjectAdapter$InvokeUtils.invoke(ObjectAdapter.java:373)
>       at 
> org.apache.isis.core.metamodel.facets.object.title.methods.TitleFacetViaTitleMethod.title(TitleFacetViaTitleMethod.java:68)
>       at 
> org.apache.isis.core.metamodel.facets.object.domainobjectlayout.TitleFacetViaDomainObjectLayoutAnnotationUsingTitleUiEvent.title(TitleFacetViaDomainObjectLayoutAnnotationUsingTitleUiEvent.java:108)
>       at 
> org.apache.isis.core.metamodel.facets.object.title.TitleFacetAbstract.title(TitleFacetAbstract.java:42)
>       at 
> org.apache.isis.core.metamodel.specloader.specimpl.ObjectSpecificationAbstract.getTitle(ObjectSpecificationAbstract.java:397)
>       at 
> org.apache.isis.core.metamodel.specloader.specimpl.ObjectSpecificationAbstract.getTitle(ObjectSpecificationAbstract.java:389)
>       at 
> org.apache.isis.core.metamodel.services.title.TitleServiceDefault.titleOf(TitleServiceDefault.java:42)
>       at 
> org.isisaddons.module.publishmq.dom.jdo.spi.InteractionExecutionRepositoryJdo.buildTitle(InteractionExecutionRepositoryJdo.java:75)
>       at 
> org.isisaddons.module.publishmq.dom.jdo.spi.InteractionExecutionRepositoryJdo.persist(InteractionExecutionRepositoryJdo.java:64)
>       at 
> org.isisaddons.module.publishmq.dom.servicespi.PublisherServiceUsingActiveMq.persist(PublisherServiceUsingActiveMq.java:200)
>       at 
> org.isisaddons.module.publishmq.dom.servicespi.PublisherServiceUsingActiveMq.publish(PublisherServiceUsingActiveMq.java:150)
>       at 
> org.apache.isis.core.runtime.services.publish.PublishingServiceInternalDefault.publishToPublisherServices(PublishingServiceInternalDefault.java:400)
>       at 
> org.apache.isis.core.runtime.services.publish.PublishingServiceInternalDefault.publishAction(PublishingServiceInternalDefault.java:235)
>       at sun.reflect.GeneratedMethodAccessor517.invoke(Unknown Source)
>       at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>       at java.lang.reflect.Method.invoke(Method.java:498)
>       at 
> org.apache.isis.core.runtime.services.ServiceInstantiator$2.invoke(ServiceInstantiator.java:219)
>       at 
> org.apache.isis.core.runtime.services.publish.PublishingServiceInternalDefault_$$_jvst45b_8.publishAction(PublishingServiceInternalDefault_$$_jvst45b_8.java)
>       at 
> org.apache.isis.core.metamodel.facets.actions.action.invocation.ActionInvocationFacetForDomainEventAbstract.doInvoke(ActionInvocationFacetForDomainEventAbstract.java:343)
>       at 
> org.apache.isis.core.metamodel.facets.actions.action.invocation.ActionInvocationFacetForDomainEventAbstract$1.execute(ActionInvocationFacetForDomainEventAbstract.java:164)
>       at 
> org.apache.isis.core.runtime.system.transaction.IsisTransactionManager.executeWithinTransaction(IsisTransactionManager.java:142)
>       at 
> org.apache.isis.core.runtime.system.transaction.IsisTransactionManager.executeWithinTransaction(IsisTransactionManager.java:132)
>       at 
> org.apache.isis.core.runtime.services.persistsession.PersistenceSessionServiceInternalDefault.executeWithinTransaction(PersistenceSessionServiceInternalDefault.java:181)
>       at 
> org.apache.isis.core.metamodel.facets.actions.action.invocation.ActionInvocationFacetForDomainEventAbstract.invoke(ActionInvocationFacetForDomainEventAbstract.java:160)
>       at 
> org.apache.isis.core.metamodel.specloader.specimpl.ObjectActionDefault.executeInternal(ObjectActionDefault.java:400)
>       at 
> org.apache.isis.core.metamodel.specloader.specimpl.ObjectActionDefault.execute(ObjectActionDefault.java:389)
>       at 
> org.apache.isis.core.metamodel.specloader.specimpl.ObjectActionDefault.executeWithRuleChecking(ObjectActionDefault.java:370)
>       at 
> org.apache.isis.viewer.wicket.model.models.ActionModel.executeAction(ActionModel.java:460)
>       at 
> org.apache.isis.viewer.wicket.model.models.ActionModel.load(ActionModel.java:439)
>       at 
> org.apache.isis.viewer.wicket.model.models.ActionModel.load(ActionModel.java:76)
>       at 
> org.apache.wicket.model.LoadableDetachableModel.getObject(LoadableDetachableModel.java:135)
>       at 
> org.apache.isis.viewer.wicket.model.models.ActionModel.execute(ActionModel.java:564)
>       at 
> org.apache.isis.viewer.wicket.ui.components.actions.ActionFormExecutorStrategy.obtainResultAdapter(ActionFormExecutorStrategy.java:72)
>       at 
> org.apache.isis.viewer.wicket.ui.panels.FormExecutorDefault.obtainResultAdapter(FormExecutorDefault.java:514)
>       at 
> org.apache.isis.viewer.wicket.ui.panels.FormExecutorDefault.executeAndProcessResults(FormExecutorDefault.java:145)
>       at 
> org.apache.isis.viewer.wicket.ui.panels.PromptFormAbstract.onOkSubmittedOf(PromptFormAbstract.java:228)
>       at 
> org.apache.isis.viewer.wicket.ui.panels.PromptFormAbstract.access$000(PromptFormAbstract.java:60)
>       at 
> org.apache.isis.viewer.wicket.ui.panels.PromptFormAbstract$1.onSubmit(PromptFormAbstract.java:122)
>       at 
> org.apache.wicket.ajax.markup.html.form.AjaxButton$1.onSubmit(AjaxButton.java:113)
>       at 
> org.apache.wicket.ajax.form.AjaxFormSubmitBehavior$AjaxFormSubmitter.onSubmit(AjaxFormSubmitBehavior.java:215)
>       at 
> org.apache.wicket.markup.html.form.Form.delegateSubmit(Form.java:1307)
>       at org.apache.wicket.markup.html.form.Form.process(Form.java:976)
>       at 
> org.apache.isis.viewer.wicket.ui.panels.FormAbstract.process(FormAbstract.java:77)
>       at 
> org.apache.wicket.markup.html.form.Form.onFormSubmitted(Form.java:797)
>       at 
> org.apache.wicket.ajax.form.AjaxFormSubmitBehavior.onEvent(AjaxFormSubmitBehavior.java:171)
>       at 
> org.apache.wicket.ajax.AjaxEventBehavior.respond(AjaxEventBehavior.java:155)
>       at 
> org.apache.wicket.ajax.AbstractDefaultAjaxBehavior.onRequest(AbstractDefaultAjaxBehavior.java:601)
>       at sun.reflect.GeneratedMethodAccessor481.invoke(Unknown Source)
>       at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>       at java.lang.reflect.Method.invoke(Method.java:498)
>       at 
> org.apache.wicket.RequestListenerInterface.internalInvoke(RequestListenerInterface.java:258)
>       at 
> org.apache.wicket.RequestListenerInterface.invoke(RequestListenerInterface.java:241)
>       at 
> org.apache.wicket.core.request.handler.ListenerInterfaceRequestHandler.invokeListener(ListenerInterfaceRequestHandler.java:248)
>       at 
> org.apache.wicket.core.request.handler.ListenerInterfaceRequestHandler.respond(ListenerInterfaceRequestHandler.java:234)
>       at 
> org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:895)
>       at 
> org.apache.wicket.request.RequestHandlerStack.execute(RequestHandlerStack.java:64)
>       at 
> org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:265)
>       at 
> org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:222)
>       at 
> org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:293)
>       at 
> org.apache.wicket.protocol.http.WicketFilter.processRequestCycle(WicketFilter.java:261)
>       at 
> org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:203)
>       at 
> org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:284)
>       at 
> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1621)
>       at 
> org.apache.isis.core.webapp.diagnostics.IsisLogOnExceptionFilter.doFilter(IsisLogOnExceptionFilter.java:52)
>       at 
> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1621)
>       at org.togglz.servlet.TogglzFilter.doFilter(TogglzFilter.java:100)
>       at 
> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1621)
>       at 
> org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449)
>       at 
> org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365)
>       at 
> org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90)
>       at 
> org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83)
>       at 
> org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:383)
>       at 
> org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362)
>       at 
> org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125)
>       at 
> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1613)
>       at 
> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:541)
>       at 
> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
>       at 
> org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:548)
>       at 
> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
>       at 
> org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:190)
>       at 
> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1593)
>       at 
> org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:188)
>       at 
> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1239)
>       at 
> org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:168)
>       at 
> org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:481)
>       at 
> org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1562)
>       at 
> org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:166)
>       at 
> org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1141)
>       at 
> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
>       at 
> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
>       at org.eclipse.jetty.server.Server.handle(Server.java:564)
>       at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:320)
>       at 
> org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:251)
>       at 
> org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:279)
>       at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:110)
>       at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:124)
>       at 
> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:672)
>       at 
> org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:590)
>       at java.lang.Thread.run(Thread.java:745)
> NestedThrowablesStackTrace:
> java.sql.SQLIntegrityConstraintViolationException: integrity constraint 
> violation: unique constraint or index violation; "OrderItem_order_charge_UNQ" 
> table: "OrderItem"
>       at org.hsqldb.jdbc.JDBCUtil.sqlException(Unknown Source)
>       at org.hsqldb.jdbc.JDBCUtil.sqlException(Unknown Source)
>       at org.hsqldb.jdbc.JDBCPreparedStatement.fetchResult(Unknown Source)
>       at org.hsqldb.jdbc.JDBCPreparedStatement.executeUpdate(Unknown Source)
>       at 
> com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.executeUpdate(NewProxyPreparedStatement.java:105)
>       at 
> org.datanucleus.store.rdbms.ParamLoggingPreparedStatement.executeUpdate(ParamLoggingPreparedStatement.java:393)
>       at 
> org.datanucleus.store.rdbms.SQLController.executeStatementUpdate(SQLController.java:431)
>       at 
> org.datanucleus.store.rdbms.request.UpdateRequest.execute(UpdateRequest.java:395)
>       at 
> org.datanucleus.store.rdbms.RDBMSPersistenceHandler.updateObjectInTable(RDBMSPersistenceHandler.java:409)
>       at 
> org.datanucleus.store.rdbms.RDBMSPersistenceHandler.updateObject(RDBMSPersistenceHandler.java:383)
>       at 
> org.datanucleus.state.StateManagerImpl.flush(StateManagerImpl.java:4585)
>       at org.datanucleus.flush.FlushOrdered.execute(FlushOrdered.java:106)
>       at 
> org.datanucleus.ExecutionContextImpl.flushInternal(ExecutionContextImpl.java:4054)
>       at org.datanucleus.store.query.Query.prepareDatastore(Query.java:1647)
>       at org.datanucleus.store.query.Query.executeQuery(Query.java:1832)
>       at org.datanucleus.store.query.Query.executeWithMap(Query.java:1762)
>       at org.datanucleus.api.jdo.JDOQuery.executeWithMap(JDOQuery.java:346)
>       at 
> org.apache.isis.objectstore.jdo.datanucleus.persistence.queries.PersistenceQueryFindUsingApplibQueryProcessor.getResults(PersistenceQueryFindUsingApplibQueryProcessor.java:117)
>       at 
> org.apache.isis.objectstore.jdo.datanucleus.persistence.queries.PersistenceQueryFindUsingApplibQueryProcessor.process(PersistenceQueryFindUsingApplibQueryProcessor.java:57)
>       at 
> org.apache.isis.objectstore.jdo.datanucleus.persistence.queries.PersistenceQueryFindUsingApplibQueryProcessor.process(PersistenceQueryFindUsingApplibQueryProcessor.java:41)
>       at 
> org.apache.isis.core.runtime.system.persistence.PersistenceSession.processPersistenceQuery(PersistenceSession.java:606)
>       at 
> org.apache.isis.core.runtime.system.persistence.PersistenceSession.access$000(PersistenceSession.java:147)
>       at 
> org.apache.isis.core.runtime.system.persistence.PersistenceSession$1.execute(PersistenceSession.java:567)
>       at 
> org.apache.isis.core.runtime.system.persistence.PersistenceSession$1.execute(PersistenceSession.java:564)
>       at 
> org.apache.isis.core.runtime.system.transaction.IsisTransactionManager.executeWithinTransaction(IsisTransactionManager.java:188)
>       at 
> org.apache.isis.core.runtime.system.transaction.IsisTransactionManager.executeWithinTransaction(IsisTransactionManager.java:178)
>       at 
> org.apache.isis.core.runtime.system.persistence.PersistenceSession.findInstancesInTransaction(PersistenceSession.java:563)
>       at 
> org.apache.isis.core.runtime.system.persistence.PersistenceSession.allMatchingQuery(PersistenceSession.java:530)
>       at 
> org.apache.isis.core.runtime.services.persistsession.PersistenceSessionServiceInternalDefault.allMatchingQuery(PersistenceSessionServiceInternalDefault.java:171)
>       at 
> org.apache.isis.core.metamodel.services.repository.RepositoryServiceInternalDefault.submitQuery(RepositoryServiceInternalDefault.java:173)
>       at 
> org.apache.isis.core.metamodel.services.repository.RepositoryServiceInternalDefault.allMatches(RepositoryServiceInternalDefault.java:169)
>       at 
> org.apache.isis.core.metamodel.services.container.DomainObjectContainerDefault.allMatches(DomainObjectContainerDefault.java:495)
>       at 
> org.apache.isis.applib.AbstractContainedObject.allMatches(AbstractContainedObject.java:289)
>       at 
> org.estatio.dom.UdoDomainRepositoryAndFactory.allMatches(UdoDomainRepositoryAndFactory.java:69)
>       at 
> org.estatio.capex.dom.orderinvoice.OrderItemInvoiceItemLinkRepository.findByOrderItem(OrderItemInvoiceItemLinkRepository.java:76)
>       at 
> org.estatio.capex.dom.orderinvoice.OrderItemInvoiceItemLinkRepository.calculateNetAmountLinkedToOrderItem(OrderItemInvoiceItemLinkRepository.java:126)
>       at 
> org.estatio.capex.dom.order.OrderItem.netAmountInvoiced(OrderItem.java:507)
>       at 
> org.estatio.capex.dom.order.OrderItem.netAmountOutstanding(OrderItem.java:502)
>       at org.estatio.capex.dom.order.OrderItem.title(OrderItem.java:145)
>       at sun.reflect.GeneratedMethodAccessor457.invoke(Unknown Source)
>       at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>       at java.lang.reflect.Method.invoke(Method.java:498)
>       at 
> org.apache.isis.core.commons.lang.MethodExtensions.invoke(MethodExtensions.java:53)
>       at 
> org.apache.isis.core.commons.lang.MethodExtensions.invoke(MethodExtensions.java:47)
>       at 
> org.apache.isis.core.metamodel.adapter.ObjectAdapter$InvokeUtils.invoke(ObjectAdapter.java:373)
>       at 
> org.apache.isis.core.metamodel.facets.object.title.methods.TitleFacetViaTitleMethod.title(TitleFacetViaTitleMethod.java:68)
>       at 
> org.apache.isis.core.metamodel.facets.object.domainobjectlayout.TitleFacetViaDomainObjectLayoutAnnotationUsingTitleUiEvent.title(TitleFacetViaDomainObjectLayoutAnnotationUsingTitleUiEvent.java:108)
>       at 
> org.apache.isis.core.metamodel.facets.object.title.TitleFacetAbstract.title(TitleFacetAbstract.java:42)
>       at 
> org.apache.isis.core.metamodel.specloader.specimpl.ObjectSpecificationAbstract.getTitle(ObjectSpecificationAbstract.java:397)
>       at 
> org.apache.isis.core.metamodel.specloader.specimpl.ObjectSpecificationAbstract.getTitle(ObjectSpecificationAbstract.java:389)
>       at 
> org.apache.isis.core.metamodel.services.title.TitleServiceDefault.titleOf(TitleServiceDefault.java:42)
>       at 
> org.isisaddons.module.publishmq.dom.jdo.spi.InteractionExecutionRepositoryJdo.buildTitle(InteractionExecutionRepositoryJdo.java:75)
>       at 
> org.isisaddons.module.publishmq.dom.jdo.spi.InteractionExecutionRepositoryJdo.persist(InteractionExecutionRepositoryJdo.java:64)
>       at 
> org.isisaddons.module.publishmq.dom.servicespi.PublisherServiceUsingActiveMq.persist(PublisherServiceUsingActiveMq.java:200)
>       at 
> org.isisaddons.module.publishmq.dom.servicespi.PublisherServiceUsingActiveMq.publish(PublisherServiceUsingActiveMq.java:150)
>       at 
> org.apache.isis.core.runtime.services.publish.PublishingServiceInternalDefault.publishToPublisherServices(PublishingServiceInternalDefault.java:400)
>       at 
> org.apache.isis.core.runtime.services.publish.PublishingServiceInternalDefault.publishAction(PublishingServiceInternalDefault.java:235)
>       at sun.reflect.GeneratedMethodAccessor517.invoke(Unknown Source)
>       at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>       at java.lang.reflect.Method.invoke(Method.java:498)
>       at 
> org.apache.isis.core.runtime.services.ServiceInstantiator$2.invoke(ServiceInstantiator.java:219)
>       at 
> org.apache.isis.core.runtime.services.publish.PublishingServiceInternalDefault_$$_jvst45b_8.publishAction(PublishingServiceInternalDefault_$$_jvst45b_8.java)
>       at 
> org.apache.isis.core.metamodel.facets.actions.action.invocation.ActionInvocationFacetForDomainEventAbstract.doInvoke(ActionInvocationFacetForDomainEventAbstract.java:343)
>       at 
> org.apache.isis.core.metamodel.facets.actions.action.invocation.ActionInvocationFacetForDomainEventAbstract$1.execute(ActionInvocationFacetForDomainEventAbstract.java:164)
>       at 
> org.apache.isis.core.runtime.system.transaction.IsisTransactionManager.executeWithinTransaction(IsisTransactionManager.java:142)
>       at 
> org.apache.isis.core.runtime.system.transaction.IsisTransactionManager.executeWithinTransaction(IsisTransactionManager.java:132)
>       at 
> org.apache.isis.core.runtime.services.persistsession.PersistenceSessionServiceInternalDefault.executeWithinTransaction(PersistenceSessionServiceInternalDefault.java:181)
>       at 
> org.apache.isis.core.metamodel.facets.actions.action.invocation.ActionInvocationFacetForDomainEventAbstract.invoke(ActionInvocationFacetForDomainEventAbstract.java:160)
>       at 
> org.apache.isis.core.metamodel.specloader.specimpl.ObjectActionDefault.executeInternal(ObjectActionDefault.java:400)
>       at 
> org.apache.isis.core.metamodel.specloader.specimpl.ObjectActionDefault.execute(ObjectActionDefault.java:389)
>       at 
> org.apache.isis.core.metamodel.specloader.specimpl.ObjectActionDefault.executeWithRuleChecking(ObjectActionDefault.java:370)
>       at 
> org.apache.isis.viewer.wicket.model.models.ActionModel.executeAction(ActionModel.java:460)
>       at 
> org.apache.isis.viewer.wicket.model.models.ActionModel.load(ActionModel.java:439)
>       at 
> org.apache.isis.viewer.wicket.model.models.ActionModel.load(ActionModel.java:76)
>       at 
> org.apache.wicket.model.LoadableDetachableModel.getObject(LoadableDetachableModel.java:135)
>       at 
> org.apache.isis.viewer.wicket.model.models.ActionModel.execute(ActionModel.java:564)
>       at 
> org.apache.isis.viewer.wicket.ui.components.actions.ActionFormExecutorStrategy.obtainResultAdapter(ActionFormExecutorStrategy.java:72)
>       at 
> org.apache.isis.viewer.wicket.ui.panels.FormExecutorDefault.obtainResultAdapter(FormExecutorDefault.java:514)
>       at 
> org.apache.isis.viewer.wicket.ui.panels.FormExecutorDefault.executeAndProcessResults(FormExecutorDefault.java:145)
>       at 
> org.apache.isis.viewer.wicket.ui.panels.PromptFormAbstract.onOkSubmittedOf(PromptFormAbstract.java:228)
>       at 
> org.apache.isis.viewer.wicket.ui.panels.PromptFormAbstract.access$000(PromptFormAbstract.java:60)
>       at 
> org.apache.isis.viewer.wicket.ui.panels.PromptFormAbstract$1.onSubmit(PromptFormAbstract.java:122)
>       at 
> org.apache.wicket.ajax.markup.html.form.AjaxButton$1.onSubmit(AjaxButton.java:113)
>       at 
> org.apache.wicket.ajax.form.AjaxFormSubmitBehavior$AjaxFormSubmitter.onSubmit(AjaxFormSubmitBehavior.java:215)
>       at 
> org.apache.wicket.markup.html.form.Form.delegateSubmit(Form.java:1307)
>       at org.apache.wicket.markup.html.form.Form.process(Form.java:976)
>       at 
> org.apache.isis.viewer.wicket.ui.panels.FormAbstract.process(FormAbstract.java:77)
>       at 
> org.apache.wicket.markup.html.form.Form.onFormSubmitted(Form.java:797)
>       at 
> org.apache.wicket.ajax.form.AjaxFormSubmitBehavior.onEvent(AjaxFormSubmitBehavior.java:171)
>       at 
> org.apache.wicket.ajax.AjaxEventBehavior.respond(AjaxEventBehavior.java:155)
>       at 
> org.apache.wicket.ajax.AbstractDefaultAjaxBehavior.onRequest(AbstractDefaultAjaxBehavior.java:601)
>       at sun.reflect.GeneratedMethodAccessor481.invoke(Unknown Source)
>       at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>       at java.lang.reflect.Method.invoke(Method.java:498)
>       at 
> org.apache.wicket.RequestListenerInterface.internalInvoke(RequestListenerInterface.java:258)
>       at 
> org.apache.wicket.RequestListenerInterface.invoke(RequestListenerInterface.java:241)
>       at 
> org.apache.wicket.core.request.handler.ListenerInterfaceRequestHandler.invokeListener(ListenerInterfaceRequestHandler.java:248)
>       at 
> org.apache.wicket.core.request.handler.ListenerInterfaceRequestHandler.respond(ListenerInterfaceRequestHandler.java:234)
>       at 
> org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:895)
>       at 
> org.apache.wicket.request.RequestHandlerStack.execute(RequestHandlerStack.java:64)
>       at 
> org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:265)
>       at 
> org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:222)
>       at 
> org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:293)
>       at 
> org.apache.wicket.protocol.http.WicketFilter.processRequestCycle(WicketFilter.java:261)
>       at 
> org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:203)
>       at 
> org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:284)
>       at 
> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1621)
>       at 
> org.apache.isis.core.webapp.diagnostics.IsisLogOnExceptionFilter.doFilter(IsisLogOnExceptionFilter.java:52)
>       at 
> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1621)
>       at org.togglz.servlet.TogglzFilter.doFilter(TogglzFilter.java:100)
>       at 
> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1621)
>       at 
> org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449)
>       at 
> org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365)
>       at 
> org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90)
>       at 
> org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83)
>       at 
> org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:383)
>       at 
> org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362)
>       at 
> org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125)
>       at 
> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1613)
>       at 
> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:541)
>       at 
> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
>       at 
> org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:548)
>       at 
> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
>       at 
> org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:190)
>       at 
> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1593)
>       at 
> org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:188)
>       at 
> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1239)
>       at 
> org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:168)
>       at 
> org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:481)
>       at 
> org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1562)
>       at 
> org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:166)
>       at 
> org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1141)
>       at 
> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
>       at 
> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
>       at org.eclipse.jetty.server.Server.handle(Server.java:564)
>       at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:320)
>       at 
> org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:251)
>       at 
> org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:279)
>       at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:110)
>       at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:124)
>       at 
> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:672)
>       at 
> org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:590)
>       at java.lang.Thread.run(Thread.java:745)
> Caused by: org.hsqldb.HsqlException: integrity constraint violation: unique 
> constraint or index violation; "OrderItem_order_charge_UNQ" table: "OrderItem"
>       at org.hsqldb.error.Error.error(Unknown Source)
>       at org.hsqldb.Constraint.getException(Unknown Source)
>       at org.hsqldb.index.IndexAVLMemory.insert(Unknown Source)
>       at org.hsqldb.persist.RowStoreAVL.indexRow(Unknown Source)
>       at org.hsqldb.TransactionManager2PL.addInsertAction(Unknown Source)
>       at org.hsqldb.Session.addInsertAction(Unknown Source)
>       at org.hsqldb.Table.insertSingleRow(Unknown Source)
>       at org.hsqldb.StatementDML.update(Unknown Source)
>       at org.hsqldb.StatementDML.executeUpdateStatement(Unknown Source)
>       at org.hsqldb.StatementDML.getResult(Unknown Source)
>       at org.hsqldb.StatementDMQL.execute(Unknown Source)
>       at org.hsqldb.Session.executeCompiledStatement(Unknown Source)
>       at org.hsqldb.Session.execute(Unknown Source)
>       ... 141 more
> 14:09:37,960 [PublisherServiceUsingActiveMq ] Sending JMS message, 
> id:ID:74b73571-0e66-4801-b82d-1d05a7d7a5cb.0; 
> type:org.estatio.capex.dom.order.OrderItem#editCharge()
> 14:09:38,112 [IsisTransaction               ] abort transaction 
> IsisTransaction@19af19f9[state=MUST_ABORT,commands=0]
> 14:09:38,113 [RequestCycleExtra             ] ********************************
> 14:09:38,113 [RequestCycleExtra             ] Handling the following exception
> java.lang.IllegalStateException: Response is no longer buffering!
>       at 
> org.apache.wicket.protocol.http.HeaderBufferingWebResponse.reset(HeaderBufferingWebResponse.java:210)
>       at 
> org.apache.wicket.request.flow.ResetResponseException$ResponseResettingDecorator.respond(ResetResponseException.java:87)
>       at 
> org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:895)
>       at 
> org.apache.wicket.request.RequestHandlerStack.execute(RequestHandlerStack.java:64)
>       at 
> org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:265)
>       at 
> org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:273)
>       at 
> org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:222)
>       at 
> org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:293)
>       at 
> org.apache.wicket.protocol.http.WicketFilter.processRequestCycle(WicketFilter.java:261)
>       at 
> org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:203)
>       at 
> org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:284)
>       at 
> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1621)
>       at 
> org.apache.isis.core.webapp.diagnostics.IsisLogOnExceptionFilter.doFilter(IsisLogOnExceptionFilter.java:52)
>       at 
> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1621)
>       at org.togglz.servlet.TogglzFilter.doFilter(TogglzFilter.java:100)
>       at 
> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1621)
>       at 
> org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449)
>       at 
> org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365)
>       at 
> org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90)
>       at 
> org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83)
>       at 
> org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:383)
>       at 
> org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362)
>       at 
> org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125)
>       at 
> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1613)
>       at 
> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:541)
>       at 
> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
>       at 
> org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:548)
>       at 
> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
>       at 
> org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:190)
>       at 
> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1593)
>       at 
> org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:188)
>       at 
> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1239)
>       at 
> org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:168)
>       at 
> org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:481)
>       at 
> org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1562)
>       at 
> org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:166)
>       at 
> org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1141)
>       at 
> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
>       at 
> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
>       at org.eclipse.jetty.server.Server.handle(Server.java:564)
>       at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:320)
>       at 
> org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:251)
>       at 
> org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:279)
>       at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:110)
>       at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:124)
>       at 
> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:672)
>       at 
> org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:590)
>       at java.lang.Thread.run(Thread.java:745)
> 14:09:38,115 [RequestCycleExtra             ] ********************************
> {code}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to