You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@isis.apache.org by "ASF subversion and git services (JIRA)" <ji...@apache.org> on 2018/01/04 17:10:00 UTC

[jira] [Commented] (ISIS-1750) SQL Exception when invoke action (inline prompt) not handled correctly in UI

    [ 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)