oh yeah, I remember that.  Indeed.

On 1 May 2015 at 16:32, <[email protected]> wrote:

> Tnx Dan,
>
>
>
> I will look into that. It has the characteristics of an incomplete
> metamodel I encountered before in Matching App ....
>
>
>
>
> Hard to say without more information, Johan.
>
> Double check that the "RegisterEntities" key in isis.properties specifies
> all the packages where your domain objects live.  We introduced this to
> provide a hint to DN so that it would be able to eagerly build its
> metamodel; we found that sometimes if we made it lazy then we'd get odd
> errors.
>
> Another thing you can do is to add dummy @Hidden actions on a repository
> that "surface" all subtypes of entities; this is actually what we used to
> do before "RegisterEntities" so perhaps do this first (I also have a
> sneaking suspicion that "RegisterEntities" might perhaps be broken, need to
> investigate).
>
> Of course, all the above might be a wild good chase... but it's seeing DN
> complain that it can't instantiate an abstract class that makes me think
> that its metamodel is somehow incomplete...
>
> HTH
> Dan
>
>
>
>
>
>
>
>
>
> On 1 May 2015 at 14:57,  wrote:
>
> > When running integration tests in estatio I get. But sometimes it does
> > run. Is this a datanucleus problem or am I missing something?
> >
> >
> >
> > grtz Johan
> >
> >
> >
> >
> >         15:55:14,224  [IsisTransaction      main       INFO ]  abort
> > transaction IsisTransaction@10f125e5[state=MUST_ABORT,commands=0]
> >
> >
> >
> >         javax.jdo.JDOFatalInternalException: Cannot instantiate abstract
> > class.
> >
> >         at
> >
> org.estatio.dom.EstatioDomainObject.dnNewInstance(EstatioDomainObject.java)
> >
> >         at
> >
> org.datanucleus.state.StateManagerImpl.saveFields(StateManagerImpl.java:672)
> >
> >         at
> >
> org.datanucleus.state.StateManagerImpl.initialiseForPersistentNew(StateManagerImpl.java:420)
> >
> >         at
> >
> org.apache.isis.objectstore.jdo.datanucleus.JDOStateManagerForIsis.initialiseForPersistentNew(JDOStateManagerForIsis.java:87)
> >
> >         at
> >
> org.apache.isis.objectstore.jdo.datanucleus.JDOStateManagerForIsis.initialiseForPersistentNew(JDOStateManagerForIsis.java:33)
> >
> >         at
> >
> org.datanucleus.state.ObjectProviderFactoryImpl.newForPersistentNew(ObjectProviderFactoryImpl.java:218)
> >
> >         at
> >
> org.datanucleus.ExecutionContextImpl.persistObjectInternal(ExecutionContextImpl.java:1999)
> >
> >         at
> >
> org.datanucleus.ExecutionContextImpl.persistObjectWork(ExecutionContextImpl.java:1843)
> >
> >         at
> >
> org.datanucleus.ExecutionContextImpl.persistObject(ExecutionContextImpl.java:1698)
> >
> >         at
> >
> org.datanucleus.api.jdo.JDOPersistenceManager.jdoMakePersistent(JDOPersistenceManager.java:720)
> >
> >         at
> >
> org.datanucleus.api.jdo.JDOPersistenceManager.makePersistent(JDOPersistenceManager.java:745)
> >
> >         at
> >
> org.apache.isis.objectstore.jdo.datanucleus.persistence.commands.DataNucleusCreateObjectCommand.execute(DataNucleusCreateObjectCommand.java:54)
> >
> >         at
> >
> org.apache.isis.objectstore.jdo.datanucleus.DataNucleusObjectStore.executeCommands(DataNucleusObjectStore.java:363)
> >
> >         at
> >
> org.apache.isis.objectstore.jdo.datanucleus.DataNucleusObjectStore.execute(DataNucleusObjectStore.java:357)
> >
> >         at
> >
> org.apache.isis.core.runtime.system.transaction.IsisTransaction.doFlush(IsisTransaction.java:521)
> >
> >         at
> >
> org.apache.isis.core.runtime.system.transaction.IsisTransaction.flush(IsisTransaction.java:467)
> >
> >         at
> >
> org.apache.isis.core.runtime.system.transaction.IsisTransactionManager.flushTransaction(IsisTransactionManager.java:392)
> >
> >         at
> >
> org.apache.isis.core.runtime.persistence.internal.RuntimeContextFromSession$7.flush(RuntimeContextFromSession.java:238)
> >
> >         at
> >
> org.apache.isis.core.metamodel.services.container.DomainObjectContainerDefault.flush(DomainObjectContainerDefault.java:265)
> >
> >         at
> >
> org.apache.isis.core.metamodel.services.container.DomainObjectContainerDefault.allMatches(DomainObjectContainerDefault.java:546)
> >
> >         at
> >
> org.apache.isis.applib.AbstractContainedObject.allMatches(AbstractContainedObject.java:170)
> >
> >         at
> >
> org.estatio.dom.UdoDomainRepositoryAndFactory.allMatches(UdoDomainRepositoryAndFactory.java:69)
> >
> >         at org.estatio.dom.asset.Units.findByProperty(Units.java:100)
> >
> >         at
> >
> org.estatio.dom.budget.BudgetKeyTable.generateBudgetKeyItems(BudgetKeyTable.java:298)
> >
> >         at
> >
> org.estatio.fixture.budget.BudgetKeyTableAbstact.createBudgetKeyTable(BudgetKeyTableAbstact.java:47)
> >
> >         at
> >
> org.estatio.fixture.budget.BudgetKeyTableForOxf.execute(BudgetKeyTableForOxf.java:49)
> >
> >         at
> >
> org.apache.isis.applib.fixturescripts.FixtureScript$ExecutionContext.executeChildIfNotAlready(FixtureScript.java:549)
> >
> >         at
> >
> org.apache.isis.applib.fixturescripts.FixtureScript$ExecutionContext.access$200(FixtureScript.java:248)
> >
> >         at
> >
> org.apache.isis.applib.fixturescripts.FixtureScript.run(FixtureScript.java:719)
> >
> >         at
> >
> org.apache.isis.applib.fixturescripts.FixtureScripts.runFixtureScript(FixtureScripts.java:285)
> >
> >         at
> >
> org.estatio.fixturescripts.EstatioFixtureScripts.runFixtureScript(EstatioFixtureScripts.java:60)
> >
> >         at
> >
> org.estatio.integtests.EstatioIntegrationTest.runFixtureScript(EstatioIntegrationTest.java:75)
> >
> >         at
> >
> org.estatio.integtests.budget.BudgetKeyTableTest.setupData(BudgetKeyTableTest.java:41)
> >
> >         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> >
> >         at
> >
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> >
> >         at
> >
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> >
> >         at
> >
> org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47)
> >
> >         at
> >
> org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
> >
> >         at
> >
> org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44)
> >
> >         at
> >
> org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:24)
> >
> >         at
> >
> org.apache.isis.core.integtestsupport.IntegrationTestAbstract$IsisTransactionRule$1.evaluate(IntegrationTestAbstract.java:214)
> >
> >         at
> >
> org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2$1.evaluate(JUnitRuleMockery2.java:146)
> >
> >         at
> >
> org.apache.isis.core.integtestsupport.ExceptionRecognizerTranslate$TranslationStatement.evaluate(ExceptionRecognizerTranslate.java:32)
> >
> >         at
> >
> org.junit.rules.ExpectedException$ExpectedExceptionStatement.evaluate(ExpectedException.java:168)
> >
> >         at org.junit.rules.RunRules.evaluate(RunRules.java:20)
> >
> >         at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271)
> >
> >         at
> >
> org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70)
> >
> >         at
> >
> org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
> >
> >         at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)
> >
> >         at
> org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)
> >
> >         at
> > org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)
> >
> >         at
> org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)
> >
> >         at
> org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)
> >
> >         at
> >
> org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
> >
> >         at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
> >
> >         at org.junit.runners.Suite.runChild(Suite.java:127)
> >
> >         at org.junit.runners.Suite.runChild(Suite.java:26)
> >
> >         at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)
> >
> >         at
> org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)
> >
> >         at
> > org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)
> >
> >         at
> org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)
> >
> >         at
> org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)
> >
> >         at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
> >
> >         at org.junit.runner.JUnitCore.run(JUnitCore.java:160)
> >
> >         at
> >
> com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:78)
> >
> >         at
> >
> com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:212)
> >
> >         at
> > com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:68)
> >
> >         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> >
> >         at
> >
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> >
> >         at
> > com.intellij.rt.execution.application.AppMain.main(AppMain.java:140)
> >
> >
> >
> >         15:55:14,224  [IsisTransaction      main       INFO ]  abort
> > transaction IsisTransaction@10f125e5[state=MUST_ABORT,commands=0]
> >
> >
> >
> >         javax.jdo.JDOFatalInternalException: Cannot instantiate abstract
> > class.
> >
> >         at
> >
> org.estatio.dom.EstatioDomainObject.dnNewInstance(EstatioDomainObject.java)
> >
> >         at
> >
> org.datanucleus.state.StateManagerImpl.saveFields(StateManagerImpl.java:672)
> >
> >         at
> >
> org.datanucleus.state.StateManagerImpl.initialiseForPersistentNew(StateManagerImpl.java:420)
> >
> >         at
> >
> org.apache.isis.objectstore.jdo.datanucleus.JDOStateManagerForIsis.initialiseForPersistentNew(JDOStateManagerForIsis.java:87)
> >
> >         at
> >
> org.apache.isis.objectstore.jdo.datanucleus.JDOStateManagerForIsis.initialiseForPersistentNew(JDOStateManagerForIsis.java:33)
> >
> >         at
> >
> org.datanucleus.state.ObjectProviderFactoryImpl.newForPersistentNew(ObjectProviderFactoryImpl.java:218)
> >
> >         at
> >
> org.datanucleus.ExecutionContextImpl.persistObjectInternal(ExecutionContextImpl.java:1999)
> >
> >         at
> >
> org.datanucleus.ExecutionContextImpl.persistObjectWork(ExecutionContextImpl.java:1843)
> >
> >         at
> >
> org.datanucleus.ExecutionContextImpl.persistObject(ExecutionContextImpl.java:1698)
> >
> >         at
> >
> org.datanucleus.api.jdo.JDOPersistenceManager.jdoMakePersistent(JDOPersistenceManager.java:720)
> >
> >         at
> >
> org.datanucleus.api.jdo.JDOPersistenceManager.makePersistent(JDOPersistenceManager.java:745)
> >
> >         at
> >
> org.apache.isis.objectstore.jdo.datanucleus.persistence.commands.DataNucleusCreateObjectCommand.execute(DataNucleusCreateObjectCommand.java:54)
> >
> >         at
> >
> org.apache.isis.objectstore.jdo.datanucleus.DataNucleusObjectStore.executeCommands(DataNucleusObjectStore.java:363)
> >
> >         at
> >
> org.apache.isis.objectstore.jdo.datanucleus.DataNucleusObjectStore.execute(DataNucleusObjectStore.java:357)
> >
> >         at
> >
> org.apache.isis.core.runtime.system.transaction.IsisTransaction.doFlush(IsisTransaction.java:521)
> >
> >         at
> >
> org.apache.isis.core.runtime.system.transaction.IsisTransaction.flush(IsisTransaction.java:467)
> >
> >         at
> >
> org.apache.isis.core.runtime.system.transaction.IsisTransactionManager.flushTransaction(IsisTransactionManager.java:392)
> >
> >         at
> >
> org.apache.isis.core.runtime.persistence.internal.RuntimeContextFromSession$7.flush(RuntimeContextFromSession.java:238)
> >
> >         at
> >
> org.apache.isis.core.metamodel.services.container.DomainObjectContainerDefault.flush(DomainObjectContainerDefault.java:265)
> >
> >         at
> >
> org.apache.isis.core.metamodel.services.container.DomainObjectContainerDefault.allMatches(DomainObjectContainerDefault.java:546)
> >
> >         at
> >
> org.apache.isis.applib.AbstractContainedObject.allMatches(AbstractContainedObject.java:170)
> >
> >         at
> >
> org.estatio.dom.UdoDomainRepositoryAndFactory.allMatches(UdoDomainRepositoryAndFactory.java:69)
> >
> >         at org.estatio.dom.asset.Units.findByProperty(Units.java:100)
> >
> >         at
> >
> org.estatio.dom.budget.BudgetKeyTable.generateBudgetKeyItems(BudgetKeyTable.java:298)
> >
> >         at
> >
> org.estatio.fixture.budget.BudgetKeyTableAbstact.createBudgetKeyTable(BudgetKeyTableAbstact.java:47)
> >
> >         at
> >
> org.estatio.fixture.budget.BudgetKeyTableForOxf.execute(BudgetKeyTableForOxf.java:49)
> >
> >         at
> >
> org.apache.isis.applib.fixturescripts.FixtureScript$ExecutionContext.executeChildIfNotAlready(FixtureScript.java:549)
> >
> >         at
> >
> org.apache.isis.applib.fixturescripts.FixtureScript$ExecutionContext.access$200(FixtureScript.java:248)
> >
> >         at
> >
> org.apache.isis.applib.fixturescripts.FixtureScript.run(FixtureScript.java:719)
> >
> >         at
> >
> org.apache.isis.applib.fixturescripts.FixtureScripts.runFixtureScript(FixtureScripts.java:285)
> >
> >         at
> >
> org.estatio.fixturescripts.EstatioFixtureScripts.runFixtureScript(EstatioFixtureScripts.java:60)
> >
> >         at
> >
> org.estatio.integtests.EstatioIntegrationTest.runFixtureScript(EstatioIntegrationTest.java:75)
> >
> >         at
> >
> org.estatio.integtests.budget.BudgetKeyTableTest.setupData(BudgetKeyTableTest.java:41)
> >
> >         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> >
> >         at
> >
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> >
> >         at
> >
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> >
> >         at
> >
> org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47)
> >
> >         at
> >
> org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
> >
> >         at
> >
> org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44)
> >
> >         at
> >
> org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:24)
> >
> >         at
> >
> org.apache.isis.core.integtestsupport.IntegrationTestAbstract$IsisTransactionRule$1.evaluate(IntegrationTestAbstract.java:214)
> >
> >         at
> >
> org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2$1.evaluate(JUnitRuleMockery2.java:146)
> >
> >         at
> >
> org.apache.isis.core.integtestsupport.ExceptionRecognizerTranslate$TranslationStatement.evaluate(ExceptionRecognizerTranslate.java:32)
> >
> >         at
> >
> org.junit.rules.ExpectedException$ExpectedExceptionStatement.evaluate(ExpectedException.java:168)
> >
> >         at org.junit.rules.RunRules.evaluate(RunRules.java:20)
> >
> >         at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271)
> >
> >         at
> >
> org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70)
> >
> >         at
> >
> org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
> >
> >         at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)
> >
> >         at
> org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)
> >
> >         at
> > org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)
> >
> >         at
> org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)
> >
> >         at
> org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)
> >
> >         at
> >
> org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
> >
> >         at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
> >
> >         at org.junit.runners.Suite.runChild(Suite.java:127)
> >
> >         at org.junit.runners.Suite.runChild(Suite.java:26)
> >
> >         at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)
> >
> >         at
> org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)
> >
> >         at
> > org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)
> >
> >         at
> org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)
> >
> >         at
> org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)
> >
> >         at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
> >
> >         at org.junit.runner.JUnitCore.run(JUnitCore.java:160)
> >
> >         at
> >
> com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:78)
> >
> >         at
> >
> com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:212)
> >
> >         at
> > com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:68)
> >
> >         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> >
> >         at
> >
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> >
> >         at
> > com.intellij.rt.execution.application.AppMain.main(AppMain.java:140)
> >
> >
> >
> >
> >
> >
> >
>
>
>
>

Reply via email to