[
https://issues.apache.org/jira/browse/ISIS-494?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13741522#comment-13741522
]
Oscar Bou commented on ISIS-494:
--------------------------------
I think that the example with the ToDoItem class didn't reflect exactly what we
were finding on our domain. So it's a different case.
For the ToDoItem example, seems that you are correct and that the
ExceptionRecognizer must be improved to detect NOT NULL constraints as
Mandatory checks. So that would be needed.
But what I was trying to reproduce with that example (and I didn't achieve :-)
was a different case.
We have in our domain class a "String" field named "name" defined as:
@Column(allowsNull = "false")
public String getName() {
return name;
};
On the "creator" method we forgot to initialize it. Despite that, when we
persisted the entity, all seemed ok (no exception was shown on the Wicket
viewer), but when we looked at the log we found that an exception was raised
"at the DN level", and that Isis just "ate" it somewhere (as the Wicket viewer
showed the message "No Results", meaning that the action was executed and it
returned "null").
Perhaps it's clearer on this email [1].
I think the reason is the one I exposed at the end of the first email [1] (we
didn't expect that implementing the onFailure() method of the
TransactionalClosureWithReturnAbstract was mandatory (for properly handling
failures).
Quoting the proposed solutions at the end of that email:
- It would imply to change IsisTransactionManager current implementation.
- If no code should be broken for avoiding major version update if semantic
versioning is followed, a descendant of TransactionalClosureWithReturn could be
defined with a new method "onFailureWithReason(RuntimeException
runtimeException)".
- Also, if an exception can be raised on any "onFailureXXX()" implementation,
protect the abortTransaction(); code inside a try - finally block).
- I don't expect that any corrective action will need a transaction. If that can
be expected in other use cases, the "onFailure()" method could return a Boolean
parameter to indicate if the Isis transaction must also be aborted and the
current IsisTransactionManager should be modify in accordance.
But the root-cause is the next one. This was the way we found to "integrate" an
Isis transaction in our viewer, and you mentioned on follow-ups that you were
thinking about not supporting (i.e. perhaps removing) that closure and that you
implemented on the RESTFul Objects viewer a new class for Isis session
handling. Could it be "generalized" or "abstract" to be able to use it on
"custom viewers" like ours?
In other follow-ups (like [2]) I mentioned the need to have fully-supported API
classes for integrating Isis session and transaction handling on custom
viewers. As said on that email:
"* Support for migrating existing projects to Apache Isis. There is a high and
fast growth vector for the community by being adopted by currently existing
applications. But for that, official APIs should be provided for:
- "Custom viewers support": easing the interaction with custom-made pre-existing
User Interfaces (through the REST API, but also through Java APIs). It should
include fully-supported API classes or interfaces for Apache Isis session
handling, transaction management, etc."
Thanks,
Oscar
[1]
http://apache.markmail.org/message/mwsuv6jnsnckwhku?q=BDD+-+Domain+Object+property+not+validated+after+%22persist%22+%3F&page=1
[2]
http://apache.markmail.org/message/ekkqcktvxfnfpiwm?q=from:%22GESCONSULTOR+-+%C3%93scar+Bou%22
> Wicket viewer/JDO is "eating" an exception
> ------------------------------------------
>
> Key: ISIS-494
> URL: https://issues.apache.org/jira/browse/ISIS-494
> Project: Isis
> Issue Type: Bug
> Components: Core, Objectstore: JDO, Viewer: Wicket
> Affects Versions: viewer-wicket-1.1.0, objectstore-jdo-1.1.0, core-1.2.0
> Reporter: Dan Haywood
> Assignee: Dan Haywood
> Fix For: viewer-wicket-1.3.0, objectstore-jdo-1.2.0, core-1.3.0
>
>
> Raised by Oscar Bou on mailing list:
> We have tried to create a new persistent object on a Factory Method.
> The object has a not-null field (called "name").
> By error (we have "unnamed" entities), we were not providing any value to
> name (passing "null").
> The fact is that the wicket viewer showed: "No results"
> But on the log the following trace could be found.
> Trace:
> [exec] 14:25:01,631 [sqlonly qtp1236443008-29 DEBUG]
> org.datanucleus.store.rdbms.datasource.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:105)
> [exec] 2. INSERT INTO BUSINESSCONTINUITYMANAGEMENTSYSTEM
> (UPDATEDBYUSER,DATECREATED,ID,DESCRIPTION,"NAME",SCOPE_BUSINESSCONTINUITYMANAGEMENTSYSTEMSCOPE_ID_OID,CREATEDBYUSER,TENANTID,DATEUPDATED)
>
> [exec] VALUES ('sven','06/13/2013
> 14:25:01.288','081CF6E0-9329-42BC-AB00-2307266F1CE2',NULL,NULL,NULL,'sven','TENANT','06/13/2013
>
> [exec] 14:25:01.288')
> [exec] 14:25:01,634 [audit qtp1236443008-29 ERROR] 2.
> PreparedStatement.executeUpdate() INSERT INTO
> BUSINESSCONTINUITYMANAGEMENTSYSTEM
> (UPDATEDBYUSER,DATECREATED,ID,DESCRIPTION,"NAME",SCOPE_BUSINESSCONTINUITYMANAGEMENTSYSTEMSCOPE_ID_OID,CREATEDBYUSER,TENANTID,DATEUPDATED)
> VALUES ('sven','06/13/2013
> 14:25:01.288','081CF6E0-9329-42BC-AB00-2307266F1CE2',NULL,NULL,NULL,'sven','TENANT','06/13/2013
> 14:25:01.288')
> [exec] java.sql.SQLIntegrityConstraintViolationException: violación del
> restricción de integridad: restricción ('check') NOT NULL; SYS_CT_10482
> table: BUSINESSCONTINUITYMANAGEMENTSYSTEM column: "NAME"
> [exec] at org.hsqldb.jdbc.Util.sqlException(Unknown Source)
> [exec] at org.hsqldb.jdbc.Util.sqlException(Unknown Source)
> [exec] at org.hsqldb.jdbc.JDBCPreparedStatement.fetchResult(Unknown
> Source)
> [exec] at org.hsqldb.jdbc.JDBCPreparedStatement.executeUpdate(Unknown
> Source)
> [exec] at
> net.sf.log4jdbc.PreparedStatementSpy.executeUpdate(PreparedStatementSpy.java:1022)
> [exec] at
> org.datanucleus.store.rdbms.datasource.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:105)
> [exec] at
> org.datanucleus.store.rdbms.datasource.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:105)
> [exec] at
> org.datanucleus.store.rdbms.ParamLoggingPreparedStatement.executeUpdate(ParamLoggingPreparedStatement.java:399)
> [exec] at
> org.datanucleus.store.rdbms.SQLController.executeStatementUpdate(SQLController.java:439)
> [exec] at
> org.datanucleus.store.rdbms.request.InsertRequest.execute(InsertRequest.java:409)
> [exec] at
> org.datanucleus.store.rdbms.RDBMSPersistenceHandler.insertTable(RDBMSPersistenceHandler.java:167)
> [exec] at
> org.datanucleus.store.rdbms.RDBMSPersistenceHandler.insertObject(RDBMSPersistenceHandler.java:143)
> [exec] at
> org.datanucleus.state.JDOStateManager.internalMakePersistent(JDOStateManager.java:3774)
> [exec] at
> org.datanucleus.state.JDOStateManager.makePersistent(JDOStateManager.java:3750)
> [exec] at
> org.datanucleus.ExecutionContextImpl.persistObjectInternal(ExecutionContextImpl.java:2125)
> [exec] at
> org.datanucleus.ExecutionContextImpl.persistObjectWork(ExecutionContextImpl.java:1973)
> [exec] at
> org.datanucleus.ExecutionContextImpl.persistObject(ExecutionContextImpl.java:1821)
> [exec] at
> org.datanucleus.api.jdo.JDOPersistenceManager.jdoMakePersistent(JDOPersistenceManager.java:727)
> [exec] at
> org.datanucleus.api.jdo.JDOPersistenceManager.makePersistent(JDOPersistenceManager.java:752)
> [exec] at
> org.apache.isis.objectstore.jdo.datanucleus.persistence.commands.DataNucleusCreateObjectCommand.execute(DataNucleusCreateObjectCommand.java:53)
> [exec] at
> org.apache.isis.objectstore.jdo.datanucleus.DataNucleusObjectStore.executeCommands(DataNucleusObjectStore.java:360)
> [exec] at
> org.apache.isis.objectstore.jdo.datanucleus.DataNucleusObjectStore.execute(DataNucleusObjectStore.java:354)
> [exec] at
> org.apache.isis.core.runtime.system.transaction.IsisTransaction.doFlush(IsisTransaction.java:367)
> [exec] at
> org.apache.isis.core.runtime.system.transaction.IsisTransaction.flush(IsisTransaction.java:333)
> [exec] at
> org.apache.isis.core.runtime.system.transaction.IsisTransactionManager.flushTransaction(IsisTransactionManager.java:301)
> [exec] at
> org.apache.isis.viewer.wicket.ui.components.actions.ActionPanel.executeActionOnTargetAndProcessResults(ActionPanel.java:182)
> [exec] at
> org.apache.isis.viewer.wicket.ui.components.actions.ActionPanel.executeActionAndProcessResults(ActionPanel.java:138)
> [exec] at
> org.apache.isis.viewer.wicket.ui.components.actions.ActionPanel.buildGui(ActionPanel.java:96)
> [exec] at
> org.apache.isis.viewer.wicket.ui.components.actions.ActionPanel.<init>(ActionPanel.java:89)
> [exec] at
> org.apache.isis.viewer.wicket.ui.components.actions.ActionPanelFactory.createComponent(ActionPanelFactory.java:49)
> [exec] at
> org.apache.isis.viewer.wicket.ui.ComponentFactoryAbstract.createComponent(ComponentFactoryAbstract.java:82)
> [exec] at
> org.apache.isis.viewer.wicket.viewer.registries.components.ComponentFactoryRegistryDefault.createComponent(ComponentFactoryRegistryDefault.java:120)
> [exec] at
> org.apache.isis.viewer.wicket.viewer.registries.components.ComponentFactoryRegistryDefault.addOrReplaceComponent(ComponentFactoryRegistryDefault.java:105)
> [exec] at
> org.apache.isis.viewer.wicket.ui.pages.PageAbstract.addComponent(PageAbstract.java:263)
> [exec] at
> org.apache.isis.viewer.wicket.ui.pages.PageAbstract.addChildComponents(PageAbstract.java:258)
> [exec] at
> org.apache.isis.viewer.wicket.ui.pages.action.ActionPage.<init>(ActionPage.java:54)
> [exec] at
> sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
> [exec] at
> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
> [exec] at
> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
> [exec] at
> java.lang.reflect.Constructor.newInstance(Constructor.java:513)
> [exec] at
> org.apache.wicket.session.DefaultPageFactory.newPage(DefaultPageFactory.java:170)
> [exec] at
> org.apache.wicket.session.DefaultPageFactory.newPage(DefaultPageFactory.java:98)
> [exec] at
> org.apache.wicket.DefaultMapperContext.newPageInstance(DefaultMapperContext.java:137)
> [exec] at
> org.apache.wicket.core.request.handler.PageProvider.resolvePageInstance(PageProvider.java:268)
> [exec] at
> org.apache.wicket.core.request.handler.PageProvider.getPageInstance(PageProvider.java:166)
> [exec] at
> org.apache.wicket.request.handler.render.PageRenderer.getPage(PageRenderer.java:78)
> [exec] at
> org.apache.wicket.request.handler.render.WebPageRenderer.renderPage(WebPageRenderer.java:94)
> [exec] at
> org.apache.wicket.request.handler.render.WebPageRenderer.respond(WebPageRenderer.java:196)
> [exec] at
> org.apache.wicket.core.request.handler.RenderPageRequestHandler.respond(RenderPageRequestHandler.java:165)
> [exec] at
> org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:854)
> [exec] at
> org.apache.wicket.request.RequestHandlerStack.execute(RequestHandlerStack.java:64)
> [exec] at
> org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:254)
> [exec] at
> org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:211)
> [exec] at
> org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:282)
> [exec] at
> org.apache.wicket.protocol.http.WicketFilter.processRequestCycle(WicketFilter.java:259)
> [exec] at
> org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:201)
> [exec] at
> org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:282)
> [exec] at
> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1326)
> [exec] at
> org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449)
> [exec] at
> org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365)
> [exec] at
> org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90)
> [exec] at
> org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83)
> [exec] at
> org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:383)
> [exec] at
> org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362)
> [exec] at
> org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125)
> [exec] at
> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1326)
> [exec] at
> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:479)
> [exec] at
> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:119)
> [exec] at
> org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:520)
> [exec] at
> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:227)
> [exec] at
> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:940)
> [exec] at
> org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:409)
> [exec] at
> org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:186)
> [exec] at
> org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:874)
> [exec] at
> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:117)
> [exec] at
> org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:250)
> [exec] at
> org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:149)
> [exec] at
> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:110)
> [exec] at org.eclipse.jetty.server.Server.handle(Server.java:349)
> [exec] at
> org.eclipse.jetty.server.HttpConnection.handleRequest(HttpConnection.java:441)
> [exec] at
> org.eclipse.jetty.server.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:904)
> [exec] at
> org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:565)
> [exec] at
> org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:217)
> [exec] at
> org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:46)
> [exec] at
> org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:545)
> [exec] at
> org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:43)
> [exec] at
> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:598)
> [exec] at
> org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:533)
> [exec] at java.lang.Thread.run(Thread.java:680)
> [exec] Caused by: org.hsqldb.HsqlException: violación del restricción de
> integridad: restricción ('check') NOT NULL; SYS_CT_10482 table:
> BUSINESSCONTINUITYMANAGEMENTSYSTEM column: "NAME"
> [exec] at org.hsqldb.error.Error.error(Unknown Source)
> [exec] at org.hsqldb.Table.enforceRowConstraints(Unknown Source)
> [exec] at org.hsqldb.Table.insertSingleRow(Unknown Source)
> [exec] at org.hsqldb.StatementDML.insertRowSet(Unknown Source)
> [exec] at org.hsqldb.StatementInsert.getResult(Unknown Source)
> [exec] at org.hsqldb.StatementDMQL.execute(Unknown Source)
> [exec] at org.hsqldb.Session.executeCompiledStatement(Unknown Source)
> [exec] at org.hsqldb.Session.execute(Unknown Source)
> [exec] ... 87 more
> [exec] 14:25:01,640 [sqlonly qtp1236443008-29 ERROR]
> org.datanucleus.store.rdbms.datasource.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:105)
> [exec] 2. INSERT INTO BUSINESSCONTINUITYMANAGEMENTSYSTEM
> (UPDATEDBYUSER,DATECREATED,ID,DESCRIPTION,"NAME",SCOPE_BUSINESSCONTINUITYMANAGEMENTSYSTEMSCOPE_ID_OID,CREATEDBYUSER,TENANTID,DATEUPDATED)
> VALUES ('sven','06/13/2013
> 14:25:01.288','081CF6E0-9329-42BC-AB00-2307266F1CE2',NULL,NULL,NULL,'sven','TENANT','06/13/2013
> 14:25:01.288')
> [exec] java.sql.SQLIntegrityConstraintViolationException: violación del
> restricción de integridad: restricción ('check') NOT NULL; SYS_CT_10482
> table: BUSINESSCONTINUITYMANAGEMENTSYSTEM column: "NAME"
> [exec] at org.hsqldb.jdbc.Util.sqlException(Unknown Source)
> [exec] at org.hsqldb.jdbc.Util.sqlException(Unknown Source)
> [exec] at org.hsqldb.jdbc.JDBCPreparedStatement.fetchResult(Unknown
> Source)
> [exec] at org.hsqldb.jdbc.JDBCPreparedStatement.executeUpdate(Unknown
> Source)
> [exec] at
> net.sf.log4jdbc.PreparedStatementSpy.executeUpdate(PreparedStatementSpy.java:1022)
> [exec] at
> org.datanucleus.store.rdbms.datasource.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:105)
> [exec] at
> org.datanucleus.store.rdbms.datasource.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:105)
> [exec] at
> org.datanucleus.store.rdbms.ParamLoggingPreparedStatement.executeUpdate(ParamLoggingPreparedStatement.java:399)
> [exec] at
> org.datanucleus.store.rdbms.SQLController.executeStatementUpdate(SQLController.java:439)
> [exec] at
> org.datanucleus.store.rdbms.request.InsertRequest.execute(InsertRequest.java:409)
> [exec] at
> org.datanucleus.store.rdbms.RDBMSPersistenceHandler.insertTable(RDBMSPersistenceHandler.java:167)
> [exec] at
> org.datanucleus.store.rdbms.RDBMSPersistenceHandler.insertObject(RDBMSPersistenceHandler.java:143)
> [exec] at
> org.datanucleus.state.JDOStateManager.internalMakePersistent(JDOStateManager.java:3774)
> [exec] at
> org.datanucleus.state.JDOStateManager.makePersistent(JDOStateManager.java:3750)
> [exec] at
> org.datanucleus.ExecutionContextImpl.persistObjectInternal(ExecutionContextImpl.java:2125)
> [exec] at
> org.datanucleus.ExecutionContextImpl.persistObjectWork(ExecutionContextImpl.java:1973)
> [exec] at
> org.datanucleus.ExecutionContextImpl.persistObject(ExecutionContextImpl.java:1821)
> [exec] at
> org.datanucleus.api.jdo.JDOPersistenceManager.jdoMakePersistent(JDOPersistenceManager.java:727)
> [exec] at
> org.datanucleus.api.jdo.JDOPersistenceManager.makePersistent(JDOPersistenceManager.java:752)
> [exec] at
> org.apache.isis.objectstore.jdo.datanucleus.persistence.commands.DataNucleusCreateObjectCommand.execute(DataNucleusCreateObjectCommand.java:53)
> [exec] at
> org.apache.isis.objectstore.jdo.datanucleus.DataNucleusObjectStore.executeCommands(DataNucleusObjectStore.java:360)
> [exec] at
> org.apache.isis.objectstore.jdo.datanucleus.DataNucleusObjectStore.execute(DataNucleusObjectStore.java:354)
> [exec] at
> org.apache.isis.core.runtime.system.transaction.IsisTransaction.doFlush(IsisTransaction.java:367)
> [exec] at
> org.apache.isis.core.runtime.system.transaction.IsisTransaction.flush(IsisTransaction.java:333)
> [exec] at
> org.apache.isis.core.runtime.system.transaction.IsisTransactionManager.flushTransaction(IsisTransactionManager.java:301)
> [exec] at
> org.apache.isis.viewer.wicket.ui.components.actions.ActionPanel.executeActionOnTargetAndProcessResults(ActionPanel.java:182)
> [exec] at
> org.apache.isis.viewer.wicket.ui.components.actions.ActionPanel.executeActionAndProcessResults(ActionPanel.java:138)
> [exec] at
> org.apache.isis.viewer.wicket.ui.components.actions.ActionPanel.buildGui(ActionPanel.java:96)
> [exec] at
> org.apache.isis.viewer.wicket.ui.components.actions.ActionPanel.<init>(ActionPanel.java:89)
> [exec] at
> org.apache.isis.viewer.wicket.ui.components.actions.ActionPanelFactory.createComponent(ActionPanelFactory.java:49)
> [exec] at
> org.apache.isis.viewer.wicket.ui.ComponentFactoryAbstract.createComponent(ComponentFactoryAbstract.java:82)
> [exec] at
> org.apache.isis.viewer.wicket.viewer.registries.components.ComponentFactoryRegistryDefault.createComponent(ComponentFactoryRegistryDefault.java:120)
> [exec] at
> org.apache.isis.viewer.wicket.viewer.registries.components.ComponentFactoryRegistryDefault.addOrReplaceComponent(ComponentFactoryRegistryDefault.java:105)
> [exec] at
> org.apache.isis.viewer.wicket.ui.pages.PageAbstract.addComponent(PageAbstract.java:263)
> [exec] at
> org.apache.isis.viewer.wicket.ui.pages.PageAbstract.addChildComponents(PageAbstract.java:258)
> [exec] at
> org.apache.isis.viewer.wicket.ui.pages.action.ActionPage.<init>(ActionPage.java:54)
> [exec] at
> sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
> [exec] at
> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
> [exec] at
> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
> [exec] at
> java.lang.reflect.Constructor.newInstance(Constructor.java:513)
> [exec] at
> org.apache.wicket.session.DefaultPageFactory.newPage(DefaultPageFactory.java:170)
> [exec] at
> org.apache.wicket.session.DefaultPageFactory.newPage(DefaultPageFactory.java:98)
> [exec] at
> org.apache.wicket.DefaultMapperContext.newPageInstance(DefaultMapperContext.java:137)
> [exec] at
> org.apache.wicket.core.request.handler.PageProvider.resolvePageInstance(PageProvider.java:268)
> [exec] at
> org.apache.wicket.core.request.handler.PageProvider.getPageInstance(PageProvider.java:166)
> [exec] at
> org.apache.wicket.request.handler.render.PageRenderer.getPage(PageRenderer.java:78)
> [exec] at
> org.apache.wicket.request.handler.render.WebPageRenderer.renderPage(WebPageRenderer.java:94)
> [exec] at
> org.apache.wicket.request.handler.render.WebPageRenderer.respond(WebPageRenderer.java:196)
> [exec] at
> org.apache.wicket.core.request.handler.RenderPageRequestHandler.respond(RenderPageRequestHandler.java:165)
> [exec] at
> org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:854)
> [exec] at
> org.apache.wicket.request.RequestHandlerStack.execute(RequestHandlerStack.java:64)
> [exec] at
> org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:254)
> [exec] at
> org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:211)
> [exec] at
> org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:282)
> [exec] at
> org.apache.wicket.protocol.http.WicketFilter.processRequestCycle(WicketFilter.java:259)
> [exec] at
> org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:201)
> [exec] at
> org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:282)
> [exec] at
> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1326)
> [exec] at
> org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449)
> [exec] at
> org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365)
> [exec] at
> org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90)
> [exec] at
> org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83)
> [exec] at
> org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:383)
> [exec] at
> org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362)
> [exec] at
> org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125)
> [exec] at
> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1326)
> [exec] at
> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:479)
> [exec] at
> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:119)
> [exec] at
> org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:520)
> [exec] at
> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:227)
> [exec] at
> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:940)
> [exec] at
> org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:409)
> [exec] at
> org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:186)
> [exec] at
> org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:874)
> [exec] at
> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:117)
> [exec] at
> org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:250)
> [exec] at
> org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:149)
> [exec] at
> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:110)
> [exec] at org.eclipse.jetty.server.Server.handle(Server.java:349)
> [exec] at
> org.eclipse.jetty.server.HttpConnection.handleRequest(HttpConnection.java:441)
> [exec] at
> org.eclipse.jetty.server.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:904)
> [exec] at
> org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:565)
> [exec] at
> org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:217)
> [exec] at
> org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:46)
> [exec] at
> org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:545)
> [exec] at
> org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:43)
> [exec] at
> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:598)
> [exec] at
> org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:533)
> [exec] at java.lang.Thread.run(Thread.java:680)
> [exec] Caused by: org.hsqldb.HsqlException: violación del restricción de
> integridad: restricción ('check') NOT NULL; SYS_CT_10482 table:
> BUSINESSCONTINUITYMANAGEMENTSYSTEM column: "NAME"
> [exec] at org.hsqldb.error.Error.error(Unknown Source)
> [exec] at org.hsqldb.Table.enforceRowConstraints(Unknown Source)
> [exec] at org.hsqldb.Table.insertSingleRow(Unknown Source)
> [exec] at org.hsqldb.StatementDML.insertRowSet(Unknown Source)
> [exec] at org.hsqldb.StatementInsert.getResult(Unknown Source)
> [exec] at org.hsqldb.StatementDMQL.execute(Unknown Source)
> [exec] at org.hsqldb.Session.executeCompiledStatement(Unknown Source)
> [exec] at org.hsqldb.Session.execute(Unknown Source)
> [exec] ... 87 more
> [exec] 14:25:01,644 [Persist qtp1236443008-29 WARN ]
> Persistencia del objeto
> "com.xms.framework.risk.domain.model.continuity.BusinessContinuityManagementSystem@47febf99"
> con SQL "INSERT INTO BUSINESSCONTINUITYMANAGEMENTSYSTEM
> (UPDATEDBYUSER,DATECREATED,ID,DESCRIPTION,"NAME",SCOPE_BUSINESSCONTINUITYMANAGEMENTSYSTEMSCOPE_ID_OID,CREATEDBYUSER,TENANTID,DATEUPDATED)
> VALUES (?,?,?,?,?,?,?,?,?)" ha tirado un error : violación del restricción
> de integridad: restricción ('check') NOT NULL; SYS_CT_10482 table:
> BUSINESSCONTINUITYMANAGEMENTSYSTEM column: "NAME"
> [exec] 14:25:05,540 [sqlonly qtp1236443008-31 DEBUG]
> org.datanucleus.store.rdbms.datasource.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:96)
> [exec] 2. SELECT
> 'com.xms.framework.risk.domain.model.continuity.BusinessContinuityManagementSystem'
>
> [exec] FROM BUSINESSCONTINUITYMANAGEMENTSYSTEM A0 WHERE A0.TENANTID =
> 'n/a'
> [exec] 14:25:05,542 [resultsettable qtp1236443008-31 INFO ] |---|
> [exec] 14:25:05,542 [resultsettable qtp1236443008-31 INFO ] |C1 |
> [exec] 14:25:05,542 [resultsettable qtp1236443008-31 INFO ] |---|
> [exec] 14:25:05,542 [resultsettable qtp1236443008-31 INFO ] |---|
> [exec] 14:25:05,546 [sqlonly qtp1236443008-31 DEBUG]
> org.datanucleus.store.rdbms.datasource.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:105)
> [exec] 2. INSERT INTO BUSINESSCONTINUITYMANAGEMENTSYSTEM
> (UPDATEDBYUSER,DATECREATED,ID,DESCRIPTION,"NAME",SCOPE_BUSINESSCONTINUITYMANAGEMENTSYSTEMSCOPE_ID_OID,CREATEDBYUSER,TENANTID,DATEUPDATED)
>
> [exec] VALUES ('sven','06/13/2013
> 14:25:05.543','29F3CC48-0253-4E27-B487-F509E038F5E0',NULL,NULL,NULL,'sven','TENANT','06/13/2013
>
> [exec] 14:25:05.543')
> [exec] 14:25:05,546 [audit qtp1236443008-31 ERROR] 2.
> PreparedStatement.executeUpdate() INSERT INTO
> BUSINESSCONTINUITYMANAGEMENTSYSTEM
> (UPDATEDBYUSER,DATECREATED,ID,DESCRIPTION,"NAME",SCOPE_BUSINESSCONTINUITYMANAGEMENTSYSTEMSCOPE_ID_OID,CREATEDBYUSER,TENANTID,DATEUPDATED)
> VALUES ('sven','06/13/2013
> 14:25:05.543','29F3CC48-0253-4E27-B487-F509E038F5E0',NULL,NULL,NULL,'sven','TENANT','06/13/2013
> 14:25:05.543')
> [exec] java.sql.SQLIntegrityConstraintViolationException: violación del
> restricción de integridad: restricción ('check') NOT NULL; SYS_CT_10482
> table: BUSINESSCONTINUITYMANAGEMENTSYSTEM column: "NAME"
> [exec] at org.hsqldb.jdbc.Util.sqlException(Unknown Source)
> [exec] at org.hsqldb.jdbc.Util.sqlException(Unknown Source)
> [exec] at org.hsqldb.jdbc.JDBCPreparedStatement.fetchResult(Unknown
> Source)
> [exec] at org.hsqldb.jdbc.JDBCPreparedStatement.executeUpdate(Unknown
> Source)
> [exec] at
> net.sf.log4jdbc.PreparedStatementSpy.executeUpdate(PreparedStatementSpy.java:1022)
> [exec] at
> org.datanucleus.store.rdbms.datasource.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:105)
> [exec] at
> org.datanucleus.store.rdbms.datasource.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:105)
> [exec] at
> org.datanucleus.store.rdbms.ParamLoggingPreparedStatement.executeUpdate(ParamLoggingPreparedStatement.java:399)
> [exec] at
> org.datanucleus.store.rdbms.SQLController.executeStatementUpdate(SQLController.java:439)
> [exec] at
> org.datanucleus.store.rdbms.request.InsertRequest.execute(InsertRequest.java:409)
> [exec] at
> org.datanucleus.store.rdbms.RDBMSPersistenceHandler.insertTable(RDBMSPersistenceHandler.java:167)
> [exec] at
> org.datanucleus.store.rdbms.RDBMSPersistenceHandler.insertObject(RDBMSPersistenceHandler.java:143)
> [exec] at
> org.datanucleus.state.JDOStateManager.internalMakePersistent(JDOStateManager.java:3774)
> [exec] at
> org.datanucleus.state.JDOStateManager.makePersistent(JDOStateManager.java:3750)
> [exec] at
> org.datanucleus.ExecutionContextImpl.persistObjectInternal(ExecutionContextImpl.java:2125)
> [exec] at
> org.datanucleus.ExecutionContextImpl.persistObjectWork(ExecutionContextImpl.java:1973)
> [exec] at
> org.datanucleus.ExecutionContextImpl.persistObject(ExecutionContextImpl.java:1821)
> [exec] at
> org.datanucleus.api.jdo.JDOPersistenceManager.jdoMakePersistent(JDOPersistenceManager.java:727)
> [exec] at
> org.datanucleus.api.jdo.JDOPersistenceManager.makePersistent(JDOPersistenceManager.java:752)
> [exec] at
> org.apache.isis.objectstore.jdo.datanucleus.persistence.commands.DataNucleusCreateObjectCommand.execute(DataNucleusCreateObjectCommand.java:53)
> [exec] at
> org.apache.isis.objectstore.jdo.datanucleus.DataNucleusObjectStore.executeCommands(DataNucleusObjectStore.java:360)
> [exec] at
> org.apache.isis.objectstore.jdo.datanucleus.DataNucleusObjectStore.execute(DataNucleusObjectStore.java:354)
> [exec] at
> org.apache.isis.core.runtime.system.transaction.IsisTransaction.doFlush(IsisTransaction.java:367)
> [exec] at
> org.apache.isis.core.runtime.system.transaction.IsisTransaction.flush(IsisTransaction.java:333)
> [exec] at
> org.apache.isis.core.runtime.system.transaction.IsisTransactionManager.flushTransaction(IsisTransactionManager.java:301)
> [exec] at
> org.apache.isis.viewer.wicket.ui.components.actions.ActionPanel.executeActionOnTargetAndProcessResults(ActionPanel.java:182)
> [exec] at
> org.apache.isis.viewer.wicket.ui.components.actions.ActionPanel.executeActionAndProcessResults(ActionPanel.java:138)
> [exec] at
> org.apache.isis.viewer.wicket.ui.components.actions.ActionPanel.buildGui(ActionPanel.java:96)
> [exec] at
> org.apache.isis.viewer.wicket.ui.components.actions.ActionPanel.<init>(ActionPanel.java:89)
> [exec] at
> org.apache.isis.viewer.wicket.ui.components.actions.ActionPanelFactory.createComponent(ActionPanelFactory.java:49)
> [exec] at
> org.apache.isis.viewer.wicket.ui.ComponentFactoryAbstract.createComponent(ComponentFactoryAbstract.java:82)
> [exec] at
> org.apache.isis.viewer.wicket.viewer.registries.components.ComponentFactoryRegistryDefault.createComponent(ComponentFactoryRegistryDefault.java:120)
> [exec] at
> org.apache.isis.viewer.wicket.viewer.registries.components.ComponentFactoryRegistryDefault.addOrReplaceComponent(ComponentFactoryRegistryDefault.java:105)
> [exec] at
> org.apache.isis.viewer.wicket.ui.pages.PageAbstract.addComponent(PageAbstract.java:263)
> [exec] at
> org.apache.isis.viewer.wicket.ui.pages.PageAbstract.addChildComponents(PageAbstract.java:258)
> [exec] at
> org.apache.isis.viewer.wicket.ui.pages.action.ActionPage.<init>(ActionPage.java:54)
> [exec] at
> sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
> [exec] at
> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
> [exec] at
> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
> [exec] at
> java.lang.reflect.Constructor.newInstance(Constructor.java:513)
> [exec] at
> org.apache.wicket.session.DefaultPageFactory.newPage(DefaultPageFactory.java:170)
> [exec] at
> org.apache.wicket.session.DefaultPageFactory.newPage(DefaultPageFactory.java:98)
> [exec] at
> org.apache.wicket.DefaultMapperContext.newPageInstance(DefaultMapperContext.java:137)
> [exec] at
> org.apache.wicket.core.request.handler.PageProvider.resolvePageInstance(PageProvider.java:268)
> [exec] at
> org.apache.wicket.core.request.handler.PageProvider.getPageInstance(PageProvider.java:166)
> [exec] at
> org.apache.wicket.request.handler.render.PageRenderer.getPage(PageRenderer.java:78)
> [exec] at
> org.apache.wicket.request.handler.render.WebPageRenderer.renderPage(WebPageRenderer.java:94)
> [exec] at
> org.apache.wicket.request.handler.render.WebPageRenderer.respond(WebPageRenderer.java:196)
> [exec] at
> org.apache.wicket.core.request.handler.RenderPageRequestHandler.respond(RenderPageRequestHandler.java:165)
> [exec] at
> org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:854)
> [exec] at
> org.apache.wicket.request.RequestHandlerStack.execute(RequestHandlerStack.java:64)
> [exec] at
> org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:254)
> [exec] at
> org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:211)
> [exec] at
> org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:282)
> [exec] at
> org.apache.wicket.protocol.http.WicketFilter.processRequestCycle(WicketFilter.java:259)
> [exec] at
> org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:201)
> [exec] at
> org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:282)
> [exec] at
> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1326)
> [exec] at
> org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449)
> [exec] at
> org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365)
> [exec] at
> org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90)
> [exec] at
> org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83)
> [exec] at
> org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:383)
> [exec] at
> org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362)
> [exec] at
> org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125)
> [exec] at
> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1326)
> [exec] at
> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:479)
> [exec] at
> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:119)
> [exec] at
> org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:520)
> [exec] at
> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:227)
> [exec] at
> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:940)
> [exec] at
> org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:409)
> [exec] at
> org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:186)
> [exec] at
> org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:874)
> [exec] at
> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:117)
> [exec] at
> org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:250)
> [exec] at
> org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:149)
> [exec] at
> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:110)
> [exec] at org.eclipse.jetty.server.Server.handle(Server.java:349)
> [exec] at
> org.eclipse.jetty.server.HttpConnection.handleRequest(HttpConnection.java:441)
> [exec] at
> org.eclipse.jetty.server.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:904)
> [exec] at
> org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:565)
> [exec] at
> org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:217)
> [exec] at
> org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:46)
> [exec] at
> org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:545)
> [exec] at
> org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:43)
> [exec] at
> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:598)
> [exec] at
> org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:533)
> [exec] at java.lang.Thread.run(Thread.java:680)
> [exec] Caused by: org.hsqldb.HsqlException: violación del restricción de
> integridad: restricción ('check') NOT NULL; SYS_CT_10482 table:
> BUSINESSCONTINUITYMANAGEMENTSYSTEM column: "NAME"
> [exec] at org.hsqldb.error.Error.error(Unknown Source)
> [exec] at org.hsqldb.Table.enforceRowConstraints(Unknown Source)
> [exec] at org.hsqldb.Table.insertSingleRow(Unknown Source)
> [exec] at org.hsqldb.StatementDML.insertRowSet(Unknown Source)
> [exec] at org.hsqldb.StatementInsert.getResult(Unknown Source)
> [exec] at org.hsqldb.StatementDMQL.execute(Unknown Source)
> [exec] at org.hsqldb.Session.executeCompiledStatement(Unknown Source)
> [exec] at org.hsqldb.Session.execute(Unknown Source)
> [exec] ... 87 more
> [exec] 14:25:05,550 [sqlonly qtp1236443008-31 ERROR]
> org.datanucleus.store.rdbms.datasource.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:105)
> [exec] 2. INSERT INTO BUSINESSCONTINUITYMANAGEMENTSYSTEM
> (UPDATEDBYUSER,DATECREATED,ID,DESCRIPTION,"NAME",SCOPE_BUSINESSCONTINUITYMANAGEMENTSYSTEMSCOPE_ID_OID,CREATEDBYUSER,TENANTID,DATEUPDATED)
> VALUES ('sven','06/13/2013
> 14:25:05.543','29F3CC48-0253-4E27-B487-F509E038F5E0',NULL,NULL,NULL,'sven','TENANT','06/13/2013
> 14:25:05.543')
> [exec] java.sql.SQLIntegrityConstraintViolationException: violación del
> restricción de integridad: restricción ('check') NOT NULL; SYS_CT_10482
> table: BUSINESSCONTINUITYMANAGEMENTSYSTEM column: "NAME"
> [exec] at org.hsqldb.jdbc.Util.sqlException(Unknown Source)
> [exec] at org.hsqldb.jdbc.Util.sqlException(Unknown Source)
> [exec] at org.hsqldb.jdbc.JDBCPreparedStatement.fetchResult(Unknown
> Source)
> [exec] at org.hsqldb.jdbc.JDBCPreparedStatement.executeUpdate(Unknown
> Source)
> [exec] at
> net.sf.log4jdbc.PreparedStatementSpy.executeUpdate(PreparedStatementSpy.java:1022)
> [exec] at
> org.datanucleus.store.rdbms.datasource.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:105)
> [exec] at
> org.datanucleus.store.rdbms.datasource.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:105)
> [exec] at
> org.datanucleus.store.rdbms.ParamLoggingPreparedStatement.executeUpdate(ParamLoggingPreparedStatement.java:399)
> [exec] at
> org.datanucleus.store.rdbms.SQLController.executeStatementUpdate(SQLController.java:439)
> [exec] at
> org.datanucleus.store.rdbms.request.InsertRequest.execute(InsertRequest.java:409)
> [exec] at
> org.datanucleus.store.rdbms.RDBMSPersistenceHandler.insertTable(RDBMSPersistenceHandler.java:167)
> [exec] at
> org.datanucleus.store.rdbms.RDBMSPersistenceHandler.insertObject(RDBMSPersistenceHandler.java:143)
> [exec] at
> org.datanucleus.state.JDOStateManager.internalMakePersistent(JDOStateManager.java:3774)
> [exec] at
> org.datanucleus.state.JDOStateManager.makePersistent(JDOStateManager.java:3750)
> [exec] at
> org.datanucleus.ExecutionContextImpl.persistObjectInternal(ExecutionContextImpl.java:2125)
> [exec] at
> org.datanucleus.ExecutionContextImpl.persistObjectWork(ExecutionContextImpl.java:1973)
> [exec] at
> org.datanucleus.ExecutionContextImpl.persistObject(ExecutionContextImpl.java:1821)
> [exec] at
> org.datanucleus.api.jdo.JDOPersistenceManager.jdoMakePersistent(JDOPersistenceManager.java:727)
> [exec] at
> org.datanucleus.api.jdo.JDOPersistenceManager.makePersistent(JDOPersistenceManager.java:752)
> [exec] at
> org.apache.isis.objectstore.jdo.datanucleus.persistence.commands.DataNucleusCreateObjectCommand.execute(DataNucleusCreateObjectCommand.java:53)
> [exec] at
> org.apache.isis.objectstore.jdo.datanucleus.DataNucleusObjectStore.executeCommands(DataNucleusObjectStore.java:360)
> [exec] at
> org.apache.isis.objectstore.jdo.datanucleus.DataNucleusObjectStore.execute(DataNucleusObjectStore.java:354)
> [exec] at
> org.apache.isis.core.runtime.system.transaction.IsisTransaction.doFlush(IsisTransaction.java:367)
> [exec] at
> org.apache.isis.core.runtime.system.transaction.IsisTransaction.flush(IsisTransaction.java:333)
> [exec] at
> org.apache.isis.core.runtime.system.transaction.IsisTransactionManager.flushTransaction(IsisTransactionManager.java:301)
> [exec] at
> org.apache.isis.viewer.wicket.ui.components.actions.ActionPanel.executeActionOnTargetAndProcessResults(ActionPanel.java:182)
> [exec] at
> org.apache.isis.viewer.wicket.ui.components.actions.ActionPanel.executeActionAndProcessResults(ActionPanel.java:138)
> [exec] at
> org.apache.isis.viewer.wicket.ui.components.actions.ActionPanel.buildGui(ActionPanel.java:96)
> [exec] at
> org.apache.isis.viewer.wicket.ui.components.actions.ActionPanel.<init>(ActionPanel.java:89)
> [exec] at
> org.apache.isis.viewer.wicket.ui.components.actions.ActionPanelFactory.createComponent(ActionPanelFactory.java:49)
> [exec] at
> org.apache.isis.viewer.wicket.ui.ComponentFactoryAbstract.createComponent(ComponentFactoryAbstract.java:82)
> [exec] at
> org.apache.isis.viewer.wicket.viewer.registries.components.ComponentFactoryRegistryDefault.createComponent(ComponentFactoryRegistryDefault.java:120)
> [exec] at
> org.apache.isis.viewer.wicket.viewer.registries.components.ComponentFactoryRegistryDefault.addOrReplaceComponent(ComponentFactoryRegistryDefault.java:105)
> [exec] at
> org.apache.isis.viewer.wicket.ui.pages.PageAbstract.addComponent(PageAbstract.java:263)
> [exec] at
> org.apache.isis.viewer.wicket.ui.pages.PageAbstract.addChildComponents(PageAbstract.java:258)
> [exec] at
> org.apache.isis.viewer.wicket.ui.pages.action.ActionPage.<init>(ActionPage.java:54)
> [exec] at
> sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
> [exec] at
> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
> [exec] at
> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
> [exec] at
> java.lang.reflect.Constructor.newInstance(Constructor.java:513)
> [exec] at
> org.apache.wicket.session.DefaultPageFactory.newPage(DefaultPageFactory.java:170)
> [exec] at
> org.apache.wicket.session.DefaultPageFactory.newPage(DefaultPageFactory.java:98)
> [exec] at
> org.apache.wicket.DefaultMapperContext.newPageInstance(DefaultMapperContext.java:137)
> [exec] at
> org.apache.wicket.core.request.handler.PageProvider.resolvePageInstance(PageProvider.java:268)
> [exec] at
> org.apache.wicket.core.request.handler.PageProvider.getPageInstance(PageProvider.java:166)
> [exec] at
> org.apache.wicket.request.handler.render.PageRenderer.getPage(PageRenderer.java:78)
> [exec] at
> org.apache.wicket.request.handler.render.WebPageRenderer.renderPage(WebPageRenderer.java:94)
> [exec] at
> org.apache.wicket.request.handler.render.WebPageRenderer.respond(WebPageRenderer.java:196)
> [exec] at
> org.apache.wicket.core.request.handler.RenderPageRequestHandler.respond(RenderPageRequestHandler.java:165)
> [exec] at
> org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:854)
> [exec] at
> org.apache.wicket.request.RequestHandlerStack.execute(RequestHandlerStack.java:64)
> [exec] at
> org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:254)
> [exec] at
> org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:211)
> [exec] at
> org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:282)
> [exec] at
> org.apache.wicket.protocol.http.WicketFilter.processRequestCycle(WicketFilter.java:259)
> [exec] at
> org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:201)
> [exec] at
> org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:282)
> [exec] at
> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1326)
> [exec] at
> org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449)
> [exec] at
> org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365)
> [exec] at
> org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90)
> [exec] at
> org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83)
> [exec] at
> org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:383)
> [exec] at
> org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362)
> [exec] at
> org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125)
> [exec] at
> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1326)
> [exec] at
> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:479)
> [exec] at
> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:119)
> [exec] at
> org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:520)
> [exec] at
> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:227)
> [exec] at
> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:940)
> [exec] at
> org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:409)
> [exec] at
> org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:186)
> [exec] at
> org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:874)
> [exec] at
> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:117)
> [exec] at
> org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:250)
> [exec] at
> org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:149)
> [exec] at
> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:110)
> [exec] at org.eclipse.jetty.server.Server.handle(Server.java:349)
> [exec] at
> org.eclipse.jetty.server.HttpConnection.handleRequest(HttpConnection.java:441)
> [exec] at
> org.eclipse.jetty.server.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:904)
> [exec] at
> org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:565)
> [exec] at
> org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:217)
> [exec] at
> org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:46)
> [exec] at
> org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:545)
> [exec] at
> org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:43)
> [exec] at
> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:598)
> [exec] at
> org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:533)
> [exec] at java.lang.Thread.run(Thread.java:680)
> [exec] Caused by: org.hsqldb.HsqlException: violación del restricción de
> integridad: restricción ('check') NOT NULL; SYS_CT_10482 table:
> BUSINESSCONTINUITYMANAGEMENTSYSTEM column: "NAME"
> [exec] at org.hsqldb.error.Error.error(Unknown Source)
> [exec] at org.hsqldb.Table.enforceRowConstraints(Unknown Source)
> [exec] at org.hsqldb.Table.insertSingleRow(Unknown Source)
> [exec] at org.hsqldb.StatementDML.insertRowSet(Unknown Source)
> [exec] at org.hsqldb.StatementInsert.getResult(Unknown Source)
> [exec] at org.hsqldb.StatementDMQL.execute(Unknown Source)
> [exec] at org.hsqldb.Session.executeCompiledStatement(Unknown Source)
> [exec] at org.hsqldb.Session.execute(Unknown Source)
> [exec] ... 87 more
> [exec] 14:25:05,553 [Persist qtp1236443008-31 WARN ]
> Persistencia del objeto
> "com.xms.framework.risk.domain.model.continuity.BusinessContinuityManagementSystem@34940a15"
> con SQL "INSERT INTO BUSINESSCONTINUITYMANAGEMENTSYSTEM
> (UPDATEDBYUSER,DATECREATED,ID,DESCRIPTION,"NAME",SCOPE_BUSINESSCONTINUITYMANAGEMENTSYSTEMSCOPE_ID_OID,CREATEDBYUSER,TENANTID,DATEUPDATED)
> VALUES (?,?,?,?,?,?,?,?,?)" ha tirado un error : violación del restricción
> de integridad: restricción ('check') NOT NULL; SYS_CT_10482 table:
> BUSINESSCONTINUITYMANAGEMENTSYSTEM column: "NAME"
> So seems that Isis is "eating" this exception. In this case is due to an
> error by ourselves, but the fact is that in other cases it could originate
> "bad business logic", as the object "seems to be persisted".
> The only thing we have made is annotate the "name" property with
> @Column(allowsNull = "false")
> But, if I modify the Quickstart archetype "ToDoItem.java" from this:
> @Column(allowsNull = "false", scale = 2)
> @Optional
> @MemberOrder(sequence = "4.1")
> public BigDecimal getCost() {
> return cost;
> }
> to this:
> @Column(scale = 2)
> @Optional
> @MemberOrder(sequence = "4.1")
> public BigDecimal getCost() {
> return cost;
> }
> And try to create a new instance with the newToDoItem action, it detects it
> properly showing, as per attached screenshot.
> What can be have not properly configured?
> On isis.services we are including the
> "org.apache.isis.objectstore.jdo.applib.service.exceprecog.ExceptionRecognizerCompositeForJdoObjectStore"
> isis.services =
> org.apache.isis.objectstore.jdo.datanucleus.service.support.IsisJdoSupportImpl,
> \
>
> org.apache.isis.core.metamodel.services.bookmarks.BookmarkServiceDefault,\
> org.apache.isis.objectstore.jdo.service.RegisterEntities,\
>
> org.apache.isis.objectstore.jdo.applib.service.exceprecog.ExceptionRecognizerCompositeForJdoObjectStore,\
>
> org.apache.isis.viewer.restfulobjects.rendering.eventserializer.RestfulObjectsSpecEventSerializer,\
> org.apache.isis.applib.services.audit.AuditingService$Stderr,\
>
> org.apache.isis.applib.services.publish.PublishingService$Stderr ,\
> ....
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira