You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@isis.apache.org by "Branham, Jeremy [HR]" <Je...@sprint.com> on 2014/12/24 06:04:01 UTC

Working on a branch with latest datanucleus

Sorry for the massive stack trace, but I was looking for some pointers on what might be happing here.
I'm having a bit of difficulty debugging because the line numbers reported don't seem to match the source files, and even when stepping through the code. [maybe something wrong in my dev env]

I'm working on a branch with a newer datanucleus support [4.0.4] and seems to be an issue with the spec loader.
I understand if there is no support for this yet.


22:52:01,445  [Reflections          main       INFO ]  Reflections took 421 ms to scan 7 urls, producing 148 keys and 716 values
22:52:01,523  [ServiceInstantiator  main       DEBUG]  loading class for service: dom.simple.SimpleObjects
22:52:01,523  [ServiceInstantiator  main       DEBUG]  loading class for service: fixture.simple.SimpleObjectsFixturesService
22:52:01,523  [ServiceInstantiator  main       DEBUG]  loading class for service: org.apache.isis.applib.annotation.Bulk$InteractionContext
22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading class for service: org.apache.isis.applib.services.bookmark.BookmarkHolderActionContributions
22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading class for service: org.apache.isis.applib.services.classdiscovery.ClassDiscoveryServiceUsingReflections
22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading class for service: org.apache.isis.applib.services.clock.ClockService
22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading class for service: org.apache.isis.applib.services.command.CommandContext
22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading class for service: org.apache.isis.applib.services.queryresultscache.QueryResultsCache
22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading class for service: org.apache.isis.applib.services.scratchpad.Scratchpad
22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading class for service: org.apache.isis.core.metamodel.services.bookmarks.BookmarkServiceDefault
22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading class for service: org.apache.isis.core.metamodel.services.container.DomainObjectContainerDefault
22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading class for service: org.apache.isis.core.runtime.services.background.BackgroundServiceDefault
22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading class for service: org.apache.isis.core.runtime.services.memento.MementoServiceDefault
22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading class for service: org.apache.isis.core.runtime.services.xmlsnapshot.XmlSnapshotServiceDefault
22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading class for service: org.apache.isis.core.wrapper.WrapperFactoryDefault
22:52:01,587  [ServiceInstantiator  main       DEBUG]  loading class for service: org.apache.isis.objectstore.jdo.applib.service.exceprecog.ExceptionRecognizerCompositeForJdoObjectStore
22:52:01,618  [ServiceInstantiator  main       DEBUG]  loading class for service: org.apache.isis.objectstore.jdo.datanucleus.service.eventbus.EventBusServiceJdo
22:52:01,618  [ServiceInstantiator  main       DEBUG]  loading class for service: org.apache.isis.objectstore.jdo.datanucleus.service.support.IsisJdoSupportImpl
22:52:01,618  [ServiceInstantiator  main       DEBUG]  loading class for service: org.apache.isis.viewer.restfulobjects.rendering.service.RepresentationServiceForRestfulObjects
22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected org.apache.isis.core.metamodel.services.container.DomainObjectContainerDefault@397c8a21 into SimpleObjects@529d935d[]
22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected org.apache.isis.core.runtime.services.memento.MementoServiceDefault@6cdd377c into SimpleObjectsFixturesService@2f65e5ba[]
22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected org.apache.isis.core.metamodel.services.bookmarks.BookmarkServiceDefault@4acd2ea5 into SimpleObjectsFixturesService@2f65e5ba[]
22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected org.apache.isis.applib.services.classdiscovery.ClassDiscoveryServiceUsingReflections@64b17900 into SimpleObjectsFixturesService@2f65e5ba[]
22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected org.apache.isis.core.metamodel.services.container.DomainObjectContainerDefault@397c8a21 into SimpleObjectsFixturesService@2f65e5ba[]
22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected org.apache.isis.core.metamodel.services.bookmarks.BookmarkServiceDefault@4acd2ea5 into BookmarkHolderActionContributions@3f7f22a5[]
22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected org.apache.isis.core.metamodel.services.container.DomainObjectContainerDefault@397c8a21 into ClassDiscoveryServiceUsingReflections@64b17900[]
22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected org.apache.isis.core.wrapper.WrapperFactoryDefault@33bb9f34 into BookmarkServiceDefault@4acd2ea5[]
22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected org.apache.isis.core.wrapper.WrapperFactoryDefault@33bb9f34 into DomainObjectContainerDefault@397c8a21[]
22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected org.apache.isis.core.metamodel.services.bookmarks.BookmarkServiceDefault@4acd2ea5 into BackgroundServiceDefault@4898c8f9[]
22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected org.apache.isis.core.runtime.services.ServiceInstantiator$2@26b278ab into BackgroundServiceDefault@4898c8f9[]
22:52:01,727  [ObjectReflectorDefault main       DEBUG]  initialising org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault@1e6144db
22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected org.apache.isis.core.metamodel.services.container.DomainObjectContainerDefault@397c8a21 into SimpleObjects@529d935d[]
22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected org.apache.isis.core.runtime.services.memento.MementoServiceDefault@6cdd377c into SimpleObjectsFixturesService@2f65e5ba[]
22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected org.apache.isis.core.metamodel.services.bookmarks.BookmarkServiceDefault@4acd2ea5 into SimpleObjectsFixturesService@2f65e5ba[]
22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected org.apache.isis.applib.services.classdiscovery.ClassDiscoveryServiceUsingReflections@64b17900 into SimpleObjectsFixturesService@2f65e5ba[]
22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected org.apache.isis.core.metamodel.services.container.DomainObjectContainerDefault@397c8a21 into SimpleObjectsFixturesService@2f65e5ba[]
22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected org.apache.isis.core.metamodel.services.bookmarks.BookmarkServiceDefault@4acd2ea5 into BookmarkHolderActionContributions@3f7f22a5[]
22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected org.apache.isis.core.metamodel.services.container.DomainObjectContainerDefault@397c8a21 into ClassDiscoveryServiceUsingReflections@64b17900[]
22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected org.apache.isis.core.wrapper.WrapperFactoryDefault@33bb9f34 into BookmarkServiceDefault@4acd2ea5[]
22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected org.apache.isis.core.wrapper.WrapperFactoryDefault@33bb9f34 into DomainObjectContainerDefault@397c8a21[]
22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected org.apache.isis.core.metamodel.services.bookmarks.BookmarkServiceDefault@4acd2ea5 into BackgroundServiceDefault@4898c8f9[]
22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected org.apache.isis.core.runtime.services.ServiceInstantiator$2@26b278ab into BackgroundServiceDefault@4898c8f9[]
22:52:14,042  [ObjectSpecificationAbstract main       DEBUG]    Superclass java.lang.Object
22:52:14,152  [ObjectSpecificationAbstract main       DEBUG]    Superclass java.lang.Object
22:52:14,167  [IsisWicketApplication main       ERROR]  Failed to initialize
com.google.inject.ProvisionException: Guice provision errors:

1) Error in custom provider, java.lang.NullPointerException
  at org.apache.isis.core.runtime.runner.IsisInjectModule.provideIsisSystem(IsisInjectModule.java:132)
  at org.apache.isis.core.runtime.runner.IsisInjectModule.provideIsisSystem(IsisInjectModule.java:132)
  while locating org.apache.isis.core.runtime.system.IsisSystem
    for field at org.apache.isis.viewer.wicket.viewer.IsisWicketApplication.system(IsisWicketApplication.java:138)
  while locating webapp.SimpleApplication

1 error
       at com.google.inject.internal.Errors.throwProvisionExceptionIfErrorsExist(Errors.java:451)
       at com.google.inject.internal.MembersInjectorImpl.injectMembers(MembersInjectorImpl.java:65)
       at com.google.inject.internal.InjectorImpl.injectMembers(InjectorImpl.java:944)
       at org.apache.isis.viewer.wicket.viewer.IsisWicketApplication.init(IsisWicketApplication.java:248)
       at webapp.SimpleApplication.init(SimpleApplication.java:81)
       at org.apache.wicket.Application.initApplication(Application.java:823)
       at org.apache.wicket.protocol.http.WicketFilter.init(WicketFilter.java:424)
       at org.apache.wicket.protocol.http.WicketFilter.init(WicketFilter.java:351)
       at org.mortbay.jetty.servlet.FilterHolder.doStart(FilterHolder.java:97)
       at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
       at org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:713)
       at org.mortbay.jetty.servlet.Context.startContext(Context.java:140)
       at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1282)
       at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:518)
       at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:499)
       at org.mortbay.jetty.plugin.Jetty6PluginWebAppContext.doStart(Jetty6PluginWebAppContext.java:115)
       at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
       at org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.java:152)
       at org.mortbay.jetty.handler.ContextHandlerCollection.doStart(ContextHandlerCollection.java:156)
       at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
       at org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.java:152)
       at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
       at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)
       at org.mortbay.jetty.Server.doStart(Server.java:224)
       at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
       at org.mortbay.jetty.plugin.Jetty6PluginServer.start(Jetty6PluginServer.java:132)
       at org.mortbay.jetty.plugin.AbstractJettyMojo.startJetty(AbstractJettyMojo.java:454)
       at org.mortbay.jetty.plugin.AbstractJettyMojo.execute(AbstractJettyMojo.java:396)
       at org.mortbay.jetty.plugin.AbstractJettyRunMojo.execute(AbstractJettyRunMojo.java:210)
       at org.mortbay.jetty.plugin.Jetty6RunMojo.execute(Jetty6RunMojo.java:184)
       at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:106)
       at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208)
       at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
       at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
       at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84)
       at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59)
       at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183)
       at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161)
       at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:317)
       at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:152)
       at org.apache.maven.cli.MavenCli.execute(MavenCli.java:555)
       at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:214)
       at org.apache.maven.cli.MavenCli.main(MavenCli.java:158)
       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
       at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
       at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
       at java.lang.reflect.Method.invoke(Method.java:606)
       at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
       at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
       at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
       at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
       at org.codehaus.classworlds.Launcher.main(Launcher.java:46)
Caused by: java.lang.NullPointerException
       at org.apache.isis.core.metamodel.specloader.classsubstitutor.ClassSubstitutor.getClass(ClassSubstitutor.java:54)
       at org.apache.isis.core.metamodel.specloader.classsubstitutor.ClassSubstitutor.getClass(ClassSubstitutor.java:55)
       at org.apache.isis.core.metamodel.specloader.specimpl.dflt.ObjectSpecificationDefault.introspectTypeHierarchyAndMembers(ObjectSpecificationDefault.java:146)
       at org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.introspectIfRequired(ObjectReflectorDefault.java:499)
       at org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.loadSpecificationForSubstitutedClass(ObjectReflectorDefault.java:400)
       at org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.internalLoadSpecification(ObjectReflectorDefault.java:378)
       at org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.loadSpecifications(ObjectReflectorDefault.java:415)
       at org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.loadSpecifications(ObjectReflectorDefault.java:428)
       at org.apache.isis.core.metamodel.specloader.specimpl.FacetedMethodsBuilder.representsAction(FacetedMethodsBuilder.java:455)
       at org.apache.isis.core.metamodel.specloader.specimpl.FacetedMethodsBuilder.findActionFacetedMethod(FacetedMethodsBuilder.java:404)
       at org.apache.isis.core.metamodel.specloader.specimpl.FacetedMethodsBuilder.findActionFacetedMethods(FacetedMethodsBuilder.java:388)
       at org.apache.isis.core.metamodel.specloader.specimpl.FacetedMethodsBuilder.findActionFacetedMethods(FacetedMethodsBuilder.java:367)
       at org.apache.isis.core.metamodel.specloader.specimpl.FacetedMethodsBuilder.getActionFacetedMethods(FacetedMethodsBuilder.java:343)
       at org.apache.isis.core.metamodel.specloader.specimpl.dflt.ObjectSpecificationDefault.createActions(ObjectSpecificationDefault.java:222)
       at org.apache.isis.core.metamodel.specloader.specimpl.dflt.ObjectSpecificationDefault.introspectTypeHierarchyAndMembers(ObjectSpecificationDefault.java:167)
       at org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.introspectIfRequired(ObjectReflectorDefault.java:499)
       at org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.loadSpecificationForSubstitutedClass(ObjectReflectorDefault.java:400)
       at org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.internalLoadSpecification(ObjectReflectorDefault.java:378)
       at org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.primeCache(ObjectReflectorDefault.java:269)
       at org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.initAndValidate(ObjectReflectorDefault.java:244)
       at org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.init(ObjectReflectorDefault.java:205)
       at org.apache.isis.core.runtime.system.session.IsisSessionFactoryDefault.init(IsisSessionFactoryDefault.java:192)
       at org.apache.isis.core.runtime.system.IsisSystemFixturesHookAbstract.init(IsisSystemFixturesHookAbstract.java:120)
       at org.apache.isis.core.runtime.runner.IsisInjectModule.provideIsisSystem(IsisInjectModule.java:133)
       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
       at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
       at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
       at java.lang.reflect.Method.invoke(Method.java:606)
       at com.google.inject.internal.ProviderMethod.get(ProviderMethod.java:104)
       at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:40)
       at com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46)
       at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1031)
       at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
       at com.google.inject.Scopes$1$1.get(Scopes.java:65)
       at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:40)
       at com.google.inject.internal.SingleFieldInjector.inject(SingleFieldInjector.java:53)
       at com.google.inject.internal.MembersInjectorImpl.injectMembers(MembersInjectorImpl.java:110)
       at com.google.inject.internal.MembersInjectorImpl$1.call(MembersInjectorImpl.java:75)
       at com.google.inject.internal.MembersInjectorImpl$1.call(MembersInjectorImpl.java:73)
       at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1024)
       at com.google.inject.internal.MembersInjectorImpl.injectAndNotify(MembersInjectorImpl.java:73)
       at com.google.inject.internal.MembersInjectorImpl.injectMembers(MembersInjectorImpl.java:60)
       ... 50 more
22:52:14,167  [WicketFilter         main       ERROR]  The initialization of an application with name 'WicketFilter' has failed.
com.google.inject.ProvisionException: Guice provision errors:



________________________________

This e-mail may contain Sprint proprietary information intended for the sole use of the recipient(s). Any use by others is prohibited. If you are not the intended recipient, please contact the sender and delete all copies of the message.

RE: Working on a branch with latest datanucleus

Posted by "Branham, Jeremy [HR]" <Je...@sprint.com>.
Please forgive my ignorance.
I had commented out the schema creation in "org.apache.isis.objectstore.jdo.datanucleus.DataNucleusApplicationComponents" when I first switched to DN4 for testing.
It wasn’t until I searched the internet and found my original SO post about enabling Neo4j, that I realized what I had done.

Doh!


Jeremy D. Branham
Tel: **DOTNET


-----Original Message-----
From: Branham, Jeremy [HR]
Sent: Wednesday, December 31, 2014 6:04 AM
To: users@isis.apache.org
Subject: RE: Working on a branch with latest datanucleus

I've now added another facet to remove the method names that start with 'dn'.

Yes, I did change the DB url from mem to file because I suspected something funny was happening to the tables.
When I swapped back to mem, these errors started occurring.
For some reason the tables are not getting created until this test runs - integration.tests.ToDoItemsIntegTest$NewToDo_and_Delete
So all tests before it are failing.

I've changed a couple properties in 'IsisConfigurationForJdoIntegTests' to be compatible with DN 4.x

        addDataNucleusProperty("datanucleus.schema.autoCreateAll", "true");
        addDataNucleusProperty("datanucleus.schema.validateTables", "false");
        addDataNucleusProperty("datanucleus.schema.validateConstraints", "false");
        addDataNucleusProperty("datanucleus.rdbms.CheckExistTablesOrViews", "true");

And also tried separately-

        //addDataNucleusProperty("datanucleus.schema.autoCreateAll", "true");
        addDataNucleusProperty("datanucleus.schema.autoCreateSchema", "true");
        addDataNucleusProperty("datanucleus.schema.autoCreateTables", "true");
        addDataNucleusProperty("datanucleus.schema.autoCreateColumns", "true");
        addDataNucleusProperty("datanucleus.schema.autoCreateConstraints", "true");


Maybe the table creation strategy has changed in DN 4.
Should there be an explicit table creation added somewhere in the fixture setups?



Jeremy D. Branham
Tel: **DOTNET


-----Original Message-----
From: Dan Haywood [mailto:dan@haywood-associates.co.uk]
Sent: Wednesday, December 31, 2014 12:27 AM
To: users
Subject: Re: Working on a branch with latest datanucleus

On 31 December 2014 at 02:36, Branham, Jeremy [HR] <
Jeremy.D.Branham@sprint.com> wrote:

> I'm loving IDEA. Debugging is better, and the Maven integration works
> great.
> Glad I can finally be part of the 'cool kids'.
> When I was younger, geek != cool; and I only knew one other kid with an
> Amiga - but he edged on the side of nerd ;-)
>
>
Nice.



> Thanks for the info on the stack trace. I don’t understand object mapping
> yet, but I'm getting there.
>
> Question -
> Should the Object Specification contain enhanced method names?
> Example -
>  "public java.lang.String dom.todo.ToDoItem.dnGetnotes()" -> "Action
> [id=dnGetnotes,name='Dn
> Getnotes',type=USER,returns=ObjectSpecificationDefault@233d897[class=java.lang.String,type=Object,persistable=User
> Persistable,superclass=Object],parameters={}]"
>
>
No, it shouldn't.  You may need to write an addtional facet factory to get
it to ignore those methods generated by the enhancer.

Navigate > Class : Remove*FacetFactory

should show you some examples to crib from.  Register new ones
in ProgrammingModelFacetsJava5 or via isis.properties
using isis.reflector.facets.include (as per
http://isis.apache.org/more-advanced-topics/metamodel-finetuning-the-programming-model.html
).



>
>  [moved on to a new exception now]
> I know this is a generic error, "user lacks privilege or object not
> found", but the stack trace may indicate something I'm not seeing.
>
>
Not much to see other than the SQL delete we do in the fixtures is failing
to find the "ToDoItem" table in the database.

Kind of odd that this is being thrown now for you; I got the impression
that this was working.  It ought to, because by default we run with an
inmemory HSQLDB so we create that table first.

Have you changed the JDBC connection URL etc?


Dan



>
> canBeUpToSixDaysInPast(integration.tests.ToDoItemIntegTest$Properties$DueBy)
> Time elapsed: 0.003 sec  <<< ERROR!
> org.apache.isis.core.runtime.persistence.ObjectPersistenceException:
> Failed to executeSql: delete from "ToDoItem" where "ownedBy" = 'tester'
> at
> org.apache.isis.objectstore.jdo.datanucleus.service.support.IsisJdoSupportImpl.executeUpdate(IsisJdoSupportImpl.java:145)
> at
> org.apache.isis.objectstore.jdo.datanucleus.service.support.IsisJdoSupportImpl.executeUpdate(IsisJdoSupportImpl.java:104)
> at
> fixture.todo.items.delete.ToDoItemsDelete.execute(ToDoItemsDelete.java:29)
> at
> org.apache.isis.applib.fixturescripts.FixtureScript$ExecutionContext.executeChildIfNotAlready(FixtureScript.java:408)
> at
> org.apache.isis.applib.fixturescripts.FixtureScript$ExecutionContext.executeChild(FixtureScript.java:389)
> at
> org.apache.isis.applib.fixturescripts.FixtureScript$ExecutionContext.executeChild(FixtureScript.java:374)
> at
> fixture.todo.scenarios.ToDoItemsRecreateAndCompleteSeveral.execute(ToDoItemsRecreateAndCompleteSeveral.java:66)
> at
> org.apache.isis.applib.fixturescripts.FixtureScript$ExecutionContext.executeChildIfNotAlready(FixtureScript.java:408)
> at
> org.apache.isis.applib.fixturescripts.FixtureScript$ExecutionContext.access$100(FixtureScript.java:242)
> at
> org.apache.isis.applib.fixturescripts.FixtureScript.run(FixtureScript.java:504)
> at
> org.apache.isis.applib.fixturescripts.FixtureScripts.runFixtureScript(FixtureScripts.java:266)
> at
> fixture.todo.ToDoItemsFixturesService.runFixtureScript(ToDoItemsFixturesService.java:58)
> at integration.tests.ToDoItemIntegTest.setUpData(ToDoItemIntegTest.java:70)
> at sun.reflect.GeneratedMethodAccessor15.invoke(Unknown Source)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:606)
> 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.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
> at
> org.apache.isis.core.integtestsupport.IntegrationTestAbstract$IsisTransactionRule$1.evaluate(IntegrationTestAbstract.java:199)
> at
> org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2$1.evaluate(JUnitRuleMockery2.java:146)
> 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.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:264)
> at
> org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:153)
> at
> org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:124)
> at
> org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:200)
> at
> org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:153)
> at
> org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:103)
> Caused by: java.sql.SQLSyntaxErrorException: user lacks privilege or
> object not found: ToDoItem
> at org.hsqldb.jdbc.JDBCUtil.sqlException(Unknown Source)
> at org.hsqldb.jdbc.JDBCUtil.sqlException(Unknown Source)
> at org.hsqldb.jdbc.JDBCStatement.fetchResult(Unknown Source)
> at org.hsqldb.jdbc.JDBCStatement.executeUpdate(Unknown Source)
> at
> org.datanucleus.store.rdbms.datasource.dbcp.DelegatingStatement.executeUpdate(DelegatingStatement.java:210)
> at
> org.datanucleus.store.rdbms.datasource.dbcp.DelegatingStatement.executeUpdate(DelegatingStatement.java:210)
> at
> org.apache.isis.objectstore.jdo.datanucleus.service.support.IsisJdoSupportImpl.executeUpdate(IsisJdoSupportImpl.java:142)
>
>
>
> Jeremy D. Branham
> Tel: **DOTNET
>
>
> -----Original Message-----
> From: Dan Haywood [mailto:dan@haywood-associates.co.uk]
> Sent: Tuesday, December 30, 2014 12:36 PM
> To: users
> Subject: Re: Working on a branch with latest datanucleus
>
> On 30 December 2014 at 17:28, Branham, Jeremy [HR] <
> Jeremy.D.Branham@sprint.com> wrote:
>
> > Thanks, I've downloaded IDEA to give it a go.
> >
> >
> Like Martin, I'm also an ex-Eclipse user (2003 to 2014 !) and used IDEA in
> 2011 but missed Eclipse's incremental compilation.  Now that IDEA supports
> that feature, it's definitely superior.  In particular, because there's no
> dependency on the slightly flaky Eclipse DataNucleus plugin, it makes for a
> better developer experience.
>
> And its's also nice to be using the same tool as all the cool kids!
>
>
>
>
> >
> > Any thoughts on this?
> >
> >
> I can tell you what the error means, but not sure (exactly) how to fix it.
>
> In Isis we maintain two hashmaps which map from the pojo -> ObjectAdapter
> and from the OID to the ObjectAdapter.
>
> Historically Isis didn't use JDO/DataNucleus, and so it used these hashmaps
> to manage the lifecycle of the objects.  For example, the OID and
> ObjectAdapter between them keep track of the lazy loading.
>
> However, since we now use JDO/DataNucleus, which performs its own lazy
> loading etc, it means that Isis' maps is basically subservient to JDO, and
> (I strongly suspect) is actually redundant.  There's a class
> called FrameworkSynchronizer which adds a bunch of listeners to the JDO
> runtime, and aims to keep Isis' maps in sync.  With DN 3.x this all seems
> to work reliably enough.
>
> Anyway, as you can see in the stacktrace, what's happening with your branch
> is that things have got out of whack.
>
> My intention to deal with all this ugliness is basically to get rid of
> those two hashmaps, and instead to simply instantiate and then discard the
> ObjectAdapters whenever they are needed.  But I haven't done the analysis
> on the methods of ObjectAdapter and Oid to figure out if there's any impact
> on any of that.
>
> Just looking at your particular stack trace, it seems that the error is
> being thrown immediately when the objects being loaded are mapped (in
> loadInstancesAndAdapt). That suggests in turn that the map was in an
> invalid state from the previous interaction; or perhaps things didn't get
> cleared down at the end of the previous interaction.
>
> Or... perhaps there's a (new?) error in the Oid class so that it no longer
> acting correctly as a value type as the key in the Oid/adapter map.
>
> Hope that some of the above helps you figure out the issue....
>
> Cheers
> Dan
>
>
>
> > .......
> > 22:15:23,207  [AdapterManagerDefault main       DEBUG]
> remapAsPersistent:
> >
> !org.apache.isis.objectstore.jdo.datanucleus.service.support.IsisJdoSupportImpl:c51ca8f2-48d1-412b-979c-11622a382faf
> > 22:15:23,207  [AdapterManagerDefault main       DEBUG]  removing root
> > adapter from oid map
> > 22:15:23,207  [OidAdapterHashMap    main       DEBUG]  remove oid:
> >
> !org.apache.isis.objectstore.jdo.datanucleus.service.support.IsisJdoSupportImpl:c51ca8f2-48d1-412b-979c-11622a382faf
> > 22:15:23,207  [AdapterManagerDefault main       DEBUG]  removing
> > collection adapter(s) from oid map
> > 22:15:23,207  [AdapterManagerDefault main       DEBUG]  updating the Oid
> > 22:15:23,207  [AdapterManagerDefault main       DEBUG]  replacing Oid for
> > root adapter and re-adding into maps; oid is now:
> >
> org.apache.isis.objectstore.jdo.datanucleus.service.support.IsisJdoSupportImpl:1
> > (was:
> >
> !org.apache.isis.objectstore.jdo.datanucleus.service.support.IsisJdoSupportImpl:c51ca8f2-48d1-412b-979c-11622a382faf)
> > 22:15:23,207  [OidAdapterHashMap    main       DEBUG]  add oid:
> >
> org.apache.isis.objectstore.jdo.datanucleus.service.support.IsisJdoSupportImpl:1
> > ; oid.hashCode: + #102ac45e ; adapter.hashCode(): #5e65eee4
> > 22:15:23,207  [AdapterManagerDefault main       DEBUG]  replacing Oids
> for
> > collection adapter(s) and re-adding into maps
> > 22:15:23,207  [AdapterManagerDefault main       DEBUG]  synchronizing
> > collection pojos, remapping in pojo map if required
> > 22:15:23,207  [AdapterManagerDefault main       DEBUG]  made persistent
> > PojoAdapter@5e65eee4
> >
> [PR~:org.apache.isis.objectstore.jdo.datanucleus.service.support.IsisJdoSupportImpl:1,specification=IsisJdoSupportImpl,version=null,pojo-toString=org.apache.isis.objectstore.jdo.datanucleus.service.support.IsisJdoSupportImpl@1dd1b36
> ,pojo-hash=#1dd1b36];
> > was
> >
> !org.apache.isis.objectstore.jdo.datanucleus.service.support.IsisJdoSupportImpl:c51ca8f2-48d1-412b-979c-11622a382faf
> > Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0.051 sec
> > <<< FAILURE! - in integration.tests.ToDoItemsIntegTest$Finders
> > complete_and_notYetComplete(integration.tests.ToDoItemsIntegTest$Finders)
> > Time elapsed: 0.051 sec  <<< ERROR!
> > java.lang.RuntimeException: java.lang.IllegalArgumentException: mismatch
> > in OidAdapter map: adapter's Oid: TODO:1^1:tester:, provided adapter's
> OID:
> > TODO:1^1:tester:; map's adapter's Oid: TODO:1^1:tester:
> > at
> org.apache.isis.core.commons.ensure.Ensure.ensureThatArg(Ensure.java:75)
> > at
> >
> org.apache.isis.core.runtime.persistence.adaptermanager.AdapterManagerDefault.ensureOidAdapterMapConsistent(AdapterManagerDefault.java:810)
> > at
> >
> org.apache.isis.core.runtime.persistence.adaptermanager.AdapterManagerDefault.ensureMapsConsistent(AdapterManagerDefault.java:780)
> > at
> >
> org.apache.isis.core.runtime.persistence.adaptermanager.AdapterManagerDefault.removeAdapter(AdapterManagerDefault.java:459)
> > at
> >
> org.apache.isis.core.runtime.persistence.adaptermanager.AdapterManagerDefault.remapRecreatedPojo(AdapterManagerDefault.java:368)
> > at
> >
> org.apache.isis.objectstore.jdo.datanucleus.persistence.FrameworkSynchronizer$1.run(FrameworkSynchronizer.java:95)
> > at
> >
> org.apache.isis.objectstore.jdo.datanucleus.persistence.FrameworkSynchronizer$8.call(FrameworkSynchronizer.java:352)
> > at
> >
> org.apache.isis.objectstore.jdo.datanucleus.persistence.FrameworkSynchronizer$8.call(FrameworkSynchronizer.java:348)
> > at
> >
> org.apache.isis.objectstore.jdo.datanucleus.persistence.FrameworkSynchronizer.withLogging(FrameworkSynchronizer.java:337)
> > at
> >
> org.apache.isis.objectstore.jdo.datanucleus.persistence.FrameworkSynchronizer.withLogging(FrameworkSynchronizer.java:348)
> > at
> >
> org.apache.isis.objectstore.jdo.datanucleus.persistence.FrameworkSynchronizer.postLoadProcessingFor(FrameworkSynchronizer.java:75)
> > at
> >
> org.apache.isis.objectstore.jdo.datanucleus.persistence.queries.PersistenceQueryProcessorAbstract.loadAdapters(PersistenceQueryProcessorAbstract.java:85)
> > at
> >
> org.apache.isis.objectstore.jdo.datanucleus.persistence.queries.PersistenceQueryFindAllInstancesProcessor.process(PersistenceQueryFindAllInstancesProcessor.java:57)
> > at
> >
> org.apache.isis.objectstore.jdo.datanucleus.persistence.queries.PersistenceQueryFindAllInstancesProcessor.process(PersistenceQueryFindAllInstancesProcessor.java:34)
> > at
> >
> org.apache.isis.objectstore.jdo.datanucleus.DataNucleusObjectStore.processPersistenceQuery(DataNucleusObjectStore.java:520)
> > at
> >
> org.apache.isis.objectstore.jdo.datanucleus.DataNucleusObjectStore.loadInstancesAndAdapt(DataNucleusObjectStore.java:515)
> > at
> >
> org.apache.isis.core.runtime.system.persistence.PersistenceSession$1.execute(PersistenceSession.java:420)
> > at
> >
> org.apache.isis.core.runtime.system.persistence.PersistenceSession$1.execute(PersistenceSession.java:417)
> > at
> >
> org.apache.isis.core.runtime.system.transaction.IsisTransactionManager.executeWithinTransaction(IsisTransactionManager.java:205)
> > at
> >
> org.apache.isis.core.runtime.system.persistence.PersistenceSession.getInstancesFromPersistenceLayer(PersistenceSession.java:417)
> > at
> >
> org.apache.isis.core.runtime.system.persistence.PersistenceSession.getInstances(PersistenceSession.java:413)
> > at
> >
> org.apache.isis.core.runtime.system.persistence.PersistenceSession.findInstances(PersistenceSession.java:394)
> > at
> >
> org.apache.isis.core.runtime.system.persistence.PersistenceSession.findInstances(PersistenceSession.java:377)
> > at
> >
> org.apache.isis.core.runtime.persistence.internal.RuntimeContextFromSession$8.allMatchingQuery(RuntimeContextFromSession.java:282)
> > at
> >
> org.apache.isis.core.metamodel.services.container.DomainObjectContainerDefault.allMatches(DomainObjectContainerDefault.java:438)
> > at
> >
> org.apache.isis.core.metamodel.services.container.DomainObjectContainerDefault.allInstances(DomainObjectContainerDefault.java:396)
> > at
> >
> fixture.todo.items.actions.complete.ToDoItemCompleteAbstract.findToDoItem(ToDoItemCompleteAbstract.java:42)
> > at
> >
> fixture.todo.items.actions.complete.ToDoItemCompleteAbstract.complete(ToDoItemCompleteAbstract.java:36)
> > at
> >
> fixture.todo.items.actions.complete.ToDoItemCompleteForBuyStamps.execute(ToDoItemCompleteForBuyStamps.java:27)
> > at
> >
> org.apache.isis.applib.fixturescripts.FixtureScript$ExecutionContext.executeChildIfNotAlready(FixtureScript.java:408)
> > at
> >
> org.apache.isis.applib.fixturescripts.FixtureScript$ExecutionContext.executeChild(FixtureScript.java:389)
> > at
> >
> org.apache.isis.applib.fixturescripts.FixtureScript$ExecutionContext.executeChild(FixtureScript.java:374)
> > at
> >
> fixture.todo.scenarios.ToDoItemsRecreateAndCompleteSeveral.execute(ToDoItemsRecreateAndCompleteSeveral.java:83)
> > at
> >
> org.apache.isis.applib.fixturescripts.FixtureScript$ExecutionContext.executeChildIfNotAlready(FixtureScript.java:408)
> > at
> >
> org.apache.isis.applib.fixturescripts.FixtureScript$ExecutionContext.executeChild(FixtureScript.java:389)
> > at
> >
> org.apache.isis.applib.fixturescripts.FixtureScript$ExecutionContext.executeChild(FixtureScript.java:374)
> > at
> >
> fixture.todo.integtests.ToDoItemsIntegTestFixture.execute(ToDoItemsIntegTestFixture.java:37)
> > at
> >
> org.apache.isis.applib.fixturescripts.FixtureScript$ExecutionContext.executeChildIfNotAlready(FixtureScript.java:408)
> > at
> >
> org.apache.isis.applib.fixturescripts.FixtureScript$ExecutionContext.access$100(FixtureScript.java:242)
> > at
> >
> org.apache.isis.applib.fixturescripts.FixtureScript.run(FixtureScript.java:504)
> > at
> >
> org.apache.isis.applib.fixturescripts.FixtureScripts.runFixtureScript(FixtureScripts.java:266)
> > at
> >
> fixture.todo.ToDoItemsFixturesService.runFixtureScript(ToDoItemsFixturesService.java:58)
> > at
> >
> integration.tests.ToDoItemsIntegTest$Finders.setUpData(ToDoItemsIntegTest.java:49)
> >
> >
> >
> > Jeremy D. Branham
> > Tel: **DOTNET
> >
> >
> > -----Original Message-----
> > From: Martin Grigorov [mailto:mgrigorov@apache.org]
> > Sent: Monday, December 29, 2014 11:08 PM
> > To: users
> > Subject: RE: Working on a branch with latest datanucleus
> >
> > Hi,
> >
> > On Dec 30, 2014 5:39 AM, "Branham, Jeremy [HR]" <
> > Jeremy.D.Branham@sprint.com>
> > wrote:
> > >
> > > There ended up being a lot of refactoring to swap PersistenceCapable
> > > for
> > Persistable throughout.
> > >
> > > Currently trying to understand this -
> > >
> > > java.lang.IllegalArgumentException: mismatch in OidAdapter map:
> > > adapter's
> > Oid: TODO:1^1:tester:, provided adapter's OID: TODO:1^1:tester:; map's
> > adapter's Oid: TODO:1^1:tester:
> > > at
> > org.apache.isis.core.commons.ensure.Ensure.ensureThatArg(Ensure.java:75)
> > >
> > >
> > > I'm having difficulty getting MyEclipse to attach and stop at the
> > breakpoints during a Maven build, so this process has been needlessly
> > complicated.
> > >
> > > This is off topic, but I'm curious what other folks are using.
> > > Eclipse,
> > IDEA, other?
> >
> > I'm ex-Eclipse user and now I use IDEA for 2+ years. I'm very happy with
> > the switch! Debugging Maven build usually is very easy by using IDEA's
> > Maven integration !
> >
> > Some ideas:
> > 1) use mvnDebug to start Maven on command line with remote debugging
> > enabled. It will suspend before starting the process so you can attach
> the
> > debugger
> >
> > 2) run the failing test directly from the IDE
> >
> > Thanks for helping us with this!
> > Have fun!
> >
> > >
> > >
> > > Jeremy D. Branham
> > > Tel: **DOTNET
> > >
> > >
> > > -----Original Message-----
> > > From: Branham, Jeremy [HR]
> > > Sent: Monday, December 29, 2014 4:47 PM
> > > To: users@isis.apache.org
> > > Subject: RE: Working on a branch with latest datanucleus
> > >
> > >
> > > I've added the factories to the ' IsisConfigurationForJdoIntegTests'
> > > and
> > adjusted the DataNucleus properties to match 4.x
> > >
> > > I can see the tables are getting created but there is a cast exception.
> > > I won't flood the email distribution again until I'm stuck for a few
> > hours. =] Looks like it's pretty close now.
> > >
> > >
> > > Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0.031
> > > sec
> > <<< FAILURE! - in integration.tests.ToDoItemsIntegTest$NewToDo_and_Delete
> > > happyCase(integration.tests.ToDoItemsIntegTest$NewToDo_and_Delete)
> > > Time
> > elapsed: 0.031 sec  <<< ERROR!
> > > java.lang.ClassCastException: dom.todo.ToDoItem cannot be cast to
> > javax.jdo.spi.PersistenceCapable
> > >
> > >
> > > -------------------------
> > > 16:35:20,986  [Schema               main       DEBUG]  CREATE TABLE
> > "ToDoItem"
> > > (
> > >     "id" BIGINT GENERATED BY DEFAULT AS IDENTITY,
> > >     "attachment_name" BLOB NULL,
> > >     "category" NVARCHAR(255) NOT NULL,
> > >     "complete" BOOLEAN NOT NULL,
> > >     "cost" DECIMAL(19,2) NULL,
> > >     "description" NVARCHAR(100) NOT NULL,
> > >     "doc_name" BLOB NULL,
> > >     "dueBy" DATE NULL,
> > >     "notes" NVARCHAR(400) NULL,
> > >     "ownedBy" NVARCHAR(255) NOT NULL,
> > >     "subcategory" NVARCHAR(255) NULL,
> > >     "version" BIGINT NOT NULL,
> > >     CONSTRAINT "ToDoItem_PK" PRIMARY KEY ("id")
> > > )
> > > 16:35:20,986  [Schema               main       DEBUG]  Execution Time
> = 0
> > ms
> > > 16:35:21,002  [Schema               main       DEBUG]  Check of
> existence
> > of "ToDoItemDependencies" returned no table
> > > 16:35:21,002  [Schema               main       DEBUG]  Creating table
> > "ToDoItemDependencies"
> > > 16:35:21,002  [Schema               main       DEBUG]  CREATE TABLE
> > "ToDoItemDependencies"
> > > (
> > >     "dependingId" BIGINT NOT NULL,
> > >     "dependentId" BIGINT NOT NULL,
> > >     CONSTRAINT "ToDoItemDependencies_PK" PRIMARY KEY
> > ("dependingId","dependentId")
> > > )
> > >
> > >
> > >
> > >
> > >
> > >
> > > Jeremy D. Branham
> > > Tel: **DOTNET
> > >
> > >
> > > -----Original Message-----
> > > From: Branham, Jeremy [HR]
> > > Sent: Monday, December 29, 2014 3:31 PM
> > > To: users@isis.apache.org
> > > Subject: RE: Working on a branch with latest datanucleus
> > >
> > > Forgot to mention -
> > > I updated the 'JDOStateManagerForIsis' to use Persistable instead of
> > PersistanceCapable.
> > >
> > > public class JDOStateManagerForIsis extends
> > > ReferentialStateManagerImpl {
> > ...
> > > }
> > >
> > >
> > > Jeremy D. Branham
> > > Tel: **DOTNET
> > >
> > >
> > > -----Original Message-----
> > > From: Branham, Jeremy [HR]
> > > Sent: Monday, December 29, 2014 3:26 PM
> > > To: users@isis.apache.org
> > > Subject: RE: Working on a branch with latest datanucleus
> > >
> > > Thanks, that has got me started.
> > > For now I am just working with the RDMS capable statemanager, and will
> > focus on the Neo4j compatibility later.
> > >
> > > I've added two ' AbstractRemoveMethodsFacetFactory'
> > >
> > > [Finds 25 methods]
> > >     public RemoveDatanucleusPersistableTypesFacetFactory() {
> > >         super("org.datanucleus.enhancer.Persistable");
> > >     }
> > >
> > > And
> > >
> > > [org.apache.isis.core.commons.factory.UnavailableClassException: The
> > default type 'javax.jdo.spi.Persistable' cannot be found]
> > >     public RemoveJdoPersistableEnhancementTypesFacetFactory() {
> > >         super("javax.jdo.spi.Persistable");
> > >     }
> > >
> > >
> > >
> > > In the 'FacetedMethodsBuilder# getActionFacetedMethods' I do see this
> > > -
> > [It looks like it is stripping off the dn methods, does this look right?]
> > >
> > > associationFacetMethodsCollections$UnmodifiableRandomAccessList<E>
> > (id=289) [PROPERTY Peer
> > [identifier="dom.simple.SimpleObject#name()",type=java.lang.String ]]
> > >
> > > introspectedClassClass<T> (dom.simple.SimpleObject) (id=291) class
> > dom.simple.SimpleObject
> > >
> > > methodsArrays$ArrayList<E>  (id=293)
> > > [null, null, null, null, public static java.lang.Class
> > dom.simple.SimpleObject.___jdo$loadClass(java.lang.String), null, null,
> > null, null, null, null, null, null, null, null, null, null, null, null,
> > null, null, null, null, null, null, null, null, null, null, null, null,
> > null, null, null, null, null, null, null, null, null, null]
> > >
> > >
> > > Is it ok that the 'SimpleObject.___jdo$loadClass' method is listed
> there?
> > >
> > >
> > >
> > > Although, this exception is getting thrown now -
> > >
> > >                 // assert is persistent
> > >                 if(!pojo.jdoIsPersistent()) {
> > >                     throw new IllegalStateException("Pojo JDO state is
> > not persistent! pojo dnOid: " + JDOHelper.getObjectId(pojo));
> > >                 }
> > >
> > >
> > > Is there still something wrong with the method filtering? Or is this a
> > different issue?
> > >
> > >
> > >
> > > Jeremy D. Branham
> > > Tel: **DOTNET
> > >
> > >
> > > -----Original Message-----
> > > From: Dan Haywood [mailto:dan@haywood-associates.co.uk]
> > > Sent: Monday, December 29, 2014 11:33 AM
> > > To: users
> > > Subject: Re: Working on a branch with latest datanucleus
> > >
> > > Hi Jeremy,
> > >
> > > Having not looked at DN 4.x at all yet, can't specfically advise; have
> > > a
> > few general thoughts though.
> > >
> > > Just to recap on stuff that you probably know/have figured out...
> > >
> > > * With respect to javax.jdo.spi.PersistenceCapable vs
> > javax.jdo.spi.Persistable, in DN 3.x I know the enhancer makes all
> > enhanced objects implement the javax.jdo.spi.PersistenceCapable
> interface.
> > Looking at the javax.jdo.spi.Persistable interface for DN 3.x it seems
> like
> > its a placeholder, with a comment "Note that this is not yet used by
> > DataNucleus, but is intended as something for the future."
> > >
> > > * My guess for DN 4.x is that Andy Jefferson (maintainer of DN) has
> > > now
> > made this change, and generalized things to work with
> > javax.jdo.spi.Persistable instead of, or perhaps as well as,
> > PersistenceCapable.  (This might explain the new dnReplaceFields(...)
> > methods rather than jdoReplaceFields(...) methods that you saw before).
> > >
> > > * I can tell you that JDOStateManagerForIsis is kinda important, as
> > > its
> > the point where we tell Isis about the objects that are brought into
> > memory by DN, to map them and inject services into them.  So you will
> need
> > to find some sort of implementation of it.
> > >
> > > ~~~
> > > From its name, I'm guessing that ReferentialJDOStateManager is for
> > > RDBMS
> > stores, whereas of course you are using Neo4J instead.  So you probably
> > need to inherit from AbstractStateManager or something else higher up in
> > the inheritance hierarchy.
> > >
> > > In terms of getting Isis to work with your own improved version of
> > JdoStateManagerForIsis, it looks like the implementation is specified in
> > >
> >
> >
> DataNucleusPersistenceMechanismInstaller#addDataNucleusPropertiesIfRequired(...)
> > >  ... so you can probably just add your impl to isis.properties.
> > >
> > > Also, I notice that there's a thread-local in JdoStateManagerForIsis
> > > that
> > is referenced by EventBusServiceJdo, but that could easily be moved out
> > into some other class.
> > >
> > > ~~
> > > If none of the above helps, you might want to try posting a question
> > > on
> > the DN forum [1], though I know that Andy does also answer DN questions
> on
> > SO also.  The question will need to be framed in terms of DN rather than
> > Isis though.
> > >
> > > If you get nowhere, I can ping Andy also (so long as I'm clear about
> > > what
> > I'm asking, which I'm not quite, at the moment).
> > >
> > > HTH
> > > Dan
> > >
> > >
> > > [1] http://www.datanucleus.org/support.html
> > >
> > >
> > >
> > > On 29 December 2014 at 16:52, Branham, Jeremy [HR] <
> > Jeremy.D.Branham@sprint.com> wrote:
> > >
> > > > I thought I was being clever changing over to 'Persitable' in the
> > > > 'JDOStateManagerForIsis', but I get errors about the 'SimpleObject'
> > > > not being persistable at runtime.
> > > >
> > > > ---------------
> > > >
> > > > I have a question about the ReferentialJDOStateManager in
> DataNucleus.
> > > > The JDOStateManager extended this class in DN 3.x but it is not
> > > > present in DN 4.x
> > > >
> > > > Affected class in Isis -
> > > > public class JDOStateManagerForIsis extends
> > > > ReferentialJDOStateManager implements StateManager, ObjectProvider
> > > >
> > > > I do see this class -
> > > > org.datanucleus.state.ReferentialStateManagerImpl
> > > >
> > > > I thought this might be the appropriate replacement, but if I extend
> > > > ReferentialStateManagerImpl, there are problems...
> > > >
> > > > The problem I encounter when extending the new class -
> > > > ReferentialStateManagerImpl extends StateManagerImpl. Which extends
> > > > AbstractStateManager<Persistable>
> > > >
> > > > The current JDOStateManagerForIsis is setup to handle
> > > > PersistenceCapable objects rather than Persistable objects.
> > > >
> > > > I'm not sure where to go from here.
> > > >
> > > > Also posted on SO -
> > > >
> > > > http://stackoverflow.com/questions/27692754/is-referentialjdostatema
> > > > na
> > > > ger-not-used-in-datanucleus-4-x
> > > >
> > > >
> > > >
> > > >
> > > > Jeremy D. Branham
> > > > Tel: **DOTNET
> > > >
> > > >
> > > > -----Original Message-----
> > > > From: Dan Haywood [mailto:dan@haywood-associates.co.uk]
> > > > Sent: Friday, December 26, 2014 1:42 AM
> > > > To: users
> > > > Subject: Re: Working on a branch with latest datanucleus
> > > >
> > > > With Isis we have:
> > > >
> > > >
> > > >
> > > > org.apache.isis.core.metamodel.facets.object.ignore.jdo.RemoveJdoEnh
> > > > an
> > > > cementTypesFacetFactory
> > > >
> > > > that ensures that Isis ignores all the methods in the
> > > > javax,jdo.spi.PersistenceCapable interface.  That interface defines
> > > > a bunch of methods called jdoReplaceFields(int[]) and so on.
> > > >
> > > > My guess is that with DN 4.0 that this has changed so that there is
> > > > a similar DN-specific interface that the enhancer makes the
> > > > persistence-capable objects implement.
> > > >
> > > > Have a go at writing a similar facet factory and register it in
> > > > isis.properties using the "isis.reflector.facets.include" property,
> > > > see [1]... If it works we can incorporate into Isis proper for a
> > > > future
> > version.
> > > >
> > > > Let us know how you get on.
> > > >
> > > > Dan
> > > >
> > > >
> > > > [1]
> > > >
> > > > http://isis.apache.org/more-advanced-topics/metamodel-finetuning-the
> > > > -p
> > > > rogramming-model.html
> > > >
> > > >
> > > > On 25 December 2014 at 00:43, Branham, Jeremy [HR] <
> > > > Jeremy.D.Branham@sprint.com> wrote:
> > > >
> > > > > Thanks for checking Dan.
> > > > > I solved that particular issue, but I'm not sure it's a valid
> > solution.
> > > > >
> > > > > Changed -
> > > > >
> > > > > https://github.com/jdbranham/isis/blob/DN_404/core/metamodel/src/m
> > > > > ai
> > > > > n/
> > > > > java/org/apache/isis/core/metamodel/specloader/classsubstitutor/Cl
> > > > > as
> > > > > sS
> > > > > ubstitutor.java#L53-L55
> > > > >
> > > > >
> > > > > New Issue I'm working on -
> > > > >
> > > > > Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed:
> > > > > 0.197 sec <<< FAILURE! - in
> > > > > integration.tests.ToDoItemIntegTest$Properties$Description
> > > > > integration.tests.ToDoItemIntegTest$Properties$Description  Time
> > elapsed:
> > > > > 0.197 sec  <<< ERROR!
> > > > > java.lang.RuntimeException:
> > > > > org.apache.isis.core.commons.exceptions.UnknownTypeException:
> > > > > collections not supported as parameters:
> > > > > dom.todo.ToDoItem#dnProvideFields([I)
> > > > > at
> > > > > org.apache.isis.core.integtestsupport.IsisSystemForTest.setUpSyste
> > > > > m(
> > > > > Is
> > > > > isSystemForTest.java:314)
> > > > >
> > > > >
> > > > > Jeremy D. Branham
> > > > > Tel: **DOTNET
> > > > >
> > > > >
> > > > > -----Original Message-----
> > > > > From: Dan Haywood [mailto:dan@haywood-associates.co.uk]
> > > > > Sent: Wednesday, December 24, 2014 12:05 PM
> > > > > To: users
> > > > > Subject: Re: Working on a branch with latest datanucleus
> > > > >
> > > > > Hi Jeremy,
> > > > >
> > > > > sorry, it's not clear to me if you had an issue but then resolved
> > > > > it, or whether there is still an issue?
> > > > >
> > > > > With respect to moving to DN 4.0, that's certainly the intention,
> > > > > and is a prerequisite for us to support Java8.  Given that Java7
> > > > > support finishes in April 2015, it's clearly something that we
> > > > > need to do be tackling quite soon.
> > > > >
> > > > > Thx
> > > > > Dan
> > > > >
> > > > >
> > > > > On 24 December 2014 at 05:24, Branham, Jeremy [HR] <
> > > > > Jeremy.D.Branham@sprint.com> wrote:
> > > > >
> > > > > > The line numbers didn't match because a different version of the
> > > > > > class was being loaded.
> > > > > > I added a null check that solved the issue, but the code running
> > > > > > hadn't picked up the change yet.
> > > > > >
> > > > > >
> > > > > > Jeremy D. Branham
> > > > > > Tel: **DOTNET
> > > > > >
> > > > > >
> > > > > > -----Original Message-----
> > > > > > From: Branham, Jeremy [HR]
> > > > > > Sent: Tuesday, December 23, 2014 11:04 PM
> > > > > > To: users@isis.apache.org
> > > > > > Subject: Working on a branch with latest datanucleus
> > > > > >
> > > > > > Sorry for the massive stack trace, but I was looking for some
> > > > > > pointers on what might be happing here.
> > > > > > I'm having a bit of difficulty debugging because the line
> > > > > > numbers reported don't seem to match the source files, and even
> > > > > > when stepping through the code. [maybe something wrong in my dev
> > > > > > env]
> > > > > >
> > > > > > I'm working on a branch with a newer datanucleus support [4.0.4]
> > > > > > and seems to be an issue with the spec loader.
> > > > > > I understand if there is no support for this yet.
> > > > > >
> > > > > >
> > > > > > 22:52:01,445  [Reflections          main       INFO ]
> Reflections
> > took
> > > > > > 421 ms to scan 7 urls, producing 148 keys and 716 values
> > > > > > 22:52:01,523  [ServiceInstantiator  main       DEBUG]  loading
> > class
> > > > for
> > > > > > service: dom.simple.SimpleObjects
> > > > > > 22:52:01,523  [ServiceInstantiator  main       DEBUG]  loading
> > class
> > > > for
> > > > > > service: fixture.simple.SimpleObjectsFixturesService
> > > > > > 22:52:01,523  [ServiceInstantiator  main       DEBUG]  loading
> > class
> > > > for
> > > > > > service:
> org.apache.isis.applib.annotation.Bulk$InteractionContext
> > > > > > 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading
> > class
> > > > for
> > > > > > service:
> > > > > >
> > > > > org.apache.isis.applib.services.bookmark.BookmarkHolderActionContr
> > > > > ib
> > > > > ut
> > > > > ions
> > > > > > 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading
> > class
> > > > for
> > > > > > service:
> > > > > >
> > > > > org.apache.isis.applib.services.classdiscovery.ClassDiscoveryServi
> > > > > ce
> > > > > Us
> > > > > ingReflections
> > > > > > 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading
> > class
> > > > for
> > > > > > service: org.apache.isis.applib.services.clock.ClockService
> > > > > > 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading
> > class
> > > > for
> > > > > > service: org.apache.isis.applib.services.command.CommandContext
> > > > > > 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading
> > class
> > > > for
> > > > > > service:
> > > > > org.apache.isis.applib.services.queryresultscache.QueryResultsCach
> > > > > e
> > > > > > 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading
> > class
> > > > for
> > > > > > service: org.apache.isis.applib.services.scratchpad.Scratchpad
> > > > > > 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading
> > class
> > > > for
> > > > > > service:
> > > > > >
> > > > org.apache.isis.core.metamodel.services.bookmarks.BookmarkServiceDef
> > > > au
> > > > lt
> > > > > > 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading
> > class
> > > > for
> > > > > > service:
> > > > > >
> > > > > org.apache.isis.core.metamodel.services.container.DomainObjectCont
> > > > > ai
> > > > > ne
> > > > > rDefault
> > > > > > 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading
> > class
> > > > for
> > > > > > service:
> > > > > >
> > > > org.apache.isis.core.runtime.services.background.BackgroundServiceDe
> > > > fa
> > > > ult
> > > > > > 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading
> > class
> > > > for
> > > > > > service:
> > > > > org.apache.isis.core.runtime.services.memento.MementoServiceDefaul
> > > > > t
> > > > > > 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading
> > class
> > > > for
> > > > > > service:
> > > > > >
> > > > > org.apache.isis.core.runtime.services.xmlsnapshot.XmlSnapshotServi
> > > > > ce
> > > > > De
> > > > > fault
> > > > > > 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading
> > class
> > > > for
> > > > > > service: org.apache.isis.core.wrapper.WrapperFactoryDefault
> > > > > > 22:52:01,587  [ServiceInstantiator  main       DEBUG]  loading
> > class
> > > > for
> > > > > > service:
> > > > > >
> > > > > org.apache.isis.objectstore.jdo.applib.service.exceprecog.Exceptio
> > > > > nR
> > > > > ec
> > > > > ognizerCompositeForJdoObjectStore
> > > > > > 22:52:01,618  [ServiceInstantiator  main       DEBUG]  loading
> > class
> > > > for
> > > > > > service:
> > > > > >
> > > > > org.apache.isis.objectstore.jdo.datanucleus.service.eventbus.Event
> > > > > Bu
> > > > > sS
> > > > > erviceJdo
> > > > > > 22:52:01,618  [ServiceInstantiator  main       DEBUG]  loading
> > class
> > > > for
> > > > > > service:
> > > > > >
> > > > > org.apache.isis.objectstore.jdo.datanucleus.service.support.IsisJd
> > > > > oS
> > > > > up
> > > > > portImpl
> > > > > > 22:52:01,618  [ServiceInstantiator  main       DEBUG]  loading
> > class
> > > > for
> > > > > > service:
> > > > > >
> > > > > org.apache.isis.viewer.restfulobjects.rendering.service.Representa
> > > > > ti
> > > > > on
> > > > > ServiceForRestfulObjects
> > > > > > 22:52:01,712  [ServicesInjectorDefault main       DEBUG]
> injected
> > > > > > org.apache.isis.core.metamodel.services.container.DomainObjectCo
> > > > > > nt
> > > > > > ai
> > > > > > ne
> > > > > > rDefault@397c8a21
> > > > > > into SimpleObjects@529d935d[]
> > > > > > 22:52:01,712  [ServicesInjectorDefault main       DEBUG]
> injected
> > > > > > org.apache.isis.core.runtime.services.memento.MementoServiceDefa
> > > > > > ul t@ 6c dd377c into SimpleObjectsFixturesService@2f65e5ba[]
> > > > > > 22:52:01,712  [ServicesInjectorDefault main       DEBUG]
> injected
> > > > > > org.apache.isis.core.metamodel.services.bookmarks.BookmarkServic
> > > > > > eD
> > > > > > ef
> > > > > > au
> > > > > > lt@4acd2ea5 into SimpleObjectsFixturesService@2f65e5ba[]
> > > > > > 22:52:01,712  [ServicesInjectorDefault main       DEBUG]
> injected
> > > > > > org.apache.isis.applib.services.classdiscovery.ClassDiscoverySer
> > > > > > vi
> > > > > > ce
> > > > > > Us
> > > > > > ingReflections@64b17900 into
> SimpleObjectsFixturesService@2f65e5ba
> > []
> > > > > > 22:52:01,712  [ServicesInjectorDefault main       DEBUG]
> injected
> > > > > > org.apache.isis.core.metamodel.services.container.DomainObjectCo
> > > > > > nt
> > > > > > ai
> > > > > > ne
> > > > > > rDefault@397c8a21 into SimpleObjectsFixturesService@2f65e5ba[]
> > > > > > 22:52:01,712  [ServicesInjectorDefault main       DEBUG]
> injected
> > > > > > org.apache.isis.core.metamodel.services.bookmarks.BookmarkServic
> > > > > > eD
> > > > > > ef
> > > > > > au
> > > > > > lt@4acd2ea5 into BookmarkHolderActionContributions@3f7f22a5[]
> > > > > > 22:52:01,712  [ServicesInjectorDefault main       DEBUG]
> injected
> > > > > > org.apache.isis.core.metamodel.services.container.DomainObjectCo
> > > > > > nt
> > > > > > ai
> > > > > > ne
> > > > > > rDefault@397c8a21 into
> > > > > > ClassDiscoveryServiceUsingReflections@64b17900[]
> > > > > > 22:52:01,712  [ServicesInjectorDefault main       DEBUG]
> injected
> > > > > > org.apache.isis.core.wrapper.WrapperFactoryDefault@33bb9f34 into
> > > > > > BookmarkServiceDefault@4acd2ea5[]
> > > > > > 22:52:01,712  [ServicesInjectorDefault main       DEBUG]
> injected
> > > > > > org.apache.isis.core.wrapper.WrapperFactoryDefault@33bb9f34 into
> > > > > > DomainObjectContainerDefault@397c8a21[]
> > > > > > 22:52:01,712  [ServicesInjectorDefault main       DEBUG]
> injected
> > > > > > org.apache.isis.core.metamodel.services.bookmarks.BookmarkServic
> > > > > > eD
> > > > > > ef
> > > > > > au
> > > > > > lt@4acd2ea5 into BackgroundServiceDefault@4898c8f9[]
> > > > > > 22:52:01,712  [ServicesInjectorDefault main       DEBUG]
> injected
> > > > > > org.apache.isis.core.runtime.services.ServiceInstantiator$2@26b2
> > > > > > 78 ab into BackgroundServiceDefault@4898c8f9[]
> > > > > > 22:52:01,727  [ObjectReflectorDefault main       DEBUG]
> > initialising
> > > > > >
> > > > org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault@1e6
> > > > 14
> > > > 4db
> > > > > > 22:52:01,727  [ServicesInjectorDefault main       DEBUG]
> injected
> > > > > > org.apache.isis.core.metamodel.services.container.DomainObjectCo
> > > > > > nt
> > > > > > ai
> > > > > > ne
> > > > > > rDefault@397c8a21
> > > > > > into SimpleObjects@529d935d[]
> > > > > > 22:52:01,727  [ServicesInjectorDefault main       DEBUG]
> injected
> > > > > > org.apache.isis.core.runtime.services.memento.MementoServiceDefa
> > > > > > ul t@ 6c dd377c into SimpleObjectsFixturesService@2f65e5ba[]
> > > > > > 22:52:01,727  [ServicesInjectorDefault main       DEBUG]
> injected
> > > > > > org.apache.isis.core.metamodel.services.bookmarks.BookmarkServic
> > > > > > eD
> > > > > > ef
> > > > > > au
> > > > > > lt@4acd2ea5 into SimpleObjectsFixturesService@2f65e5ba[]
> > > > > > 22:52:01,727  [ServicesInjectorDefault main       DEBUG]
> injected
> > > > > > org.apache.isis.applib.services.classdiscovery.ClassDiscoverySer
> > > > > > vi
> > > > > > ce
> > > > > > Us
> > > > > > ingReflections@64b17900 into
> SimpleObjectsFixturesService@2f65e5ba
> > []
> > > > > > 22:52:01,727  [ServicesInjectorDefault main       DEBUG]
> injected
> > > > > > org.apache.isis.core.metamodel.services.container.DomainObjectCo
> > > > > > nt
> > > > > > ai
> > > > > > ne
> > > > > > rDefault@397c8a21 into SimpleObjectsFixturesService@2f65e5ba[]
> > > > > > 22:52:01,727  [ServicesInjectorDefault main       DEBUG]
> injected
> > > > > > org.apache.isis.core.metamodel.services.bookmarks.BookmarkServic
> > > > > > eD
> > > > > > ef
> > > > > > au
> > > > > > lt@4acd2ea5 into BookmarkHolderActionContributions@3f7f22a5[]
> > > > > > 22:52:01,727  [ServicesInjectorDefault main       DEBUG]
> injected
> > > > > > org.apache.isis.core.metamodel.services.container.DomainObjectCo
> > > > > > nt
> > > > > > ai
> > > > > > ne
> > > > > > rDefault@397c8a21 into
> > > > > > ClassDiscoveryServiceUsingReflections@64b17900[]
> > > > > > 22:52:01,727  [ServicesInjectorDefault main       DEBUG]
> injected
> > > > > > org.apache.isis.core.wrapper.WrapperFactoryDefault@33bb9f34 into
> > > > > > BookmarkServiceDefault@4acd2ea5[]
> > > > > > 22:52:01,727  [ServicesInjectorDefault main       DEBUG]
> injected
> > > > > > org.apache.isis.core.wrapper.WrapperFactoryDefault@33bb9f34 into
> > > > > > DomainObjectContainerDefault@397c8a21[]
> > > > > > 22:52:01,727  [ServicesInjectorDefault main       DEBUG]
> injected
> > > > > > org.apache.isis.core.metamodel.services.bookmarks.BookmarkServic
> > > > > > eD
> > > > > > ef
> > > > > > au
> > > > > > lt@4acd2ea5 into BackgroundServiceDefault@4898c8f9[]
> > > > > > 22:52:01,727  [ServicesInjectorDefault main       DEBUG]
> injected
> > > > > > org.apache.isis.core.runtime.services.ServiceInstantiator$2@26b2
> > > > > > 78 ab into BackgroundServiceDefault@4898c8f9[]
> > > > > > 22:52:14,042  [ObjectSpecificationAbstract main       DEBUG]
> > > > > Superclass
> > > > > > java.lang.Object
> > > > > > 22:52:14,152  [ObjectSpecificationAbstract main       DEBUG]
> > > > > Superclass
> > > > > > java.lang.Object
> > > > > > 22:52:14,167  [IsisWicketApplication main       ERROR]  Failed to
> > > > > > initialize
> > > > > > com.google.inject.ProvisionException: Guice provision errors:
> > > > > >
> > > > > > 1) Error in custom provider, java.lang.NullPointerException
> > > > > >   at
> > > > > >
> > > > > org.apache.isis.core.runtime.runner.IsisInjectModule.provideIsisSy
> > > > > st
> > > > > em
> > > > > (IsisInjectModule.java:132)
> > > > > >   at
> > > > > >
> > > > > org.apache.isis.core.runtime.runner.IsisInjectModule.provideIsisSy
> > > > > st
> > > > > em
> > > > > (IsisInjectModule.java:132)
> > > > > >   while locating org.apache.isis.core.runtime.system.IsisSystem
> > > > > >     for field at
> > > > > >
> > > > > org.apache.isis.viewer.wicket.viewer.IsisWicketApplication.system(
> > > > > Is
> > > > > is
> > > > > WicketApplication.java:138)
> > > > > >   while locating webapp.SimpleApplication
> > > > > >
> > > > > > 1 error
> > > > > >        at
> > > > > >
> > > > > com.google.inject.internal.Errors.throwProvisionExceptionIfErrorsE
> > > > > xi
> > > > > st
> > > > > (Errors.java:451)
> > > > > >        at
> > > > > >
> > > > > com.google.inject.internal.MembersInjectorImpl.injectMembers(Membe
> > > > > rs
> > > > > In
> > > > > jectorImpl.java:65)
> > > > > >        at
> > > > > >
> > > > > com.google.inject.internal.InjectorImpl.injectMembers(InjectorImpl
> > > > > .j
> > > > > av
> > > > > a:944)
> > > > > >        at
> > > > > >
> > > > > org.apache.isis.viewer.wicket.viewer.IsisWicketApplication.init(Is
> > > > > is
> > > > > Wi
> > > > > cketApplication.java:248)
> > > > > >        at
> webapp.SimpleApplication.init(SimpleApplication.java:81)
> > > > > >        at
> > > > > >
> org.apache.wicket.Application.initApplication(Application.java:823)
> > > > > >        at
> > > > > >
> > > > org.apache.wicket.protocol.http.WicketFilter.init(WicketFilter.java:
> > > > 42
> > > > 4)
> > > > > >        at
> > > > > >
> > > > org.apache.wicket.protocol.http.WicketFilter.init(WicketFilter.java:
> > > > 35
> > > > 1)
> > > > > >        at
> > > > > >
> > org.mortbay.jetty.servlet.FilterHolder.doStart(FilterHolder.java:97)
> > > > > >        at
> > > > > >
> > > > org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java
> > > > :5
> > > > 0)
> > > > > >        at
> > > > > >
> > > > > org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler
> > > > > .j
> > > > > av
> > > > > a:713)
> > > > > >        at
> > > > > org.mortbay.jetty.servlet.Context.startContext(Context.java:140)
> > > > > >        at
> > > > > >
> > > > > org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.
> > > > > ja
> > > > > va
> > > > > :1282)
> > > > > >        at
> > > > > >
> > > > org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java
> > > > :5
> > > > 18)
> > > > > >        at
> > > > > >
> > org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:499)
> > > > > >        at
> > > > > >
> > > > > org.mortbay.jetty.plugin.Jetty6PluginWebAppContext.doStart(Jetty6P
> > > > > lu
> > > > > gi
> > > > > nWebAppContext.java:115)
> > > > > >        at
> > > > > >
> > > > org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java
> > > > :5
> > > > 0)
> > > > > >        at
> > > > > >
> > > > >
> > org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.
> > > > > java:152)
> > > > > >        at
> > > > > >
> > > > > org.mortbay.jetty.handler.ContextHandlerCollection.doStart(Context
> > > > > Ha
> > > > > nd
> > > > > lerCollection.java:156)
> > > > > >        at
> > > > > >
> > > > org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java
> > > > :5
> > > > 0)
> > > > > >        at
> > > > > >
> > > > >
> > org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.
> > > > > java:152)
> > > > > >        at
> > > > > >
> > > > org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java
> > > > :5
> > > > 0)
> > > > > >        at
> > > > > >
> > > > org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java
> > > > :1
> > > > 30)
> > > > > >        at org.mortbay.jetty.Server.doStart(Server.java:224)
> > > > > >        at
> > > > > >
> > > > org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java
> > > > :5
> > > > 0)
> > > > > >        at
> > > > > >
> > > > > org.mortbay.jetty.plugin.Jetty6PluginServer.start(Jetty6PluginServ
> > > > > er
> > > > > .j
> > > > > ava:132)
> > > > > >        at
> > > > > >
> > > > > org.mortbay.jetty.plugin.AbstractJettyMojo.startJetty(AbstractJett
> > > > > yM
> > > > > oj
> > > > > o.java:454)
> > > > > >        at
> > > > > >
> > > > > org.mortbay.jetty.plugin.AbstractJettyMojo.execute(AbstractJettyMo
> > > > > jo
> > > > > .j
> > > > > ava:396)
> > > > > >        at
> > > > > >
> > > > > org.mortbay.jetty.plugin.AbstractJettyRunMojo.execute(AbstractJett
> > > > > yR
> > > > > un
> > > > > Mojo.java:210)
> > > > > >        at
> > > > > >
> > org.mortbay.jetty.plugin.Jetty6RunMojo.execute(Jetty6RunMojo.java:184)
> > > > > >        at
> > > > > >
> > > > > org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(Defa
> > > > > ul
> > > > > tB
> > > > > uildPluginManager.java:106)
> > > > > >        at
> > > > > >
> > > > >
> > org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.
> > > > > java:208)
> > > > > >        at
> > > > > >
> > > > >
> > org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.
> > > > > java:153)
> > > > > >        at
> > > > > >
> > > > >
> > org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.
> > > > > java:145)
> > > > > >        at
> > > > > >
> > > > > org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildPr
> > > > > oj
> > > > > ec
> > > > > t(LifecycleModuleBuilder.java:84)
> > > > > >        at
> > > > > >
> > > > > org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildPr
> > > > > oj
> > > > > ec
> > > > > t(LifecycleModuleBuilder.java:59)
> > > > > >        at
> > > > > >
> > > > > org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreade
> > > > > dB
> > > > > ui
> > > > > ld(LifecycleStarter.java:183)
> > > > > >        at
> > > > > >
> > > > > org.apache.maven.lifecycle.internal.LifecycleStarter.execute(Lifec
> > > > > yc
> > > > > le
> > > > > Starter.java:161)
> > > > > >        at
> > > > org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:317)
> > > > > >        at
> > org.apache.maven.DefaultMaven.execute(DefaultMaven.java:152)
> > > > > >        at
> org.apache.maven.cli.MavenCli.execute(MavenCli.java:555)
> > > > > >        at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:214)
> > > > > >        at org.apache.maven.cli.MavenCli.main(MavenCli.java:158)
> > > > > >        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
> > Method)
> > > > > >        at
> > > > > >
> > > > > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorIm
> > > > > pl
> > > > > .j
> > > > > ava:57)
> > > > > >        at
> > > > > >
> > > > > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAc
> > > > > ce
> > > > > ss
> > > > > orImpl.java:43)
> > > > > >        at java.lang.reflect.Method.invoke(Method.java:606)
> > > > > >        at
> > > > > >
> > > > > org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(L
> > > > > au
> > > > > nc
> > > > > her.java:289)
> > > > > >        at
> > > > > >
> > > > > org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.
> > > > > ja
> > > > > va
> > > > > :229)
> > > > > >        at
> > > > > >
> > > > > org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode
> > > > > (L
> > > > > au
> > > > > ncher.java:415)
> > > > > >        at
> > > > > >
> > > > org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java
> > > > :3
> > > > 56)
> > > > > >        at
> > > > > > org.codehaus.classworlds.Launcher.main(Launcher.java:46)
> > > > > > Caused by: java.lang.NullPointerException
> > > > > >        at
> > > > > >
> > > > > org.apache.isis.core.metamodel.specloader.classsubstitutor.ClassSu
> > > > > bs
> > > > > ti
> > > > > tutor.getClass(ClassSubstitutor.java:54)
> > > > > >        at
> > > > > >
> > > > > org.apache.isis.core.metamodel.specloader.classsubstitutor.ClassSu
> > > > > bs
> > > > > ti
> > > > > tutor.getClass(ClassSubstitutor.java:55)
> > > > > >        at
> > > > > >
> > > > > org.apache.isis.core.metamodel.specloader.specimpl.dflt.ObjectSpec
> > > > > if
> > > > > ic
> > > > > ationDefault.introspectTypeHierarchyAndMembers(ObjectSpecification
> > > > > De
> > > > > fa
> > > > > ult.java:146)
> > > > > >        at
> > > > > >
> > > > > org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.i
> > > > > nt
> > > > > ro
> > > > > spectIfRequired(ObjectReflectorDefault.java:499)
> > > > > >        at
> > > > > >
> > > > > org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.l
> > > > > oa
> > > > > dS
> > > > > pecificationForSubstitutedClass(ObjectReflectorDefault.java:400)
> > > > > >        at
> > > > > >
> > > > > org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.i
> > > > > nt
> > > > > er
> > > > > nalLoadSpecification(ObjectReflectorDefault.java:378)
> > > > > >        at
> > > > > >
> > > > > org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.l
> > > > > oa
> > > > > dS
> > > > > pecifications(ObjectReflectorDefault.java:415)
> > > > > >        at
> > > > > >
> > > > > org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.l
> > > > > oa
> > > > > dS
> > > > > pecifications(ObjectReflectorDefault.java:428)
> > > > > >        at
> > > > > >
> > > > > org.apache.isis.core.metamodel.specloader.specimpl.FacetedMethodsB
> > > > > ui
> > > > > ld
> > > > > er.representsAction(FacetedMethodsBuilder.java:455)
> > > > > >        at
> > > > > >
> > > > > org.apache.isis.core.metamodel.specloader.specimpl.FacetedMethodsB
> > > > > ui
> > > > > ld
> > > > > er.findActionFacetedMethod(FacetedMethodsBuilder.java:404)
> > > > > >        at
> > > > > >
> > > > > org.apache.isis.core.metamodel.specloader.specimpl.FacetedMethodsB
> > > > > ui
> > > > > ld
> > > > > er.findActionFacetedMethods(FacetedMethodsBuilder.java:388)
> > > > > >        at
> > > > > >
> > > > > org.apache.isis.core.metamodel.specloader.specimpl.FacetedMethodsB
> > > > > ui
> > > > > ld
> > > > > er.findActionFacetedMethods(FacetedMethodsBuilder.java:367)
> > > > > >        at
> > > > > >
> > > > > org.apache.isis.core.metamodel.specloader.specimpl.FacetedMethodsB
> > > > > ui
> > > > > ld
> > > > > er.getActionFacetedMethods(FacetedMethodsBuilder.java:343)
> > > > > >        at
> > > > > >
> > > > > org.apache.isis.core.metamodel.specloader.specimpl.dflt.ObjectSpec
> > > > > if
> > > > > ic
> > > > > ationDefault.createActions(ObjectSpecificationDefault.java:222)
> > > > > >        at
> > > > > >
> > > > > org.apache.isis.core.metamodel.specloader.specimpl.dflt.ObjectSpec
> > > > > if
> > > > > ic
> > > > > ationDefault.introspectTypeHierarchyAndMembers(ObjectSpecification
> > > > > De
> > > > > fa
> > > > > ult.java:167)
> > > > > >        at
> > > > > >
> > > > > org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.i
> > > > > nt
> > > > > ro
> > > > > spectIfRequired(ObjectReflectorDefault.java:499)
> > > > > >        at
> > > > > >
> > > > > org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.l
> > > > > oa
> > > > > dS
> > > > > pecificationForSubstitutedClass(ObjectReflectorDefault.java:400)
> > > > > >        at
> > > > > >
> > > > > org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.i
> > > > > nt
> > > > > er
> > > > > nalLoadSpecification(ObjectReflectorDefault.java:378)
> > > > > >        at
> > > > > >
> > > > > org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.p
> > > > > ri
> > > > > me
> > > > > Cache(ObjectReflectorDefault.java:269)
> > > > > >        at
> > > > > >
> > > > > org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.i
> > > > > ni
> > > > > tA
> > > > > ndValidate(ObjectReflectorDefault.java:244)
> > > > > >        at
> > > > > >
> > > > > org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.i
> > > > > ni
> > > > > t(
> > > > > ObjectReflectorDefault.java:205)
> > > > > >        at
> > > > > >
> > > > >
> > org.apache.isis.core.runtime.system.session.IsisSessionFactoryDefault.
> > > > > init(IsisSessionFactoryDefault.java:192)
> > > > > >        at
> > > > > >
> > > > > org.apache.isis.core.runtime.system.IsisSystemFixturesHookAbstract
> > > > > .i
> > > > > ni
> > > > > t(IsisSystemFixturesHookAbstract.java:120)
> > > > > >        at
> > > > > >
> > > > > org.apache.isis.core.runtime.runner.IsisInjectModule.provideIsisSy
> > > > > st
> > > > > em
> > > > > (IsisInjectModule.java:133)
> > > > > >        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
> > Method)
> > > > > >        at
> > > > > >
> > > > > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorIm
> > > > > pl
> > > > > .j
> > > > > ava:57)
> > > > > >        at
> > > > > >
> > > > > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAc
> > > > > ce
> > > > > ss
> > > > > orImpl.java:43)
> > > > > >        at java.lang.reflect.Method.invoke(Method.java:606)
> > > > > >        at
> > > > > >
> > com.google.inject.internal.ProviderMethod.get(ProviderMethod.java:104)
> > > > > >        at
> > > > > >
> > > > > com.google.inject.internal.InternalFactoryToProviderAdapter.get(In
> > > > > te
> > > > > rn
> > > > > alFactoryToProviderAdapter.java:40)
> > > > > >        at
> > > > > >
> > > > > com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call
> > > > > (P
> > > > > ro
> > > > > viderToInternalFactoryAdapter.java:46)
> > > > > >        at
> > > > > >
> > > > > com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl
> > > > > .j
> > > > > av
> > > > > a:1031)
> > > > > >        at
> > > > > >
> > > > > com.google.inject.internal.ProviderToInternalFactoryAdapter.get(Pr
> > > > > ov
> > > > > id
> > > > > erToInternalFactoryAdapter.java:40)
> > > > > >        at com.google.inject.Scopes$1$1.get(Scopes.java:65)
> > > > > >        at
> > > > > >
> > > > > com.google.inject.internal.InternalFactoryToProviderAdapter.get(In
> > > > > te
> > > > > rn
> > > > > alFactoryToProviderAdapter.java:40)
> > > > > >        at
> > > > > >
> > > > > com.google.inject.internal.SingleFieldInjector.inject(SingleFieldI
> > > > > nj
> > > > > ec
> > > > > tor.java:53)
> > > > > >        at
> > > > > >
> > > > > com.google.inject.internal.MembersInjectorImpl.injectMembers(Membe
> > > > > rs
> > > > > In
> > > > > jectorImpl.java:110)
> > > > > >        at
> > > > > >
> > > > > com.google.inject.internal.MembersInjectorImpl$1.call(MembersInjec
> > > > > to
> > > > > rI
> > > > > mpl.java:75)
> > > > > >        at
> > > > > >
> > > > > com.google.inject.internal.MembersInjectorImpl$1.call(MembersInjec
> > > > > to
> > > > > rI
> > > > > mpl.java:73)
> > > > > >        at
> > > > > >
> > > > > com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl
> > > > > .j
> > > > > av
> > > > > a:1024)
> > > > > >        at
> > > > > >
> > > > > com.google.inject.internal.MembersInjectorImpl.injectAndNotify(Mem
> > > > > be
> > > > > rs
> > > > > InjectorImpl.java:73)
> > > > > >        at
> > > > > >
> > > > > com.google.inject.internal.MembersInjectorImpl.injectMembers(Membe
> > > > > rs
> > > > > In
> > > > > jectorImpl.java:60)
> > > > > >        ... 50 more
> > > > > > 22:52:14,167  [WicketFilter         main       ERROR]  The
> > > > initialization
> > > > > > of an application with name 'WicketFilter' has failed.
> > > > > > com.google.inject.ProvisionException: Guice provision errors:
> > > > > >
> > > > > >
> > > > > >
> > > > > > ________________________________
> > > > > >
> > > > > > This e-mail may contain Sprint proprietary information intended
> > > > > > for the sole use of the recipient(s). Any use by others is
> > prohibited.
> > > > > > If you are not the intended recipient, please contact the sender
> > > > > > and delete all copies of the message.
> > > > > >
> > > > > > ________________________________
> > > > > >
> > > > > > This e-mail may contain Sprint proprietary information intended
> > > > > > for the sole use of the recipient(s). Any use by others is
> > prohibited.
> > > > > > If you are not the intended recipient, please contact the sender
> > > > > > and delete all copies of the message.
> > > > > >
> > > > >
> > > > > ________________________________
> > > > >
> > > > > This e-mail may contain Sprint proprietary information intended
> > > > > for the sole use of the recipient(s). Any use by others is
> > prohibited.
> > > > > If you are not the intended recipient, please contact the sender
> > > > > and delete all copies of the message.
> > > > >
> > > >
> > > > ________________________________
> > > >
> > > > This e-mail may contain Sprint proprietary information intended for
> > > > the sole use of the recipient(s). Any use by others is prohibited.
> > > > If you are not the intended recipient, please contact the sender and
> > > > delete all copies of the message.
> > > >
> > >
> > > ________________________________
> > >
> > > This e-mail may contain Sprint proprietary information intended for
> > > the
> > sole use of the recipient(s). Any use by others is prohibited. If you are
> > not the intended recipient, please contact the sender and delete all
> copies
> > of the message.
> > >
> > > ________________________________
> > >
> > > This e-mail may contain Sprint proprietary information intended for
> > > the
> > sole use of the recipient(s). Any use by others is prohibited. If you are
> > not the intended recipient, please contact the sender and delete all
> copies
> > of the message.
> > >
> > > ________________________________
> > >
> > > This e-mail may contain Sprint proprietary information intended for
> > > the
> > sole use of the recipient(s). Any use by others is prohibited. If you are
> > not the intended recipient, please contact the sender and delete all
> copies
> > of the message.
> >
> > ________________________________
> >
> > This e-mail may contain Sprint proprietary information intended for the
> > sole use of the recipient(s). Any use by others is prohibited. If you are
> > not the intended recipient, please contact the sender and delete all
> copies
> > of the message.
> >
>
> ________________________________
>
> This e-mail may contain Sprint proprietary information intended for the
> sole use of the recipient(s). Any use by others is prohibited. If you are
> not the intended recipient, please contact the sender and delete all copies
> of the message.
>

________________________________

This e-mail may contain Sprint proprietary information intended for the sole use of the recipient(s). Any use by others is prohibited. If you are not the intended recipient, please contact the sender and delete all copies of the message.

________________________________

This e-mail may contain Sprint proprietary information intended for the sole use of the recipient(s). Any use by others is prohibited. If you are not the intended recipient, please contact the sender and delete all copies of the message.

RE: Working on a branch with latest datanucleus

Posted by "Branham, Jeremy [HR]" <Je...@sprint.com>.
I've now added another facet to remove the method names that start with 'dn'.

Yes, I did change the DB url from mem to file because I suspected something funny was happening to the tables.
When I swapped back to mem, these errors started occurring.
For some reason the tables are not getting created until this test runs - integration.tests.ToDoItemsIntegTest$NewToDo_and_Delete
So all tests before it are failing.

I've changed a couple properties in 'IsisConfigurationForJdoIntegTests' to be compatible with DN 4.x

        addDataNucleusProperty("datanucleus.schema.autoCreateAll", "true");
        addDataNucleusProperty("datanucleus.schema.validateTables", "false");
        addDataNucleusProperty("datanucleus.schema.validateConstraints", "false");
        addDataNucleusProperty("datanucleus.rdbms.CheckExistTablesOrViews", "true");

And also tried separately-

        //addDataNucleusProperty("datanucleus.schema.autoCreateAll", "true");
        addDataNucleusProperty("datanucleus.schema.autoCreateSchema", "true");
        addDataNucleusProperty("datanucleus.schema.autoCreateTables", "true");
        addDataNucleusProperty("datanucleus.schema.autoCreateColumns", "true");
        addDataNucleusProperty("datanucleus.schema.autoCreateConstraints", "true");


Maybe the table creation strategy has changed in DN 4.
Should there be an explicit table creation added somewhere in the fixture setups?



Jeremy D. Branham
Tel: **DOTNET


-----Original Message-----
From: Dan Haywood [mailto:dan@haywood-associates.co.uk]
Sent: Wednesday, December 31, 2014 12:27 AM
To: users
Subject: Re: Working on a branch with latest datanucleus

On 31 December 2014 at 02:36, Branham, Jeremy [HR] <
Jeremy.D.Branham@sprint.com> wrote:

> I'm loving IDEA. Debugging is better, and the Maven integration works
> great.
> Glad I can finally be part of the 'cool kids'.
> When I was younger, geek != cool; and I only knew one other kid with an
> Amiga - but he edged on the side of nerd ;-)
>
>
Nice.



> Thanks for the info on the stack trace. I don’t understand object mapping
> yet, but I'm getting there.
>
> Question -
> Should the Object Specification contain enhanced method names?
> Example -
>  "public java.lang.String dom.todo.ToDoItem.dnGetnotes()" -> "Action
> [id=dnGetnotes,name='Dn
> Getnotes',type=USER,returns=ObjectSpecificationDefault@233d897[class=java.lang.String,type=Object,persistable=User
> Persistable,superclass=Object],parameters={}]"
>
>
No, it shouldn't.  You may need to write an addtional facet factory to get
it to ignore those methods generated by the enhancer.

Navigate > Class : Remove*FacetFactory

should show you some examples to crib from.  Register new ones
in ProgrammingModelFacetsJava5 or via isis.properties
using isis.reflector.facets.include (as per
http://isis.apache.org/more-advanced-topics/metamodel-finetuning-the-programming-model.html
).



>
>  [moved on to a new exception now]
> I know this is a generic error, "user lacks privilege or object not
> found", but the stack trace may indicate something I'm not seeing.
>
>
Not much to see other than the SQL delete we do in the fixtures is failing
to find the "ToDoItem" table in the database.

Kind of odd that this is being thrown now for you; I got the impression
that this was working.  It ought to, because by default we run with an
inmemory HSQLDB so we create that table first.

Have you changed the JDBC connection URL etc?


Dan



>
> canBeUpToSixDaysInPast(integration.tests.ToDoItemIntegTest$Properties$DueBy)
> Time elapsed: 0.003 sec  <<< ERROR!
> org.apache.isis.core.runtime.persistence.ObjectPersistenceException:
> Failed to executeSql: delete from "ToDoItem" where "ownedBy" = 'tester'
> at
> org.apache.isis.objectstore.jdo.datanucleus.service.support.IsisJdoSupportImpl.executeUpdate(IsisJdoSupportImpl.java:145)
> at
> org.apache.isis.objectstore.jdo.datanucleus.service.support.IsisJdoSupportImpl.executeUpdate(IsisJdoSupportImpl.java:104)
> at
> fixture.todo.items.delete.ToDoItemsDelete.execute(ToDoItemsDelete.java:29)
> at
> org.apache.isis.applib.fixturescripts.FixtureScript$ExecutionContext.executeChildIfNotAlready(FixtureScript.java:408)
> at
> org.apache.isis.applib.fixturescripts.FixtureScript$ExecutionContext.executeChild(FixtureScript.java:389)
> at
> org.apache.isis.applib.fixturescripts.FixtureScript$ExecutionContext.executeChild(FixtureScript.java:374)
> at
> fixture.todo.scenarios.ToDoItemsRecreateAndCompleteSeveral.execute(ToDoItemsRecreateAndCompleteSeveral.java:66)
> at
> org.apache.isis.applib.fixturescripts.FixtureScript$ExecutionContext.executeChildIfNotAlready(FixtureScript.java:408)
> at
> org.apache.isis.applib.fixturescripts.FixtureScript$ExecutionContext.access$100(FixtureScript.java:242)
> at
> org.apache.isis.applib.fixturescripts.FixtureScript.run(FixtureScript.java:504)
> at
> org.apache.isis.applib.fixturescripts.FixtureScripts.runFixtureScript(FixtureScripts.java:266)
> at
> fixture.todo.ToDoItemsFixturesService.runFixtureScript(ToDoItemsFixturesService.java:58)
> at integration.tests.ToDoItemIntegTest.setUpData(ToDoItemIntegTest.java:70)
> at sun.reflect.GeneratedMethodAccessor15.invoke(Unknown Source)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:606)
> 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.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
> at
> org.apache.isis.core.integtestsupport.IntegrationTestAbstract$IsisTransactionRule$1.evaluate(IntegrationTestAbstract.java:199)
> at
> org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2$1.evaluate(JUnitRuleMockery2.java:146)
> 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.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:264)
> at
> org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:153)
> at
> org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:124)
> at
> org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:200)
> at
> org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:153)
> at
> org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:103)
> Caused by: java.sql.SQLSyntaxErrorException: user lacks privilege or
> object not found: ToDoItem
> at org.hsqldb.jdbc.JDBCUtil.sqlException(Unknown Source)
> at org.hsqldb.jdbc.JDBCUtil.sqlException(Unknown Source)
> at org.hsqldb.jdbc.JDBCStatement.fetchResult(Unknown Source)
> at org.hsqldb.jdbc.JDBCStatement.executeUpdate(Unknown Source)
> at
> org.datanucleus.store.rdbms.datasource.dbcp.DelegatingStatement.executeUpdate(DelegatingStatement.java:210)
> at
> org.datanucleus.store.rdbms.datasource.dbcp.DelegatingStatement.executeUpdate(DelegatingStatement.java:210)
> at
> org.apache.isis.objectstore.jdo.datanucleus.service.support.IsisJdoSupportImpl.executeUpdate(IsisJdoSupportImpl.java:142)
>
>
>
> Jeremy D. Branham
> Tel: **DOTNET
>
>
> -----Original Message-----
> From: Dan Haywood [mailto:dan@haywood-associates.co.uk]
> Sent: Tuesday, December 30, 2014 12:36 PM
> To: users
> Subject: Re: Working on a branch with latest datanucleus
>
> On 30 December 2014 at 17:28, Branham, Jeremy [HR] <
> Jeremy.D.Branham@sprint.com> wrote:
>
> > Thanks, I've downloaded IDEA to give it a go.
> >
> >
> Like Martin, I'm also an ex-Eclipse user (2003 to 2014 !) and used IDEA in
> 2011 but missed Eclipse's incremental compilation.  Now that IDEA supports
> that feature, it's definitely superior.  In particular, because there's no
> dependency on the slightly flaky Eclipse DataNucleus plugin, it makes for a
> better developer experience.
>
> And its's also nice to be using the same tool as all the cool kids!
>
>
>
>
> >
> > Any thoughts on this?
> >
> >
> I can tell you what the error means, but not sure (exactly) how to fix it.
>
> In Isis we maintain two hashmaps which map from the pojo -> ObjectAdapter
> and from the OID to the ObjectAdapter.
>
> Historically Isis didn't use JDO/DataNucleus, and so it used these hashmaps
> to manage the lifecycle of the objects.  For example, the OID and
> ObjectAdapter between them keep track of the lazy loading.
>
> However, since we now use JDO/DataNucleus, which performs its own lazy
> loading etc, it means that Isis' maps is basically subservient to JDO, and
> (I strongly suspect) is actually redundant.  There's a class
> called FrameworkSynchronizer which adds a bunch of listeners to the JDO
> runtime, and aims to keep Isis' maps in sync.  With DN 3.x this all seems
> to work reliably enough.
>
> Anyway, as you can see in the stacktrace, what's happening with your branch
> is that things have got out of whack.
>
> My intention to deal with all this ugliness is basically to get rid of
> those two hashmaps, and instead to simply instantiate and then discard the
> ObjectAdapters whenever they are needed.  But I haven't done the analysis
> on the methods of ObjectAdapter and Oid to figure out if there's any impact
> on any of that.
>
> Just looking at your particular stack trace, it seems that the error is
> being thrown immediately when the objects being loaded are mapped (in
> loadInstancesAndAdapt). That suggests in turn that the map was in an
> invalid state from the previous interaction; or perhaps things didn't get
> cleared down at the end of the previous interaction.
>
> Or... perhaps there's a (new?) error in the Oid class so that it no longer
> acting correctly as a value type as the key in the Oid/adapter map.
>
> Hope that some of the above helps you figure out the issue....
>
> Cheers
> Dan
>
>
>
> > .......
> > 22:15:23,207  [AdapterManagerDefault main       DEBUG]
> remapAsPersistent:
> >
> !org.apache.isis.objectstore.jdo.datanucleus.service.support.IsisJdoSupportImpl:c51ca8f2-48d1-412b-979c-11622a382faf
> > 22:15:23,207  [AdapterManagerDefault main       DEBUG]  removing root
> > adapter from oid map
> > 22:15:23,207  [OidAdapterHashMap    main       DEBUG]  remove oid:
> >
> !org.apache.isis.objectstore.jdo.datanucleus.service.support.IsisJdoSupportImpl:c51ca8f2-48d1-412b-979c-11622a382faf
> > 22:15:23,207  [AdapterManagerDefault main       DEBUG]  removing
> > collection adapter(s) from oid map
> > 22:15:23,207  [AdapterManagerDefault main       DEBUG]  updating the Oid
> > 22:15:23,207  [AdapterManagerDefault main       DEBUG]  replacing Oid for
> > root adapter and re-adding into maps; oid is now:
> >
> org.apache.isis.objectstore.jdo.datanucleus.service.support.IsisJdoSupportImpl:1
> > (was:
> >
> !org.apache.isis.objectstore.jdo.datanucleus.service.support.IsisJdoSupportImpl:c51ca8f2-48d1-412b-979c-11622a382faf)
> > 22:15:23,207  [OidAdapterHashMap    main       DEBUG]  add oid:
> >
> org.apache.isis.objectstore.jdo.datanucleus.service.support.IsisJdoSupportImpl:1
> > ; oid.hashCode: + #102ac45e ; adapter.hashCode(): #5e65eee4
> > 22:15:23,207  [AdapterManagerDefault main       DEBUG]  replacing Oids
> for
> > collection adapter(s) and re-adding into maps
> > 22:15:23,207  [AdapterManagerDefault main       DEBUG]  synchronizing
> > collection pojos, remapping in pojo map if required
> > 22:15:23,207  [AdapterManagerDefault main       DEBUG]  made persistent
> > PojoAdapter@5e65eee4
> >
> [PR~:org.apache.isis.objectstore.jdo.datanucleus.service.support.IsisJdoSupportImpl:1,specification=IsisJdoSupportImpl,version=null,pojo-toString=org.apache.isis.objectstore.jdo.datanucleus.service.support.IsisJdoSupportImpl@1dd1b36
> ,pojo-hash=#1dd1b36];
> > was
> >
> !org.apache.isis.objectstore.jdo.datanucleus.service.support.IsisJdoSupportImpl:c51ca8f2-48d1-412b-979c-11622a382faf
> > Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0.051 sec
> > <<< FAILURE! - in integration.tests.ToDoItemsIntegTest$Finders
> > complete_and_notYetComplete(integration.tests.ToDoItemsIntegTest$Finders)
> > Time elapsed: 0.051 sec  <<< ERROR!
> > java.lang.RuntimeException: java.lang.IllegalArgumentException: mismatch
> > in OidAdapter map: adapter's Oid: TODO:1^1:tester:, provided adapter's
> OID:
> > TODO:1^1:tester:; map's adapter's Oid: TODO:1^1:tester:
> > at
> org.apache.isis.core.commons.ensure.Ensure.ensureThatArg(Ensure.java:75)
> > at
> >
> org.apache.isis.core.runtime.persistence.adaptermanager.AdapterManagerDefault.ensureOidAdapterMapConsistent(AdapterManagerDefault.java:810)
> > at
> >
> org.apache.isis.core.runtime.persistence.adaptermanager.AdapterManagerDefault.ensureMapsConsistent(AdapterManagerDefault.java:780)
> > at
> >
> org.apache.isis.core.runtime.persistence.adaptermanager.AdapterManagerDefault.removeAdapter(AdapterManagerDefault.java:459)
> > at
> >
> org.apache.isis.core.runtime.persistence.adaptermanager.AdapterManagerDefault.remapRecreatedPojo(AdapterManagerDefault.java:368)
> > at
> >
> org.apache.isis.objectstore.jdo.datanucleus.persistence.FrameworkSynchronizer$1.run(FrameworkSynchronizer.java:95)
> > at
> >
> org.apache.isis.objectstore.jdo.datanucleus.persistence.FrameworkSynchronizer$8.call(FrameworkSynchronizer.java:352)
> > at
> >
> org.apache.isis.objectstore.jdo.datanucleus.persistence.FrameworkSynchronizer$8.call(FrameworkSynchronizer.java:348)
> > at
> >
> org.apache.isis.objectstore.jdo.datanucleus.persistence.FrameworkSynchronizer.withLogging(FrameworkSynchronizer.java:337)
> > at
> >
> org.apache.isis.objectstore.jdo.datanucleus.persistence.FrameworkSynchronizer.withLogging(FrameworkSynchronizer.java:348)
> > at
> >
> org.apache.isis.objectstore.jdo.datanucleus.persistence.FrameworkSynchronizer.postLoadProcessingFor(FrameworkSynchronizer.java:75)
> > at
> >
> org.apache.isis.objectstore.jdo.datanucleus.persistence.queries.PersistenceQueryProcessorAbstract.loadAdapters(PersistenceQueryProcessorAbstract.java:85)
> > at
> >
> org.apache.isis.objectstore.jdo.datanucleus.persistence.queries.PersistenceQueryFindAllInstancesProcessor.process(PersistenceQueryFindAllInstancesProcessor.java:57)
> > at
> >
> org.apache.isis.objectstore.jdo.datanucleus.persistence.queries.PersistenceQueryFindAllInstancesProcessor.process(PersistenceQueryFindAllInstancesProcessor.java:34)
> > at
> >
> org.apache.isis.objectstore.jdo.datanucleus.DataNucleusObjectStore.processPersistenceQuery(DataNucleusObjectStore.java:520)
> > at
> >
> org.apache.isis.objectstore.jdo.datanucleus.DataNucleusObjectStore.loadInstancesAndAdapt(DataNucleusObjectStore.java:515)
> > at
> >
> org.apache.isis.core.runtime.system.persistence.PersistenceSession$1.execute(PersistenceSession.java:420)
> > at
> >
> org.apache.isis.core.runtime.system.persistence.PersistenceSession$1.execute(PersistenceSession.java:417)
> > at
> >
> org.apache.isis.core.runtime.system.transaction.IsisTransactionManager.executeWithinTransaction(IsisTransactionManager.java:205)
> > at
> >
> org.apache.isis.core.runtime.system.persistence.PersistenceSession.getInstancesFromPersistenceLayer(PersistenceSession.java:417)
> > at
> >
> org.apache.isis.core.runtime.system.persistence.PersistenceSession.getInstances(PersistenceSession.java:413)
> > at
> >
> org.apache.isis.core.runtime.system.persistence.PersistenceSession.findInstances(PersistenceSession.java:394)
> > at
> >
> org.apache.isis.core.runtime.system.persistence.PersistenceSession.findInstances(PersistenceSession.java:377)
> > at
> >
> org.apache.isis.core.runtime.persistence.internal.RuntimeContextFromSession$8.allMatchingQuery(RuntimeContextFromSession.java:282)
> > at
> >
> org.apache.isis.core.metamodel.services.container.DomainObjectContainerDefault.allMatches(DomainObjectContainerDefault.java:438)
> > at
> >
> org.apache.isis.core.metamodel.services.container.DomainObjectContainerDefault.allInstances(DomainObjectContainerDefault.java:396)
> > at
> >
> fixture.todo.items.actions.complete.ToDoItemCompleteAbstract.findToDoItem(ToDoItemCompleteAbstract.java:42)
> > at
> >
> fixture.todo.items.actions.complete.ToDoItemCompleteAbstract.complete(ToDoItemCompleteAbstract.java:36)
> > at
> >
> fixture.todo.items.actions.complete.ToDoItemCompleteForBuyStamps.execute(ToDoItemCompleteForBuyStamps.java:27)
> > at
> >
> org.apache.isis.applib.fixturescripts.FixtureScript$ExecutionContext.executeChildIfNotAlready(FixtureScript.java:408)
> > at
> >
> org.apache.isis.applib.fixturescripts.FixtureScript$ExecutionContext.executeChild(FixtureScript.java:389)
> > at
> >
> org.apache.isis.applib.fixturescripts.FixtureScript$ExecutionContext.executeChild(FixtureScript.java:374)
> > at
> >
> fixture.todo.scenarios.ToDoItemsRecreateAndCompleteSeveral.execute(ToDoItemsRecreateAndCompleteSeveral.java:83)
> > at
> >
> org.apache.isis.applib.fixturescripts.FixtureScript$ExecutionContext.executeChildIfNotAlready(FixtureScript.java:408)
> > at
> >
> org.apache.isis.applib.fixturescripts.FixtureScript$ExecutionContext.executeChild(FixtureScript.java:389)
> > at
> >
> org.apache.isis.applib.fixturescripts.FixtureScript$ExecutionContext.executeChild(FixtureScript.java:374)
> > at
> >
> fixture.todo.integtests.ToDoItemsIntegTestFixture.execute(ToDoItemsIntegTestFixture.java:37)
> > at
> >
> org.apache.isis.applib.fixturescripts.FixtureScript$ExecutionContext.executeChildIfNotAlready(FixtureScript.java:408)
> > at
> >
> org.apache.isis.applib.fixturescripts.FixtureScript$ExecutionContext.access$100(FixtureScript.java:242)
> > at
> >
> org.apache.isis.applib.fixturescripts.FixtureScript.run(FixtureScript.java:504)
> > at
> >
> org.apache.isis.applib.fixturescripts.FixtureScripts.runFixtureScript(FixtureScripts.java:266)
> > at
> >
> fixture.todo.ToDoItemsFixturesService.runFixtureScript(ToDoItemsFixturesService.java:58)
> > at
> >
> integration.tests.ToDoItemsIntegTest$Finders.setUpData(ToDoItemsIntegTest.java:49)
> >
> >
> >
> > Jeremy D. Branham
> > Tel: **DOTNET
> >
> >
> > -----Original Message-----
> > From: Martin Grigorov [mailto:mgrigorov@apache.org]
> > Sent: Monday, December 29, 2014 11:08 PM
> > To: users
> > Subject: RE: Working on a branch with latest datanucleus
> >
> > Hi,
> >
> > On Dec 30, 2014 5:39 AM, "Branham, Jeremy [HR]" <
> > Jeremy.D.Branham@sprint.com>
> > wrote:
> > >
> > > There ended up being a lot of refactoring to swap PersistenceCapable
> > > for
> > Persistable throughout.
> > >
> > > Currently trying to understand this -
> > >
> > > java.lang.IllegalArgumentException: mismatch in OidAdapter map:
> > > adapter's
> > Oid: TODO:1^1:tester:, provided adapter's OID: TODO:1^1:tester:; map's
> > adapter's Oid: TODO:1^1:tester:
> > > at
> > org.apache.isis.core.commons.ensure.Ensure.ensureThatArg(Ensure.java:75)
> > >
> > >
> > > I'm having difficulty getting MyEclipse to attach and stop at the
> > breakpoints during a Maven build, so this process has been needlessly
> > complicated.
> > >
> > > This is off topic, but I'm curious what other folks are using.
> > > Eclipse,
> > IDEA, other?
> >
> > I'm ex-Eclipse user and now I use IDEA for 2+ years. I'm very happy with
> > the switch! Debugging Maven build usually is very easy by using IDEA's
> > Maven integration !
> >
> > Some ideas:
> > 1) use mvnDebug to start Maven on command line with remote debugging
> > enabled. It will suspend before starting the process so you can attach
> the
> > debugger
> >
> > 2) run the failing test directly from the IDE
> >
> > Thanks for helping us with this!
> > Have fun!
> >
> > >
> > >
> > > Jeremy D. Branham
> > > Tel: **DOTNET
> > >
> > >
> > > -----Original Message-----
> > > From: Branham, Jeremy [HR]
> > > Sent: Monday, December 29, 2014 4:47 PM
> > > To: users@isis.apache.org
> > > Subject: RE: Working on a branch with latest datanucleus
> > >
> > >
> > > I've added the factories to the ' IsisConfigurationForJdoIntegTests'
> > > and
> > adjusted the DataNucleus properties to match 4.x
> > >
> > > I can see the tables are getting created but there is a cast exception.
> > > I won't flood the email distribution again until I'm stuck for a few
> > hours. =] Looks like it's pretty close now.
> > >
> > >
> > > Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0.031
> > > sec
> > <<< FAILURE! - in integration.tests.ToDoItemsIntegTest$NewToDo_and_Delete
> > > happyCase(integration.tests.ToDoItemsIntegTest$NewToDo_and_Delete)
> > > Time
> > elapsed: 0.031 sec  <<< ERROR!
> > > java.lang.ClassCastException: dom.todo.ToDoItem cannot be cast to
> > javax.jdo.spi.PersistenceCapable
> > >
> > >
> > > -------------------------
> > > 16:35:20,986  [Schema               main       DEBUG]  CREATE TABLE
> > "ToDoItem"
> > > (
> > >     "id" BIGINT GENERATED BY DEFAULT AS IDENTITY,
> > >     "attachment_name" BLOB NULL,
> > >     "category" NVARCHAR(255) NOT NULL,
> > >     "complete" BOOLEAN NOT NULL,
> > >     "cost" DECIMAL(19,2) NULL,
> > >     "description" NVARCHAR(100) NOT NULL,
> > >     "doc_name" BLOB NULL,
> > >     "dueBy" DATE NULL,
> > >     "notes" NVARCHAR(400) NULL,
> > >     "ownedBy" NVARCHAR(255) NOT NULL,
> > >     "subcategory" NVARCHAR(255) NULL,
> > >     "version" BIGINT NOT NULL,
> > >     CONSTRAINT "ToDoItem_PK" PRIMARY KEY ("id")
> > > )
> > > 16:35:20,986  [Schema               main       DEBUG]  Execution Time
> = 0
> > ms
> > > 16:35:21,002  [Schema               main       DEBUG]  Check of
> existence
> > of "ToDoItemDependencies" returned no table
> > > 16:35:21,002  [Schema               main       DEBUG]  Creating table
> > "ToDoItemDependencies"
> > > 16:35:21,002  [Schema               main       DEBUG]  CREATE TABLE
> > "ToDoItemDependencies"
> > > (
> > >     "dependingId" BIGINT NOT NULL,
> > >     "dependentId" BIGINT NOT NULL,
> > >     CONSTRAINT "ToDoItemDependencies_PK" PRIMARY KEY
> > ("dependingId","dependentId")
> > > )
> > >
> > >
> > >
> > >
> > >
> > >
> > > Jeremy D. Branham
> > > Tel: **DOTNET
> > >
> > >
> > > -----Original Message-----
> > > From: Branham, Jeremy [HR]
> > > Sent: Monday, December 29, 2014 3:31 PM
> > > To: users@isis.apache.org
> > > Subject: RE: Working on a branch with latest datanucleus
> > >
> > > Forgot to mention -
> > > I updated the 'JDOStateManagerForIsis' to use Persistable instead of
> > PersistanceCapable.
> > >
> > > public class JDOStateManagerForIsis extends
> > > ReferentialStateManagerImpl {
> > ...
> > > }
> > >
> > >
> > > Jeremy D. Branham
> > > Tel: **DOTNET
> > >
> > >
> > > -----Original Message-----
> > > From: Branham, Jeremy [HR]
> > > Sent: Monday, December 29, 2014 3:26 PM
> > > To: users@isis.apache.org
> > > Subject: RE: Working on a branch with latest datanucleus
> > >
> > > Thanks, that has got me started.
> > > For now I am just working with the RDMS capable statemanager, and will
> > focus on the Neo4j compatibility later.
> > >
> > > I've added two ' AbstractRemoveMethodsFacetFactory'
> > >
> > > [Finds 25 methods]
> > >     public RemoveDatanucleusPersistableTypesFacetFactory() {
> > >         super("org.datanucleus.enhancer.Persistable");
> > >     }
> > >
> > > And
> > >
> > > [org.apache.isis.core.commons.factory.UnavailableClassException: The
> > default type 'javax.jdo.spi.Persistable' cannot be found]
> > >     public RemoveJdoPersistableEnhancementTypesFacetFactory() {
> > >         super("javax.jdo.spi.Persistable");
> > >     }
> > >
> > >
> > >
> > > In the 'FacetedMethodsBuilder# getActionFacetedMethods' I do see this
> > > -
> > [It looks like it is stripping off the dn methods, does this look right?]
> > >
> > > associationFacetMethodsCollections$UnmodifiableRandomAccessList<E>
> > (id=289) [PROPERTY Peer
> > [identifier="dom.simple.SimpleObject#name()",type=java.lang.String ]]
> > >
> > > introspectedClassClass<T> (dom.simple.SimpleObject) (id=291) class
> > dom.simple.SimpleObject
> > >
> > > methodsArrays$ArrayList<E>  (id=293)
> > > [null, null, null, null, public static java.lang.Class
> > dom.simple.SimpleObject.___jdo$loadClass(java.lang.String), null, null,
> > null, null, null, null, null, null, null, null, null, null, null, null,
> > null, null, null, null, null, null, null, null, null, null, null, null,
> > null, null, null, null, null, null, null, null, null, null]
> > >
> > >
> > > Is it ok that the 'SimpleObject.___jdo$loadClass' method is listed
> there?
> > >
> > >
> > >
> > > Although, this exception is getting thrown now -
> > >
> > >                 // assert is persistent
> > >                 if(!pojo.jdoIsPersistent()) {
> > >                     throw new IllegalStateException("Pojo JDO state is
> > not persistent! pojo dnOid: " + JDOHelper.getObjectId(pojo));
> > >                 }
> > >
> > >
> > > Is there still something wrong with the method filtering? Or is this a
> > different issue?
> > >
> > >
> > >
> > > Jeremy D. Branham
> > > Tel: **DOTNET
> > >
> > >
> > > -----Original Message-----
> > > From: Dan Haywood [mailto:dan@haywood-associates.co.uk]
> > > Sent: Monday, December 29, 2014 11:33 AM
> > > To: users
> > > Subject: Re: Working on a branch with latest datanucleus
> > >
> > > Hi Jeremy,
> > >
> > > Having not looked at DN 4.x at all yet, can't specfically advise; have
> > > a
> > few general thoughts though.
> > >
> > > Just to recap on stuff that you probably know/have figured out...
> > >
> > > * With respect to javax.jdo.spi.PersistenceCapable vs
> > javax.jdo.spi.Persistable, in DN 3.x I know the enhancer makes all
> > enhanced objects implement the javax.jdo.spi.PersistenceCapable
> interface.
> > Looking at the javax.jdo.spi.Persistable interface for DN 3.x it seems
> like
> > its a placeholder, with a comment "Note that this is not yet used by
> > DataNucleus, but is intended as something for the future."
> > >
> > > * My guess for DN 4.x is that Andy Jefferson (maintainer of DN) has
> > > now
> > made this change, and generalized things to work with
> > javax.jdo.spi.Persistable instead of, or perhaps as well as,
> > PersistenceCapable.  (This might explain the new dnReplaceFields(...)
> > methods rather than jdoReplaceFields(...) methods that you saw before).
> > >
> > > * I can tell you that JDOStateManagerForIsis is kinda important, as
> > > its
> > the point where we tell Isis about the objects that are brought into
> > memory by DN, to map them and inject services into them.  So you will
> need
> > to find some sort of implementation of it.
> > >
> > > ~~~
> > > From its name, I'm guessing that ReferentialJDOStateManager is for
> > > RDBMS
> > stores, whereas of course you are using Neo4J instead.  So you probably
> > need to inherit from AbstractStateManager or something else higher up in
> > the inheritance hierarchy.
> > >
> > > In terms of getting Isis to work with your own improved version of
> > JdoStateManagerForIsis, it looks like the implementation is specified in
> > >
> >
> >
> DataNucleusPersistenceMechanismInstaller#addDataNucleusPropertiesIfRequired(...)
> > >  ... so you can probably just add your impl to isis.properties.
> > >
> > > Also, I notice that there's a thread-local in JdoStateManagerForIsis
> > > that
> > is referenced by EventBusServiceJdo, but that could easily be moved out
> > into some other class.
> > >
> > > ~~
> > > If none of the above helps, you might want to try posting a question
> > > on
> > the DN forum [1], though I know that Andy does also answer DN questions
> on
> > SO also.  The question will need to be framed in terms of DN rather than
> > Isis though.
> > >
> > > If you get nowhere, I can ping Andy also (so long as I'm clear about
> > > what
> > I'm asking, which I'm not quite, at the moment).
> > >
> > > HTH
> > > Dan
> > >
> > >
> > > [1] http://www.datanucleus.org/support.html
> > >
> > >
> > >
> > > On 29 December 2014 at 16:52, Branham, Jeremy [HR] <
> > Jeremy.D.Branham@sprint.com> wrote:
> > >
> > > > I thought I was being clever changing over to 'Persitable' in the
> > > > 'JDOStateManagerForIsis', but I get errors about the 'SimpleObject'
> > > > not being persistable at runtime.
> > > >
> > > > ---------------
> > > >
> > > > I have a question about the ReferentialJDOStateManager in
> DataNucleus.
> > > > The JDOStateManager extended this class in DN 3.x but it is not
> > > > present in DN 4.x
> > > >
> > > > Affected class in Isis -
> > > > public class JDOStateManagerForIsis extends
> > > > ReferentialJDOStateManager implements StateManager, ObjectProvider
> > > >
> > > > I do see this class -
> > > > org.datanucleus.state.ReferentialStateManagerImpl
> > > >
> > > > I thought this might be the appropriate replacement, but if I extend
> > > > ReferentialStateManagerImpl, there are problems...
> > > >
> > > > The problem I encounter when extending the new class -
> > > > ReferentialStateManagerImpl extends StateManagerImpl. Which extends
> > > > AbstractStateManager<Persistable>
> > > >
> > > > The current JDOStateManagerForIsis is setup to handle
> > > > PersistenceCapable objects rather than Persistable objects.
> > > >
> > > > I'm not sure where to go from here.
> > > >
> > > > Also posted on SO -
> > > >
> > > > http://stackoverflow.com/questions/27692754/is-referentialjdostatema
> > > > na
> > > > ger-not-used-in-datanucleus-4-x
> > > >
> > > >
> > > >
> > > >
> > > > Jeremy D. Branham
> > > > Tel: **DOTNET
> > > >
> > > >
> > > > -----Original Message-----
> > > > From: Dan Haywood [mailto:dan@haywood-associates.co.uk]
> > > > Sent: Friday, December 26, 2014 1:42 AM
> > > > To: users
> > > > Subject: Re: Working on a branch with latest datanucleus
> > > >
> > > > With Isis we have:
> > > >
> > > >
> > > >
> > > > org.apache.isis.core.metamodel.facets.object.ignore.jdo.RemoveJdoEnh
> > > > an
> > > > cementTypesFacetFactory
> > > >
> > > > that ensures that Isis ignores all the methods in the
> > > > javax,jdo.spi.PersistenceCapable interface.  That interface defines
> > > > a bunch of methods called jdoReplaceFields(int[]) and so on.
> > > >
> > > > My guess is that with DN 4.0 that this has changed so that there is
> > > > a similar DN-specific interface that the enhancer makes the
> > > > persistence-capable objects implement.
> > > >
> > > > Have a go at writing a similar facet factory and register it in
> > > > isis.properties using the "isis.reflector.facets.include" property,
> > > > see [1]... If it works we can incorporate into Isis proper for a
> > > > future
> > version.
> > > >
> > > > Let us know how you get on.
> > > >
> > > > Dan
> > > >
> > > >
> > > > [1]
> > > >
> > > > http://isis.apache.org/more-advanced-topics/metamodel-finetuning-the
> > > > -p
> > > > rogramming-model.html
> > > >
> > > >
> > > > On 25 December 2014 at 00:43, Branham, Jeremy [HR] <
> > > > Jeremy.D.Branham@sprint.com> wrote:
> > > >
> > > > > Thanks for checking Dan.
> > > > > I solved that particular issue, but I'm not sure it's a valid
> > solution.
> > > > >
> > > > > Changed -
> > > > >
> > > > > https://github.com/jdbranham/isis/blob/DN_404/core/metamodel/src/m
> > > > > ai
> > > > > n/
> > > > > java/org/apache/isis/core/metamodel/specloader/classsubstitutor/Cl
> > > > > as
> > > > > sS
> > > > > ubstitutor.java#L53-L55
> > > > >
> > > > >
> > > > > New Issue I'm working on -
> > > > >
> > > > > Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed:
> > > > > 0.197 sec <<< FAILURE! - in
> > > > > integration.tests.ToDoItemIntegTest$Properties$Description
> > > > > integration.tests.ToDoItemIntegTest$Properties$Description  Time
> > elapsed:
> > > > > 0.197 sec  <<< ERROR!
> > > > > java.lang.RuntimeException:
> > > > > org.apache.isis.core.commons.exceptions.UnknownTypeException:
> > > > > collections not supported as parameters:
> > > > > dom.todo.ToDoItem#dnProvideFields([I)
> > > > > at
> > > > > org.apache.isis.core.integtestsupport.IsisSystemForTest.setUpSyste
> > > > > m(
> > > > > Is
> > > > > isSystemForTest.java:314)
> > > > >
> > > > >
> > > > > Jeremy D. Branham
> > > > > Tel: **DOTNET
> > > > >
> > > > >
> > > > > -----Original Message-----
> > > > > From: Dan Haywood [mailto:dan@haywood-associates.co.uk]
> > > > > Sent: Wednesday, December 24, 2014 12:05 PM
> > > > > To: users
> > > > > Subject: Re: Working on a branch with latest datanucleus
> > > > >
> > > > > Hi Jeremy,
> > > > >
> > > > > sorry, it's not clear to me if you had an issue but then resolved
> > > > > it, or whether there is still an issue?
> > > > >
> > > > > With respect to moving to DN 4.0, that's certainly the intention,
> > > > > and is a prerequisite for us to support Java8.  Given that Java7
> > > > > support finishes in April 2015, it's clearly something that we
> > > > > need to do be tackling quite soon.
> > > > >
> > > > > Thx
> > > > > Dan
> > > > >
> > > > >
> > > > > On 24 December 2014 at 05:24, Branham, Jeremy [HR] <
> > > > > Jeremy.D.Branham@sprint.com> wrote:
> > > > >
> > > > > > The line numbers didn't match because a different version of the
> > > > > > class was being loaded.
> > > > > > I added a null check that solved the issue, but the code running
> > > > > > hadn't picked up the change yet.
> > > > > >
> > > > > >
> > > > > > Jeremy D. Branham
> > > > > > Tel: **DOTNET
> > > > > >
> > > > > >
> > > > > > -----Original Message-----
> > > > > > From: Branham, Jeremy [HR]
> > > > > > Sent: Tuesday, December 23, 2014 11:04 PM
> > > > > > To: users@isis.apache.org
> > > > > > Subject: Working on a branch with latest datanucleus
> > > > > >
> > > > > > Sorry for the massive stack trace, but I was looking for some
> > > > > > pointers on what might be happing here.
> > > > > > I'm having a bit of difficulty debugging because the line
> > > > > > numbers reported don't seem to match the source files, and even
> > > > > > when stepping through the code. [maybe something wrong in my dev
> > > > > > env]
> > > > > >
> > > > > > I'm working on a branch with a newer datanucleus support [4.0.4]
> > > > > > and seems to be an issue with the spec loader.
> > > > > > I understand if there is no support for this yet.
> > > > > >
> > > > > >
> > > > > > 22:52:01,445  [Reflections          main       INFO ]
> Reflections
> > took
> > > > > > 421 ms to scan 7 urls, producing 148 keys and 716 values
> > > > > > 22:52:01,523  [ServiceInstantiator  main       DEBUG]  loading
> > class
> > > > for
> > > > > > service: dom.simple.SimpleObjects
> > > > > > 22:52:01,523  [ServiceInstantiator  main       DEBUG]  loading
> > class
> > > > for
> > > > > > service: fixture.simple.SimpleObjectsFixturesService
> > > > > > 22:52:01,523  [ServiceInstantiator  main       DEBUG]  loading
> > class
> > > > for
> > > > > > service:
> org.apache.isis.applib.annotation.Bulk$InteractionContext
> > > > > > 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading
> > class
> > > > for
> > > > > > service:
> > > > > >
> > > > > org.apache.isis.applib.services.bookmark.BookmarkHolderActionContr
> > > > > ib
> > > > > ut
> > > > > ions
> > > > > > 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading
> > class
> > > > for
> > > > > > service:
> > > > > >
> > > > > org.apache.isis.applib.services.classdiscovery.ClassDiscoveryServi
> > > > > ce
> > > > > Us
> > > > > ingReflections
> > > > > > 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading
> > class
> > > > for
> > > > > > service: org.apache.isis.applib.services.clock.ClockService
> > > > > > 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading
> > class
> > > > for
> > > > > > service: org.apache.isis.applib.services.command.CommandContext
> > > > > > 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading
> > class
> > > > for
> > > > > > service:
> > > > > org.apache.isis.applib.services.queryresultscache.QueryResultsCach
> > > > > e
> > > > > > 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading
> > class
> > > > for
> > > > > > service: org.apache.isis.applib.services.scratchpad.Scratchpad
> > > > > > 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading
> > class
> > > > for
> > > > > > service:
> > > > > >
> > > > org.apache.isis.core.metamodel.services.bookmarks.BookmarkServiceDef
> > > > au
> > > > lt
> > > > > > 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading
> > class
> > > > for
> > > > > > service:
> > > > > >
> > > > > org.apache.isis.core.metamodel.services.container.DomainObjectCont
> > > > > ai
> > > > > ne
> > > > > rDefault
> > > > > > 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading
> > class
> > > > for
> > > > > > service:
> > > > > >
> > > > org.apache.isis.core.runtime.services.background.BackgroundServiceDe
> > > > fa
> > > > ult
> > > > > > 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading
> > class
> > > > for
> > > > > > service:
> > > > > org.apache.isis.core.runtime.services.memento.MementoServiceDefaul
> > > > > t
> > > > > > 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading
> > class
> > > > for
> > > > > > service:
> > > > > >
> > > > > org.apache.isis.core.runtime.services.xmlsnapshot.XmlSnapshotServi
> > > > > ce
> > > > > De
> > > > > fault
> > > > > > 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading
> > class
> > > > for
> > > > > > service: org.apache.isis.core.wrapper.WrapperFactoryDefault
> > > > > > 22:52:01,587  [ServiceInstantiator  main       DEBUG]  loading
> > class
> > > > for
> > > > > > service:
> > > > > >
> > > > > org.apache.isis.objectstore.jdo.applib.service.exceprecog.Exceptio
> > > > > nR
> > > > > ec
> > > > > ognizerCompositeForJdoObjectStore
> > > > > > 22:52:01,618  [ServiceInstantiator  main       DEBUG]  loading
> > class
> > > > for
> > > > > > service:
> > > > > >
> > > > > org.apache.isis.objectstore.jdo.datanucleus.service.eventbus.Event
> > > > > Bu
> > > > > sS
> > > > > erviceJdo
> > > > > > 22:52:01,618  [ServiceInstantiator  main       DEBUG]  loading
> > class
> > > > for
> > > > > > service:
> > > > > >
> > > > > org.apache.isis.objectstore.jdo.datanucleus.service.support.IsisJd
> > > > > oS
> > > > > up
> > > > > portImpl
> > > > > > 22:52:01,618  [ServiceInstantiator  main       DEBUG]  loading
> > class
> > > > for
> > > > > > service:
> > > > > >
> > > > > org.apache.isis.viewer.restfulobjects.rendering.service.Representa
> > > > > ti
> > > > > on
> > > > > ServiceForRestfulObjects
> > > > > > 22:52:01,712  [ServicesInjectorDefault main       DEBUG]
> injected
> > > > > > org.apache.isis.core.metamodel.services.container.DomainObjectCo
> > > > > > nt
> > > > > > ai
> > > > > > ne
> > > > > > rDefault@397c8a21
> > > > > > into SimpleObjects@529d935d[]
> > > > > > 22:52:01,712  [ServicesInjectorDefault main       DEBUG]
> injected
> > > > > > org.apache.isis.core.runtime.services.memento.MementoServiceDefa
> > > > > > ul t@ 6c dd377c into SimpleObjectsFixturesService@2f65e5ba[]
> > > > > > 22:52:01,712  [ServicesInjectorDefault main       DEBUG]
> injected
> > > > > > org.apache.isis.core.metamodel.services.bookmarks.BookmarkServic
> > > > > > eD
> > > > > > ef
> > > > > > au
> > > > > > lt@4acd2ea5 into SimpleObjectsFixturesService@2f65e5ba[]
> > > > > > 22:52:01,712  [ServicesInjectorDefault main       DEBUG]
> injected
> > > > > > org.apache.isis.applib.services.classdiscovery.ClassDiscoverySer
> > > > > > vi
> > > > > > ce
> > > > > > Us
> > > > > > ingReflections@64b17900 into
> SimpleObjectsFixturesService@2f65e5ba
> > []
> > > > > > 22:52:01,712  [ServicesInjectorDefault main       DEBUG]
> injected
> > > > > > org.apache.isis.core.metamodel.services.container.DomainObjectCo
> > > > > > nt
> > > > > > ai
> > > > > > ne
> > > > > > rDefault@397c8a21 into SimpleObjectsFixturesService@2f65e5ba[]
> > > > > > 22:52:01,712  [ServicesInjectorDefault main       DEBUG]
> injected
> > > > > > org.apache.isis.core.metamodel.services.bookmarks.BookmarkServic
> > > > > > eD
> > > > > > ef
> > > > > > au
> > > > > > lt@4acd2ea5 into BookmarkHolderActionContributions@3f7f22a5[]
> > > > > > 22:52:01,712  [ServicesInjectorDefault main       DEBUG]
> injected
> > > > > > org.apache.isis.core.metamodel.services.container.DomainObjectCo
> > > > > > nt
> > > > > > ai
> > > > > > ne
> > > > > > rDefault@397c8a21 into
> > > > > > ClassDiscoveryServiceUsingReflections@64b17900[]
> > > > > > 22:52:01,712  [ServicesInjectorDefault main       DEBUG]
> injected
> > > > > > org.apache.isis.core.wrapper.WrapperFactoryDefault@33bb9f34 into
> > > > > > BookmarkServiceDefault@4acd2ea5[]
> > > > > > 22:52:01,712  [ServicesInjectorDefault main       DEBUG]
> injected
> > > > > > org.apache.isis.core.wrapper.WrapperFactoryDefault@33bb9f34 into
> > > > > > DomainObjectContainerDefault@397c8a21[]
> > > > > > 22:52:01,712  [ServicesInjectorDefault main       DEBUG]
> injected
> > > > > > org.apache.isis.core.metamodel.services.bookmarks.BookmarkServic
> > > > > > eD
> > > > > > ef
> > > > > > au
> > > > > > lt@4acd2ea5 into BackgroundServiceDefault@4898c8f9[]
> > > > > > 22:52:01,712  [ServicesInjectorDefault main       DEBUG]
> injected
> > > > > > org.apache.isis.core.runtime.services.ServiceInstantiator$2@26b2
> > > > > > 78 ab into BackgroundServiceDefault@4898c8f9[]
> > > > > > 22:52:01,727  [ObjectReflectorDefault main       DEBUG]
> > initialising
> > > > > >
> > > > org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault@1e6
> > > > 14
> > > > 4db
> > > > > > 22:52:01,727  [ServicesInjectorDefault main       DEBUG]
> injected
> > > > > > org.apache.isis.core.metamodel.services.container.DomainObjectCo
> > > > > > nt
> > > > > > ai
> > > > > > ne
> > > > > > rDefault@397c8a21
> > > > > > into SimpleObjects@529d935d[]
> > > > > > 22:52:01,727  [ServicesInjectorDefault main       DEBUG]
> injected
> > > > > > org.apache.isis.core.runtime.services.memento.MementoServiceDefa
> > > > > > ul t@ 6c dd377c into SimpleObjectsFixturesService@2f65e5ba[]
> > > > > > 22:52:01,727  [ServicesInjectorDefault main       DEBUG]
> injected
> > > > > > org.apache.isis.core.metamodel.services.bookmarks.BookmarkServic
> > > > > > eD
> > > > > > ef
> > > > > > au
> > > > > > lt@4acd2ea5 into SimpleObjectsFixturesService@2f65e5ba[]
> > > > > > 22:52:01,727  [ServicesInjectorDefault main       DEBUG]
> injected
> > > > > > org.apache.isis.applib.services.classdiscovery.ClassDiscoverySer
> > > > > > vi
> > > > > > ce
> > > > > > Us
> > > > > > ingReflections@64b17900 into
> SimpleObjectsFixturesService@2f65e5ba
> > []
> > > > > > 22:52:01,727  [ServicesInjectorDefault main       DEBUG]
> injected
> > > > > > org.apache.isis.core.metamodel.services.container.DomainObjectCo
> > > > > > nt
> > > > > > ai
> > > > > > ne
> > > > > > rDefault@397c8a21 into SimpleObjectsFixturesService@2f65e5ba[]
> > > > > > 22:52:01,727  [ServicesInjectorDefault main       DEBUG]
> injected
> > > > > > org.apache.isis.core.metamodel.services.bookmarks.BookmarkServic
> > > > > > eD
> > > > > > ef
> > > > > > au
> > > > > > lt@4acd2ea5 into BookmarkHolderActionContributions@3f7f22a5[]
> > > > > > 22:52:01,727  [ServicesInjectorDefault main       DEBUG]
> injected
> > > > > > org.apache.isis.core.metamodel.services.container.DomainObjectCo
> > > > > > nt
> > > > > > ai
> > > > > > ne
> > > > > > rDefault@397c8a21 into
> > > > > > ClassDiscoveryServiceUsingReflections@64b17900[]
> > > > > > 22:52:01,727  [ServicesInjectorDefault main       DEBUG]
> injected
> > > > > > org.apache.isis.core.wrapper.WrapperFactoryDefault@33bb9f34 into
> > > > > > BookmarkServiceDefault@4acd2ea5[]
> > > > > > 22:52:01,727  [ServicesInjectorDefault main       DEBUG]
> injected
> > > > > > org.apache.isis.core.wrapper.WrapperFactoryDefault@33bb9f34 into
> > > > > > DomainObjectContainerDefault@397c8a21[]
> > > > > > 22:52:01,727  [ServicesInjectorDefault main       DEBUG]
> injected
> > > > > > org.apache.isis.core.metamodel.services.bookmarks.BookmarkServic
> > > > > > eD
> > > > > > ef
> > > > > > au
> > > > > > lt@4acd2ea5 into BackgroundServiceDefault@4898c8f9[]
> > > > > > 22:52:01,727  [ServicesInjectorDefault main       DEBUG]
> injected
> > > > > > org.apache.isis.core.runtime.services.ServiceInstantiator$2@26b2
> > > > > > 78 ab into BackgroundServiceDefault@4898c8f9[]
> > > > > > 22:52:14,042  [ObjectSpecificationAbstract main       DEBUG]
> > > > > Superclass
> > > > > > java.lang.Object
> > > > > > 22:52:14,152  [ObjectSpecificationAbstract main       DEBUG]
> > > > > Superclass
> > > > > > java.lang.Object
> > > > > > 22:52:14,167  [IsisWicketApplication main       ERROR]  Failed to
> > > > > > initialize
> > > > > > com.google.inject.ProvisionException: Guice provision errors:
> > > > > >
> > > > > > 1) Error in custom provider, java.lang.NullPointerException
> > > > > >   at
> > > > > >
> > > > > org.apache.isis.core.runtime.runner.IsisInjectModule.provideIsisSy
> > > > > st
> > > > > em
> > > > > (IsisInjectModule.java:132)
> > > > > >   at
> > > > > >
> > > > > org.apache.isis.core.runtime.runner.IsisInjectModule.provideIsisSy
> > > > > st
> > > > > em
> > > > > (IsisInjectModule.java:132)
> > > > > >   while locating org.apache.isis.core.runtime.system.IsisSystem
> > > > > >     for field at
> > > > > >
> > > > > org.apache.isis.viewer.wicket.viewer.IsisWicketApplication.system(
> > > > > Is
> > > > > is
> > > > > WicketApplication.java:138)
> > > > > >   while locating webapp.SimpleApplication
> > > > > >
> > > > > > 1 error
> > > > > >        at
> > > > > >
> > > > > com.google.inject.internal.Errors.throwProvisionExceptionIfErrorsE
> > > > > xi
> > > > > st
> > > > > (Errors.java:451)
> > > > > >        at
> > > > > >
> > > > > com.google.inject.internal.MembersInjectorImpl.injectMembers(Membe
> > > > > rs
> > > > > In
> > > > > jectorImpl.java:65)
> > > > > >        at
> > > > > >
> > > > > com.google.inject.internal.InjectorImpl.injectMembers(InjectorImpl
> > > > > .j
> > > > > av
> > > > > a:944)
> > > > > >        at
> > > > > >
> > > > > org.apache.isis.viewer.wicket.viewer.IsisWicketApplication.init(Is
> > > > > is
> > > > > Wi
> > > > > cketApplication.java:248)
> > > > > >        at
> webapp.SimpleApplication.init(SimpleApplication.java:81)
> > > > > >        at
> > > > > >
> org.apache.wicket.Application.initApplication(Application.java:823)
> > > > > >        at
> > > > > >
> > > > org.apache.wicket.protocol.http.WicketFilter.init(WicketFilter.java:
> > > > 42
> > > > 4)
> > > > > >        at
> > > > > >
> > > > org.apache.wicket.protocol.http.WicketFilter.init(WicketFilter.java:
> > > > 35
> > > > 1)
> > > > > >        at
> > > > > >
> > org.mortbay.jetty.servlet.FilterHolder.doStart(FilterHolder.java:97)
> > > > > >        at
> > > > > >
> > > > org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java
> > > > :5
> > > > 0)
> > > > > >        at
> > > > > >
> > > > > org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler
> > > > > .j
> > > > > av
> > > > > a:713)
> > > > > >        at
> > > > > org.mortbay.jetty.servlet.Context.startContext(Context.java:140)
> > > > > >        at
> > > > > >
> > > > > org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.
> > > > > ja
> > > > > va
> > > > > :1282)
> > > > > >        at
> > > > > >
> > > > org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java
> > > > :5
> > > > 18)
> > > > > >        at
> > > > > >
> > org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:499)
> > > > > >        at
> > > > > >
> > > > > org.mortbay.jetty.plugin.Jetty6PluginWebAppContext.doStart(Jetty6P
> > > > > lu
> > > > > gi
> > > > > nWebAppContext.java:115)
> > > > > >        at
> > > > > >
> > > > org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java
> > > > :5
> > > > 0)
> > > > > >        at
> > > > > >
> > > > >
> > org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.
> > > > > java:152)
> > > > > >        at
> > > > > >
> > > > > org.mortbay.jetty.handler.ContextHandlerCollection.doStart(Context
> > > > > Ha
> > > > > nd
> > > > > lerCollection.java:156)
> > > > > >        at
> > > > > >
> > > > org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java
> > > > :5
> > > > 0)
> > > > > >        at
> > > > > >
> > > > >
> > org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.
> > > > > java:152)
> > > > > >        at
> > > > > >
> > > > org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java
> > > > :5
> > > > 0)
> > > > > >        at
> > > > > >
> > > > org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java
> > > > :1
> > > > 30)
> > > > > >        at org.mortbay.jetty.Server.doStart(Server.java:224)
> > > > > >        at
> > > > > >
> > > > org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java
> > > > :5
> > > > 0)
> > > > > >        at
> > > > > >
> > > > > org.mortbay.jetty.plugin.Jetty6PluginServer.start(Jetty6PluginServ
> > > > > er
> > > > > .j
> > > > > ava:132)
> > > > > >        at
> > > > > >
> > > > > org.mortbay.jetty.plugin.AbstractJettyMojo.startJetty(AbstractJett
> > > > > yM
> > > > > oj
> > > > > o.java:454)
> > > > > >        at
> > > > > >
> > > > > org.mortbay.jetty.plugin.AbstractJettyMojo.execute(AbstractJettyMo
> > > > > jo
> > > > > .j
> > > > > ava:396)
> > > > > >        at
> > > > > >
> > > > > org.mortbay.jetty.plugin.AbstractJettyRunMojo.execute(AbstractJett
> > > > > yR
> > > > > un
> > > > > Mojo.java:210)
> > > > > >        at
> > > > > >
> > org.mortbay.jetty.plugin.Jetty6RunMojo.execute(Jetty6RunMojo.java:184)
> > > > > >        at
> > > > > >
> > > > > org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(Defa
> > > > > ul
> > > > > tB
> > > > > uildPluginManager.java:106)
> > > > > >        at
> > > > > >
> > > > >
> > org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.
> > > > > java:208)
> > > > > >        at
> > > > > >
> > > > >
> > org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.
> > > > > java:153)
> > > > > >        at
> > > > > >
> > > > >
> > org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.
> > > > > java:145)
> > > > > >        at
> > > > > >
> > > > > org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildPr
> > > > > oj
> > > > > ec
> > > > > t(LifecycleModuleBuilder.java:84)
> > > > > >        at
> > > > > >
> > > > > org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildPr
> > > > > oj
> > > > > ec
> > > > > t(LifecycleModuleBuilder.java:59)
> > > > > >        at
> > > > > >
> > > > > org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreade
> > > > > dB
> > > > > ui
> > > > > ld(LifecycleStarter.java:183)
> > > > > >        at
> > > > > >
> > > > > org.apache.maven.lifecycle.internal.LifecycleStarter.execute(Lifec
> > > > > yc
> > > > > le
> > > > > Starter.java:161)
> > > > > >        at
> > > > org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:317)
> > > > > >        at
> > org.apache.maven.DefaultMaven.execute(DefaultMaven.java:152)
> > > > > >        at
> org.apache.maven.cli.MavenCli.execute(MavenCli.java:555)
> > > > > >        at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:214)
> > > > > >        at org.apache.maven.cli.MavenCli.main(MavenCli.java:158)
> > > > > >        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
> > Method)
> > > > > >        at
> > > > > >
> > > > > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorIm
> > > > > pl
> > > > > .j
> > > > > ava:57)
> > > > > >        at
> > > > > >
> > > > > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAc
> > > > > ce
> > > > > ss
> > > > > orImpl.java:43)
> > > > > >        at java.lang.reflect.Method.invoke(Method.java:606)
> > > > > >        at
> > > > > >
> > > > > org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(L
> > > > > au
> > > > > nc
> > > > > her.java:289)
> > > > > >        at
> > > > > >
> > > > > org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.
> > > > > ja
> > > > > va
> > > > > :229)
> > > > > >        at
> > > > > >
> > > > > org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode
> > > > > (L
> > > > > au
> > > > > ncher.java:415)
> > > > > >        at
> > > > > >
> > > > org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java
> > > > :3
> > > > 56)
> > > > > >        at
> > > > > > org.codehaus.classworlds.Launcher.main(Launcher.java:46)
> > > > > > Caused by: java.lang.NullPointerException
> > > > > >        at
> > > > > >
> > > > > org.apache.isis.core.metamodel.specloader.classsubstitutor.ClassSu
> > > > > bs
> > > > > ti
> > > > > tutor.getClass(ClassSubstitutor.java:54)
> > > > > >        at
> > > > > >
> > > > > org.apache.isis.core.metamodel.specloader.classsubstitutor.ClassSu
> > > > > bs
> > > > > ti
> > > > > tutor.getClass(ClassSubstitutor.java:55)
> > > > > >        at
> > > > > >
> > > > > org.apache.isis.core.metamodel.specloader.specimpl.dflt.ObjectSpec
> > > > > if
> > > > > ic
> > > > > ationDefault.introspectTypeHierarchyAndMembers(ObjectSpecification
> > > > > De
> > > > > fa
> > > > > ult.java:146)
> > > > > >        at
> > > > > >
> > > > > org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.i
> > > > > nt
> > > > > ro
> > > > > spectIfRequired(ObjectReflectorDefault.java:499)
> > > > > >        at
> > > > > >
> > > > > org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.l
> > > > > oa
> > > > > dS
> > > > > pecificationForSubstitutedClass(ObjectReflectorDefault.java:400)
> > > > > >        at
> > > > > >
> > > > > org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.i
> > > > > nt
> > > > > er
> > > > > nalLoadSpecification(ObjectReflectorDefault.java:378)
> > > > > >        at
> > > > > >
> > > > > org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.l
> > > > > oa
> > > > > dS
> > > > > pecifications(ObjectReflectorDefault.java:415)
> > > > > >        at
> > > > > >
> > > > > org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.l
> > > > > oa
> > > > > dS
> > > > > pecifications(ObjectReflectorDefault.java:428)
> > > > > >        at
> > > > > >
> > > > > org.apache.isis.core.metamodel.specloader.specimpl.FacetedMethodsB
> > > > > ui
> > > > > ld
> > > > > er.representsAction(FacetedMethodsBuilder.java:455)
> > > > > >        at
> > > > > >
> > > > > org.apache.isis.core.metamodel.specloader.specimpl.FacetedMethodsB
> > > > > ui
> > > > > ld
> > > > > er.findActionFacetedMethod(FacetedMethodsBuilder.java:404)
> > > > > >        at
> > > > > >
> > > > > org.apache.isis.core.metamodel.specloader.specimpl.FacetedMethodsB
> > > > > ui
> > > > > ld
> > > > > er.findActionFacetedMethods(FacetedMethodsBuilder.java:388)
> > > > > >        at
> > > > > >
> > > > > org.apache.isis.core.metamodel.specloader.specimpl.FacetedMethodsB
> > > > > ui
> > > > > ld
> > > > > er.findActionFacetedMethods(FacetedMethodsBuilder.java:367)
> > > > > >        at
> > > > > >
> > > > > org.apache.isis.core.metamodel.specloader.specimpl.FacetedMethodsB
> > > > > ui
> > > > > ld
> > > > > er.getActionFacetedMethods(FacetedMethodsBuilder.java:343)
> > > > > >        at
> > > > > >
> > > > > org.apache.isis.core.metamodel.specloader.specimpl.dflt.ObjectSpec
> > > > > if
> > > > > ic
> > > > > ationDefault.createActions(ObjectSpecificationDefault.java:222)
> > > > > >        at
> > > > > >
> > > > > org.apache.isis.core.metamodel.specloader.specimpl.dflt.ObjectSpec
> > > > > if
> > > > > ic
> > > > > ationDefault.introspectTypeHierarchyAndMembers(ObjectSpecification
> > > > > De
> > > > > fa
> > > > > ult.java:167)
> > > > > >        at
> > > > > >
> > > > > org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.i
> > > > > nt
> > > > > ro
> > > > > spectIfRequired(ObjectReflectorDefault.java:499)
> > > > > >        at
> > > > > >
> > > > > org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.l
> > > > > oa
> > > > > dS
> > > > > pecificationForSubstitutedClass(ObjectReflectorDefault.java:400)
> > > > > >        at
> > > > > >
> > > > > org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.i
> > > > > nt
> > > > > er
> > > > > nalLoadSpecification(ObjectReflectorDefault.java:378)
> > > > > >        at
> > > > > >
> > > > > org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.p
> > > > > ri
> > > > > me
> > > > > Cache(ObjectReflectorDefault.java:269)
> > > > > >        at
> > > > > >
> > > > > org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.i
> > > > > ni
> > > > > tA
> > > > > ndValidate(ObjectReflectorDefault.java:244)
> > > > > >        at
> > > > > >
> > > > > org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.i
> > > > > ni
> > > > > t(
> > > > > ObjectReflectorDefault.java:205)
> > > > > >        at
> > > > > >
> > > > >
> > org.apache.isis.core.runtime.system.session.IsisSessionFactoryDefault.
> > > > > init(IsisSessionFactoryDefault.java:192)
> > > > > >        at
> > > > > >
> > > > > org.apache.isis.core.runtime.system.IsisSystemFixturesHookAbstract
> > > > > .i
> > > > > ni
> > > > > t(IsisSystemFixturesHookAbstract.java:120)
> > > > > >        at
> > > > > >
> > > > > org.apache.isis.core.runtime.runner.IsisInjectModule.provideIsisSy
> > > > > st
> > > > > em
> > > > > (IsisInjectModule.java:133)
> > > > > >        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
> > Method)
> > > > > >        at
> > > > > >
> > > > > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorIm
> > > > > pl
> > > > > .j
> > > > > ava:57)
> > > > > >        at
> > > > > >
> > > > > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAc
> > > > > ce
> > > > > ss
> > > > > orImpl.java:43)
> > > > > >        at java.lang.reflect.Method.invoke(Method.java:606)
> > > > > >        at
> > > > > >
> > com.google.inject.internal.ProviderMethod.get(ProviderMethod.java:104)
> > > > > >        at
> > > > > >
> > > > > com.google.inject.internal.InternalFactoryToProviderAdapter.get(In
> > > > > te
> > > > > rn
> > > > > alFactoryToProviderAdapter.java:40)
> > > > > >        at
> > > > > >
> > > > > com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call
> > > > > (P
> > > > > ro
> > > > > viderToInternalFactoryAdapter.java:46)
> > > > > >        at
> > > > > >
> > > > > com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl
> > > > > .j
> > > > > av
> > > > > a:1031)
> > > > > >        at
> > > > > >
> > > > > com.google.inject.internal.ProviderToInternalFactoryAdapter.get(Pr
> > > > > ov
> > > > > id
> > > > > erToInternalFactoryAdapter.java:40)
> > > > > >        at com.google.inject.Scopes$1$1.get(Scopes.java:65)
> > > > > >        at
> > > > > >
> > > > > com.google.inject.internal.InternalFactoryToProviderAdapter.get(In
> > > > > te
> > > > > rn
> > > > > alFactoryToProviderAdapter.java:40)
> > > > > >        at
> > > > > >
> > > > > com.google.inject.internal.SingleFieldInjector.inject(SingleFieldI
> > > > > nj
> > > > > ec
> > > > > tor.java:53)
> > > > > >        at
> > > > > >
> > > > > com.google.inject.internal.MembersInjectorImpl.injectMembers(Membe
> > > > > rs
> > > > > In
> > > > > jectorImpl.java:110)
> > > > > >        at
> > > > > >
> > > > > com.google.inject.internal.MembersInjectorImpl$1.call(MembersInjec
> > > > > to
> > > > > rI
> > > > > mpl.java:75)
> > > > > >        at
> > > > > >
> > > > > com.google.inject.internal.MembersInjectorImpl$1.call(MembersInjec
> > > > > to
> > > > > rI
> > > > > mpl.java:73)
> > > > > >        at
> > > > > >
> > > > > com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl
> > > > > .j
> > > > > av
> > > > > a:1024)
> > > > > >        at
> > > > > >
> > > > > com.google.inject.internal.MembersInjectorImpl.injectAndNotify(Mem
> > > > > be
> > > > > rs
> > > > > InjectorImpl.java:73)
> > > > > >        at
> > > > > >
> > > > > com.google.inject.internal.MembersInjectorImpl.injectMembers(Membe
> > > > > rs
> > > > > In
> > > > > jectorImpl.java:60)
> > > > > >        ... 50 more
> > > > > > 22:52:14,167  [WicketFilter         main       ERROR]  The
> > > > initialization
> > > > > > of an application with name 'WicketFilter' has failed.
> > > > > > com.google.inject.ProvisionException: Guice provision errors:
> > > > > >
> > > > > >
> > > > > >
> > > > > > ________________________________
> > > > > >
> > > > > > This e-mail may contain Sprint proprietary information intended
> > > > > > for the sole use of the recipient(s). Any use by others is
> > prohibited.
> > > > > > If you are not the intended recipient, please contact the sender
> > > > > > and delete all copies of the message.
> > > > > >
> > > > > > ________________________________
> > > > > >
> > > > > > This e-mail may contain Sprint proprietary information intended
> > > > > > for the sole use of the recipient(s). Any use by others is
> > prohibited.
> > > > > > If you are not the intended recipient, please contact the sender
> > > > > > and delete all copies of the message.
> > > > > >
> > > > >
> > > > > ________________________________
> > > > >
> > > > > This e-mail may contain Sprint proprietary information intended
> > > > > for the sole use of the recipient(s). Any use by others is
> > prohibited.
> > > > > If you are not the intended recipient, please contact the sender
> > > > > and delete all copies of the message.
> > > > >
> > > >
> > > > ________________________________
> > > >
> > > > This e-mail may contain Sprint proprietary information intended for
> > > > the sole use of the recipient(s). Any use by others is prohibited.
> > > > If you are not the intended recipient, please contact the sender and
> > > > delete all copies of the message.
> > > >
> > >
> > > ________________________________
> > >
> > > This e-mail may contain Sprint proprietary information intended for
> > > the
> > sole use of the recipient(s). Any use by others is prohibited. If you are
> > not the intended recipient, please contact the sender and delete all
> copies
> > of the message.
> > >
> > > ________________________________
> > >
> > > This e-mail may contain Sprint proprietary information intended for
> > > the
> > sole use of the recipient(s). Any use by others is prohibited. If you are
> > not the intended recipient, please contact the sender and delete all
> copies
> > of the message.
> > >
> > > ________________________________
> > >
> > > This e-mail may contain Sprint proprietary information intended for
> > > the
> > sole use of the recipient(s). Any use by others is prohibited. If you are
> > not the intended recipient, please contact the sender and delete all
> copies
> > of the message.
> >
> > ________________________________
> >
> > This e-mail may contain Sprint proprietary information intended for the
> > sole use of the recipient(s). Any use by others is prohibited. If you are
> > not the intended recipient, please contact the sender and delete all
> copies
> > of the message.
> >
>
> ________________________________
>
> This e-mail may contain Sprint proprietary information intended for the
> sole use of the recipient(s). Any use by others is prohibited. If you are
> not the intended recipient, please contact the sender and delete all copies
> of the message.
>

________________________________

This e-mail may contain Sprint proprietary information intended for the sole use of the recipient(s). Any use by others is prohibited. If you are not the intended recipient, please contact the sender and delete all copies of the message.

Re: Working on a branch with latest datanucleus

Posted by Dan Haywood <da...@haywood-associates.co.uk>.
On 31 December 2014 at 02:36, Branham, Jeremy [HR] <
Jeremy.D.Branham@sprint.com> wrote:

> I'm loving IDEA. Debugging is better, and the Maven integration works
> great.
> Glad I can finally be part of the 'cool kids'.
> When I was younger, geek != cool; and I only knew one other kid with an
> Amiga - but he edged on the side of nerd ;-)
>
>
Nice.



> Thanks for the info on the stack trace. I don’t understand object mapping
> yet, but I'm getting there.
>
> Question -
> Should the Object Specification contain enhanced method names?
> Example -
>  "public java.lang.String dom.todo.ToDoItem.dnGetnotes()" -> "Action
> [id=dnGetnotes,name='Dn
> Getnotes',type=USER,returns=ObjectSpecificationDefault@233d897[class=java.lang.String,type=Object,persistable=User
> Persistable,superclass=Object],parameters={}]"
>
>
No, it shouldn't.  You may need to write an addtional facet factory to get
it to ignore those methods generated by the enhancer.

Navigate > Class : Remove*FacetFactory

should show you some examples to crib from.  Register new ones
in ProgrammingModelFacetsJava5 or via isis.properties
using isis.reflector.facets.include (as per
http://isis.apache.org/more-advanced-topics/metamodel-finetuning-the-programming-model.html
).



>
>  [moved on to a new exception now]
> I know this is a generic error, "user lacks privilege or object not
> found", but the stack trace may indicate something I'm not seeing.
>
>
Not much to see other than the SQL delete we do in the fixtures is failing
to find the "ToDoItem" table in the database.

Kind of odd that this is being thrown now for you; I got the impression
that this was working.  It ought to, because by default we run with an
inmemory HSQLDB so we create that table first.

Have you changed the JDBC connection URL etc?


Dan



>
> canBeUpToSixDaysInPast(integration.tests.ToDoItemIntegTest$Properties$DueBy)
> Time elapsed: 0.003 sec  <<< ERROR!
> org.apache.isis.core.runtime.persistence.ObjectPersistenceException:
> Failed to executeSql: delete from "ToDoItem" where "ownedBy" = 'tester'
> at
> org.apache.isis.objectstore.jdo.datanucleus.service.support.IsisJdoSupportImpl.executeUpdate(IsisJdoSupportImpl.java:145)
> at
> org.apache.isis.objectstore.jdo.datanucleus.service.support.IsisJdoSupportImpl.executeUpdate(IsisJdoSupportImpl.java:104)
> at
> fixture.todo.items.delete.ToDoItemsDelete.execute(ToDoItemsDelete.java:29)
> at
> org.apache.isis.applib.fixturescripts.FixtureScript$ExecutionContext.executeChildIfNotAlready(FixtureScript.java:408)
> at
> org.apache.isis.applib.fixturescripts.FixtureScript$ExecutionContext.executeChild(FixtureScript.java:389)
> at
> org.apache.isis.applib.fixturescripts.FixtureScript$ExecutionContext.executeChild(FixtureScript.java:374)
> at
> fixture.todo.scenarios.ToDoItemsRecreateAndCompleteSeveral.execute(ToDoItemsRecreateAndCompleteSeveral.java:66)
> at
> org.apache.isis.applib.fixturescripts.FixtureScript$ExecutionContext.executeChildIfNotAlready(FixtureScript.java:408)
> at
> org.apache.isis.applib.fixturescripts.FixtureScript$ExecutionContext.access$100(FixtureScript.java:242)
> at
> org.apache.isis.applib.fixturescripts.FixtureScript.run(FixtureScript.java:504)
> at
> org.apache.isis.applib.fixturescripts.FixtureScripts.runFixtureScript(FixtureScripts.java:266)
> at
> fixture.todo.ToDoItemsFixturesService.runFixtureScript(ToDoItemsFixturesService.java:58)
> at integration.tests.ToDoItemIntegTest.setUpData(ToDoItemIntegTest.java:70)
> at sun.reflect.GeneratedMethodAccessor15.invoke(Unknown Source)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:606)
> 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.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
> at
> org.apache.isis.core.integtestsupport.IntegrationTestAbstract$IsisTransactionRule$1.evaluate(IntegrationTestAbstract.java:199)
> at
> org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2$1.evaluate(JUnitRuleMockery2.java:146)
> 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.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:264)
> at
> org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:153)
> at
> org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:124)
> at
> org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:200)
> at
> org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:153)
> at
> org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:103)
> Caused by: java.sql.SQLSyntaxErrorException: user lacks privilege or
> object not found: ToDoItem
> at org.hsqldb.jdbc.JDBCUtil.sqlException(Unknown Source)
> at org.hsqldb.jdbc.JDBCUtil.sqlException(Unknown Source)
> at org.hsqldb.jdbc.JDBCStatement.fetchResult(Unknown Source)
> at org.hsqldb.jdbc.JDBCStatement.executeUpdate(Unknown Source)
> at
> org.datanucleus.store.rdbms.datasource.dbcp.DelegatingStatement.executeUpdate(DelegatingStatement.java:210)
> at
> org.datanucleus.store.rdbms.datasource.dbcp.DelegatingStatement.executeUpdate(DelegatingStatement.java:210)
> at
> org.apache.isis.objectstore.jdo.datanucleus.service.support.IsisJdoSupportImpl.executeUpdate(IsisJdoSupportImpl.java:142)
>
>
>
> Jeremy D. Branham
> Tel: **DOTNET
>
>
> -----Original Message-----
> From: Dan Haywood [mailto:dan@haywood-associates.co.uk]
> Sent: Tuesday, December 30, 2014 12:36 PM
> To: users
> Subject: Re: Working on a branch with latest datanucleus
>
> On 30 December 2014 at 17:28, Branham, Jeremy [HR] <
> Jeremy.D.Branham@sprint.com> wrote:
>
> > Thanks, I've downloaded IDEA to give it a go.
> >
> >
> Like Martin, I'm also an ex-Eclipse user (2003 to 2014 !) and used IDEA in
> 2011 but missed Eclipse's incremental compilation.  Now that IDEA supports
> that feature, it's definitely superior.  In particular, because there's no
> dependency on the slightly flaky Eclipse DataNucleus plugin, it makes for a
> better developer experience.
>
> And its's also nice to be using the same tool as all the cool kids!
>
>
>
>
> >
> > Any thoughts on this?
> >
> >
> I can tell you what the error means, but not sure (exactly) how to fix it.
>
> In Isis we maintain two hashmaps which map from the pojo -> ObjectAdapter
> and from the OID to the ObjectAdapter.
>
> Historically Isis didn't use JDO/DataNucleus, and so it used these hashmaps
> to manage the lifecycle of the objects.  For example, the OID and
> ObjectAdapter between them keep track of the lazy loading.
>
> However, since we now use JDO/DataNucleus, which performs its own lazy
> loading etc, it means that Isis' maps is basically subservient to JDO, and
> (I strongly suspect) is actually redundant.  There's a class
> called FrameworkSynchronizer which adds a bunch of listeners to the JDO
> runtime, and aims to keep Isis' maps in sync.  With DN 3.x this all seems
> to work reliably enough.
>
> Anyway, as you can see in the stacktrace, what's happening with your branch
> is that things have got out of whack.
>
> My intention to deal with all this ugliness is basically to get rid of
> those two hashmaps, and instead to simply instantiate and then discard the
> ObjectAdapters whenever they are needed.  But I haven't done the analysis
> on the methods of ObjectAdapter and Oid to figure out if there's any impact
> on any of that.
>
> Just looking at your particular stack trace, it seems that the error is
> being thrown immediately when the objects being loaded are mapped (in
> loadInstancesAndAdapt). That suggests in turn that the map was in an
> invalid state from the previous interaction; or perhaps things didn't get
> cleared down at the end of the previous interaction.
>
> Or... perhaps there's a (new?) error in the Oid class so that it no longer
> acting correctly as a value type as the key in the Oid/adapter map.
>
> Hope that some of the above helps you figure out the issue....
>
> Cheers
> Dan
>
>
>
> > .......
> > 22:15:23,207  [AdapterManagerDefault main       DEBUG]
> remapAsPersistent:
> >
> !org.apache.isis.objectstore.jdo.datanucleus.service.support.IsisJdoSupportImpl:c51ca8f2-48d1-412b-979c-11622a382faf
> > 22:15:23,207  [AdapterManagerDefault main       DEBUG]  removing root
> > adapter from oid map
> > 22:15:23,207  [OidAdapterHashMap    main       DEBUG]  remove oid:
> >
> !org.apache.isis.objectstore.jdo.datanucleus.service.support.IsisJdoSupportImpl:c51ca8f2-48d1-412b-979c-11622a382faf
> > 22:15:23,207  [AdapterManagerDefault main       DEBUG]  removing
> > collection adapter(s) from oid map
> > 22:15:23,207  [AdapterManagerDefault main       DEBUG]  updating the Oid
> > 22:15:23,207  [AdapterManagerDefault main       DEBUG]  replacing Oid for
> > root adapter and re-adding into maps; oid is now:
> >
> org.apache.isis.objectstore.jdo.datanucleus.service.support.IsisJdoSupportImpl:1
> > (was:
> >
> !org.apache.isis.objectstore.jdo.datanucleus.service.support.IsisJdoSupportImpl:c51ca8f2-48d1-412b-979c-11622a382faf)
> > 22:15:23,207  [OidAdapterHashMap    main       DEBUG]  add oid:
> >
> org.apache.isis.objectstore.jdo.datanucleus.service.support.IsisJdoSupportImpl:1
> > ; oid.hashCode: + #102ac45e ; adapter.hashCode(): #5e65eee4
> > 22:15:23,207  [AdapterManagerDefault main       DEBUG]  replacing Oids
> for
> > collection adapter(s) and re-adding into maps
> > 22:15:23,207  [AdapterManagerDefault main       DEBUG]  synchronizing
> > collection pojos, remapping in pojo map if required
> > 22:15:23,207  [AdapterManagerDefault main       DEBUG]  made persistent
> > PojoAdapter@5e65eee4
> >
> [PR~:org.apache.isis.objectstore.jdo.datanucleus.service.support.IsisJdoSupportImpl:1,specification=IsisJdoSupportImpl,version=null,pojo-toString=org.apache.isis.objectstore.jdo.datanucleus.service.support.IsisJdoSupportImpl@1dd1b36
> ,pojo-hash=#1dd1b36];
> > was
> >
> !org.apache.isis.objectstore.jdo.datanucleus.service.support.IsisJdoSupportImpl:c51ca8f2-48d1-412b-979c-11622a382faf
> > Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0.051 sec
> > <<< FAILURE! - in integration.tests.ToDoItemsIntegTest$Finders
> > complete_and_notYetComplete(integration.tests.ToDoItemsIntegTest$Finders)
> > Time elapsed: 0.051 sec  <<< ERROR!
> > java.lang.RuntimeException: java.lang.IllegalArgumentException: mismatch
> > in OidAdapter map: adapter's Oid: TODO:1^1:tester:, provided adapter's
> OID:
> > TODO:1^1:tester:; map's adapter's Oid: TODO:1^1:tester:
> > at
> org.apache.isis.core.commons.ensure.Ensure.ensureThatArg(Ensure.java:75)
> > at
> >
> org.apache.isis.core.runtime.persistence.adaptermanager.AdapterManagerDefault.ensureOidAdapterMapConsistent(AdapterManagerDefault.java:810)
> > at
> >
> org.apache.isis.core.runtime.persistence.adaptermanager.AdapterManagerDefault.ensureMapsConsistent(AdapterManagerDefault.java:780)
> > at
> >
> org.apache.isis.core.runtime.persistence.adaptermanager.AdapterManagerDefault.removeAdapter(AdapterManagerDefault.java:459)
> > at
> >
> org.apache.isis.core.runtime.persistence.adaptermanager.AdapterManagerDefault.remapRecreatedPojo(AdapterManagerDefault.java:368)
> > at
> >
> org.apache.isis.objectstore.jdo.datanucleus.persistence.FrameworkSynchronizer$1.run(FrameworkSynchronizer.java:95)
> > at
> >
> org.apache.isis.objectstore.jdo.datanucleus.persistence.FrameworkSynchronizer$8.call(FrameworkSynchronizer.java:352)
> > at
> >
> org.apache.isis.objectstore.jdo.datanucleus.persistence.FrameworkSynchronizer$8.call(FrameworkSynchronizer.java:348)
> > at
> >
> org.apache.isis.objectstore.jdo.datanucleus.persistence.FrameworkSynchronizer.withLogging(FrameworkSynchronizer.java:337)
> > at
> >
> org.apache.isis.objectstore.jdo.datanucleus.persistence.FrameworkSynchronizer.withLogging(FrameworkSynchronizer.java:348)
> > at
> >
> org.apache.isis.objectstore.jdo.datanucleus.persistence.FrameworkSynchronizer.postLoadProcessingFor(FrameworkSynchronizer.java:75)
> > at
> >
> org.apache.isis.objectstore.jdo.datanucleus.persistence.queries.PersistenceQueryProcessorAbstract.loadAdapters(PersistenceQueryProcessorAbstract.java:85)
> > at
> >
> org.apache.isis.objectstore.jdo.datanucleus.persistence.queries.PersistenceQueryFindAllInstancesProcessor.process(PersistenceQueryFindAllInstancesProcessor.java:57)
> > at
> >
> org.apache.isis.objectstore.jdo.datanucleus.persistence.queries.PersistenceQueryFindAllInstancesProcessor.process(PersistenceQueryFindAllInstancesProcessor.java:34)
> > at
> >
> org.apache.isis.objectstore.jdo.datanucleus.DataNucleusObjectStore.processPersistenceQuery(DataNucleusObjectStore.java:520)
> > at
> >
> org.apache.isis.objectstore.jdo.datanucleus.DataNucleusObjectStore.loadInstancesAndAdapt(DataNucleusObjectStore.java:515)
> > at
> >
> org.apache.isis.core.runtime.system.persistence.PersistenceSession$1.execute(PersistenceSession.java:420)
> > at
> >
> org.apache.isis.core.runtime.system.persistence.PersistenceSession$1.execute(PersistenceSession.java:417)
> > at
> >
> org.apache.isis.core.runtime.system.transaction.IsisTransactionManager.executeWithinTransaction(IsisTransactionManager.java:205)
> > at
> >
> org.apache.isis.core.runtime.system.persistence.PersistenceSession.getInstancesFromPersistenceLayer(PersistenceSession.java:417)
> > at
> >
> org.apache.isis.core.runtime.system.persistence.PersistenceSession.getInstances(PersistenceSession.java:413)
> > at
> >
> org.apache.isis.core.runtime.system.persistence.PersistenceSession.findInstances(PersistenceSession.java:394)
> > at
> >
> org.apache.isis.core.runtime.system.persistence.PersistenceSession.findInstances(PersistenceSession.java:377)
> > at
> >
> org.apache.isis.core.runtime.persistence.internal.RuntimeContextFromSession$8.allMatchingQuery(RuntimeContextFromSession.java:282)
> > at
> >
> org.apache.isis.core.metamodel.services.container.DomainObjectContainerDefault.allMatches(DomainObjectContainerDefault.java:438)
> > at
> >
> org.apache.isis.core.metamodel.services.container.DomainObjectContainerDefault.allInstances(DomainObjectContainerDefault.java:396)
> > at
> >
> fixture.todo.items.actions.complete.ToDoItemCompleteAbstract.findToDoItem(ToDoItemCompleteAbstract.java:42)
> > at
> >
> fixture.todo.items.actions.complete.ToDoItemCompleteAbstract.complete(ToDoItemCompleteAbstract.java:36)
> > at
> >
> fixture.todo.items.actions.complete.ToDoItemCompleteForBuyStamps.execute(ToDoItemCompleteForBuyStamps.java:27)
> > at
> >
> org.apache.isis.applib.fixturescripts.FixtureScript$ExecutionContext.executeChildIfNotAlready(FixtureScript.java:408)
> > at
> >
> org.apache.isis.applib.fixturescripts.FixtureScript$ExecutionContext.executeChild(FixtureScript.java:389)
> > at
> >
> org.apache.isis.applib.fixturescripts.FixtureScript$ExecutionContext.executeChild(FixtureScript.java:374)
> > at
> >
> fixture.todo.scenarios.ToDoItemsRecreateAndCompleteSeveral.execute(ToDoItemsRecreateAndCompleteSeveral.java:83)
> > at
> >
> org.apache.isis.applib.fixturescripts.FixtureScript$ExecutionContext.executeChildIfNotAlready(FixtureScript.java:408)
> > at
> >
> org.apache.isis.applib.fixturescripts.FixtureScript$ExecutionContext.executeChild(FixtureScript.java:389)
> > at
> >
> org.apache.isis.applib.fixturescripts.FixtureScript$ExecutionContext.executeChild(FixtureScript.java:374)
> > at
> >
> fixture.todo.integtests.ToDoItemsIntegTestFixture.execute(ToDoItemsIntegTestFixture.java:37)
> > at
> >
> org.apache.isis.applib.fixturescripts.FixtureScript$ExecutionContext.executeChildIfNotAlready(FixtureScript.java:408)
> > at
> >
> org.apache.isis.applib.fixturescripts.FixtureScript$ExecutionContext.access$100(FixtureScript.java:242)
> > at
> >
> org.apache.isis.applib.fixturescripts.FixtureScript.run(FixtureScript.java:504)
> > at
> >
> org.apache.isis.applib.fixturescripts.FixtureScripts.runFixtureScript(FixtureScripts.java:266)
> > at
> >
> fixture.todo.ToDoItemsFixturesService.runFixtureScript(ToDoItemsFixturesService.java:58)
> > at
> >
> integration.tests.ToDoItemsIntegTest$Finders.setUpData(ToDoItemsIntegTest.java:49)
> >
> >
> >
> > Jeremy D. Branham
> > Tel: **DOTNET
> >
> >
> > -----Original Message-----
> > From: Martin Grigorov [mailto:mgrigorov@apache.org]
> > Sent: Monday, December 29, 2014 11:08 PM
> > To: users
> > Subject: RE: Working on a branch with latest datanucleus
> >
> > Hi,
> >
> > On Dec 30, 2014 5:39 AM, "Branham, Jeremy [HR]" <
> > Jeremy.D.Branham@sprint.com>
> > wrote:
> > >
> > > There ended up being a lot of refactoring to swap PersistenceCapable
> > > for
> > Persistable throughout.
> > >
> > > Currently trying to understand this -
> > >
> > > java.lang.IllegalArgumentException: mismatch in OidAdapter map:
> > > adapter's
> > Oid: TODO:1^1:tester:, provided adapter's OID: TODO:1^1:tester:; map's
> > adapter's Oid: TODO:1^1:tester:
> > > at
> > org.apache.isis.core.commons.ensure.Ensure.ensureThatArg(Ensure.java:75)
> > >
> > >
> > > I'm having difficulty getting MyEclipse to attach and stop at the
> > breakpoints during a Maven build, so this process has been needlessly
> > complicated.
> > >
> > > This is off topic, but I'm curious what other folks are using.
> > > Eclipse,
> > IDEA, other?
> >
> > I'm ex-Eclipse user and now I use IDEA for 2+ years. I'm very happy with
> > the switch! Debugging Maven build usually is very easy by using IDEA's
> > Maven integration !
> >
> > Some ideas:
> > 1) use mvnDebug to start Maven on command line with remote debugging
> > enabled. It will suspend before starting the process so you can attach
> the
> > debugger
> >
> > 2) run the failing test directly from the IDE
> >
> > Thanks for helping us with this!
> > Have fun!
> >
> > >
> > >
> > > Jeremy D. Branham
> > > Tel: **DOTNET
> > >
> > >
> > > -----Original Message-----
> > > From: Branham, Jeremy [HR]
> > > Sent: Monday, December 29, 2014 4:47 PM
> > > To: users@isis.apache.org
> > > Subject: RE: Working on a branch with latest datanucleus
> > >
> > >
> > > I've added the factories to the ' IsisConfigurationForJdoIntegTests'
> > > and
> > adjusted the DataNucleus properties to match 4.x
> > >
> > > I can see the tables are getting created but there is a cast exception.
> > > I won't flood the email distribution again until I'm stuck for a few
> > hours. =] Looks like it's pretty close now.
> > >
> > >
> > > Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0.031
> > > sec
> > <<< FAILURE! - in integration.tests.ToDoItemsIntegTest$NewToDo_and_Delete
> > > happyCase(integration.tests.ToDoItemsIntegTest$NewToDo_and_Delete)
> > > Time
> > elapsed: 0.031 sec  <<< ERROR!
> > > java.lang.ClassCastException: dom.todo.ToDoItem cannot be cast to
> > javax.jdo.spi.PersistenceCapable
> > >
> > >
> > > -------------------------
> > > 16:35:20,986  [Schema               main       DEBUG]  CREATE TABLE
> > "ToDoItem"
> > > (
> > >     "id" BIGINT GENERATED BY DEFAULT AS IDENTITY,
> > >     "attachment_name" BLOB NULL,
> > >     "category" NVARCHAR(255) NOT NULL,
> > >     "complete" BOOLEAN NOT NULL,
> > >     "cost" DECIMAL(19,2) NULL,
> > >     "description" NVARCHAR(100) NOT NULL,
> > >     "doc_name" BLOB NULL,
> > >     "dueBy" DATE NULL,
> > >     "notes" NVARCHAR(400) NULL,
> > >     "ownedBy" NVARCHAR(255) NOT NULL,
> > >     "subcategory" NVARCHAR(255) NULL,
> > >     "version" BIGINT NOT NULL,
> > >     CONSTRAINT "ToDoItem_PK" PRIMARY KEY ("id")
> > > )
> > > 16:35:20,986  [Schema               main       DEBUG]  Execution Time
> = 0
> > ms
> > > 16:35:21,002  [Schema               main       DEBUG]  Check of
> existence
> > of "ToDoItemDependencies" returned no table
> > > 16:35:21,002  [Schema               main       DEBUG]  Creating table
> > "ToDoItemDependencies"
> > > 16:35:21,002  [Schema               main       DEBUG]  CREATE TABLE
> > "ToDoItemDependencies"
> > > (
> > >     "dependingId" BIGINT NOT NULL,
> > >     "dependentId" BIGINT NOT NULL,
> > >     CONSTRAINT "ToDoItemDependencies_PK" PRIMARY KEY
> > ("dependingId","dependentId")
> > > )
> > >
> > >
> > >
> > >
> > >
> > >
> > > Jeremy D. Branham
> > > Tel: **DOTNET
> > >
> > >
> > > -----Original Message-----
> > > From: Branham, Jeremy [HR]
> > > Sent: Monday, December 29, 2014 3:31 PM
> > > To: users@isis.apache.org
> > > Subject: RE: Working on a branch with latest datanucleus
> > >
> > > Forgot to mention -
> > > I updated the 'JDOStateManagerForIsis' to use Persistable instead of
> > PersistanceCapable.
> > >
> > > public class JDOStateManagerForIsis extends
> > > ReferentialStateManagerImpl {
> > ...
> > > }
> > >
> > >
> > > Jeremy D. Branham
> > > Tel: **DOTNET
> > >
> > >
> > > -----Original Message-----
> > > From: Branham, Jeremy [HR]
> > > Sent: Monday, December 29, 2014 3:26 PM
> > > To: users@isis.apache.org
> > > Subject: RE: Working on a branch with latest datanucleus
> > >
> > > Thanks, that has got me started.
> > > For now I am just working with the RDMS capable statemanager, and will
> > focus on the Neo4j compatibility later.
> > >
> > > I've added two ' AbstractRemoveMethodsFacetFactory'
> > >
> > > [Finds 25 methods]
> > >     public RemoveDatanucleusPersistableTypesFacetFactory() {
> > >         super("org.datanucleus.enhancer.Persistable");
> > >     }
> > >
> > > And
> > >
> > > [org.apache.isis.core.commons.factory.UnavailableClassException: The
> > default type 'javax.jdo.spi.Persistable' cannot be found]
> > >     public RemoveJdoPersistableEnhancementTypesFacetFactory() {
> > >         super("javax.jdo.spi.Persistable");
> > >     }
> > >
> > >
> > >
> > > In the 'FacetedMethodsBuilder# getActionFacetedMethods' I do see this
> > > -
> > [It looks like it is stripping off the dn methods, does this look right?]
> > >
> > > associationFacetMethodsCollections$UnmodifiableRandomAccessList<E>
> > (id=289) [PROPERTY Peer
> > [identifier="dom.simple.SimpleObject#name()",type=java.lang.String ]]
> > >
> > > introspectedClassClass<T> (dom.simple.SimpleObject) (id=291) class
> > dom.simple.SimpleObject
> > >
> > > methodsArrays$ArrayList<E>  (id=293)
> > > [null, null, null, null, public static java.lang.Class
> > dom.simple.SimpleObject.___jdo$loadClass(java.lang.String), null, null,
> > null, null, null, null, null, null, null, null, null, null, null, null,
> > null, null, null, null, null, null, null, null, null, null, null, null,
> > null, null, null, null, null, null, null, null, null, null]
> > >
> > >
> > > Is it ok that the 'SimpleObject.___jdo$loadClass' method is listed
> there?
> > >
> > >
> > >
> > > Although, this exception is getting thrown now -
> > >
> > >                 // assert is persistent
> > >                 if(!pojo.jdoIsPersistent()) {
> > >                     throw new IllegalStateException("Pojo JDO state is
> > not persistent! pojo dnOid: " + JDOHelper.getObjectId(pojo));
> > >                 }
> > >
> > >
> > > Is there still something wrong with the method filtering? Or is this a
> > different issue?
> > >
> > >
> > >
> > > Jeremy D. Branham
> > > Tel: **DOTNET
> > >
> > >
> > > -----Original Message-----
> > > From: Dan Haywood [mailto:dan@haywood-associates.co.uk]
> > > Sent: Monday, December 29, 2014 11:33 AM
> > > To: users
> > > Subject: Re: Working on a branch with latest datanucleus
> > >
> > > Hi Jeremy,
> > >
> > > Having not looked at DN 4.x at all yet, can't specfically advise; have
> > > a
> > few general thoughts though.
> > >
> > > Just to recap on stuff that you probably know/have figured out...
> > >
> > > * With respect to javax.jdo.spi.PersistenceCapable vs
> > javax.jdo.spi.Persistable, in DN 3.x I know the enhancer makes all
> > enhanced objects implement the javax.jdo.spi.PersistenceCapable
> interface.
> > Looking at the javax.jdo.spi.Persistable interface for DN 3.x it seems
> like
> > its a placeholder, with a comment "Note that this is not yet used by
> > DataNucleus, but is intended as something for the future."
> > >
> > > * My guess for DN 4.x is that Andy Jefferson (maintainer of DN) has
> > > now
> > made this change, and generalized things to work with
> > javax.jdo.spi.Persistable instead of, or perhaps as well as,
> > PersistenceCapable.  (This might explain the new dnReplaceFields(...)
> > methods rather than jdoReplaceFields(...) methods that you saw before).
> > >
> > > * I can tell you that JDOStateManagerForIsis is kinda important, as
> > > its
> > the point where we tell Isis about the objects that are brought into
> > memory by DN, to map them and inject services into them.  So you will
> need
> > to find some sort of implementation of it.
> > >
> > > ~~~
> > > From its name, I'm guessing that ReferentialJDOStateManager is for
> > > RDBMS
> > stores, whereas of course you are using Neo4J instead.  So you probably
> > need to inherit from AbstractStateManager or something else higher up in
> > the inheritance hierarchy.
> > >
> > > In terms of getting Isis to work with your own improved version of
> > JdoStateManagerForIsis, it looks like the implementation is specified in
> > >
> >
> >
> DataNucleusPersistenceMechanismInstaller#addDataNucleusPropertiesIfRequired(...)
> > >  ... so you can probably just add your impl to isis.properties.
> > >
> > > Also, I notice that there's a thread-local in JdoStateManagerForIsis
> > > that
> > is referenced by EventBusServiceJdo, but that could easily be moved out
> > into some other class.
> > >
> > > ~~
> > > If none of the above helps, you might want to try posting a question
> > > on
> > the DN forum [1], though I know that Andy does also answer DN questions
> on
> > SO also.  The question will need to be framed in terms of DN rather than
> > Isis though.
> > >
> > > If you get nowhere, I can ping Andy also (so long as I'm clear about
> > > what
> > I'm asking, which I'm not quite, at the moment).
> > >
> > > HTH
> > > Dan
> > >
> > >
> > > [1] http://www.datanucleus.org/support.html
> > >
> > >
> > >
> > > On 29 December 2014 at 16:52, Branham, Jeremy [HR] <
> > Jeremy.D.Branham@sprint.com> wrote:
> > >
> > > > I thought I was being clever changing over to 'Persitable' in the
> > > > 'JDOStateManagerForIsis', but I get errors about the 'SimpleObject'
> > > > not being persistable at runtime.
> > > >
> > > > ---------------
> > > >
> > > > I have a question about the ReferentialJDOStateManager in
> DataNucleus.
> > > > The JDOStateManager extended this class in DN 3.x but it is not
> > > > present in DN 4.x
> > > >
> > > > Affected class in Isis -
> > > > public class JDOStateManagerForIsis extends
> > > > ReferentialJDOStateManager implements StateManager, ObjectProvider
> > > >
> > > > I do see this class -
> > > > org.datanucleus.state.ReferentialStateManagerImpl
> > > >
> > > > I thought this might be the appropriate replacement, but if I extend
> > > > ReferentialStateManagerImpl, there are problems...
> > > >
> > > > The problem I encounter when extending the new class -
> > > > ReferentialStateManagerImpl extends StateManagerImpl. Which extends
> > > > AbstractStateManager<Persistable>
> > > >
> > > > The current JDOStateManagerForIsis is setup to handle
> > > > PersistenceCapable objects rather than Persistable objects.
> > > >
> > > > I'm not sure where to go from here.
> > > >
> > > > Also posted on SO -
> > > >
> > > > http://stackoverflow.com/questions/27692754/is-referentialjdostatema
> > > > na
> > > > ger-not-used-in-datanucleus-4-x
> > > >
> > > >
> > > >
> > > >
> > > > Jeremy D. Branham
> > > > Tel: **DOTNET
> > > >
> > > >
> > > > -----Original Message-----
> > > > From: Dan Haywood [mailto:dan@haywood-associates.co.uk]
> > > > Sent: Friday, December 26, 2014 1:42 AM
> > > > To: users
> > > > Subject: Re: Working on a branch with latest datanucleus
> > > >
> > > > With Isis we have:
> > > >
> > > >
> > > >
> > > > org.apache.isis.core.metamodel.facets.object.ignore.jdo.RemoveJdoEnh
> > > > an
> > > > cementTypesFacetFactory
> > > >
> > > > that ensures that Isis ignores all the methods in the
> > > > javax,jdo.spi.PersistenceCapable interface.  That interface defines
> > > > a bunch of methods called jdoReplaceFields(int[]) and so on.
> > > >
> > > > My guess is that with DN 4.0 that this has changed so that there is
> > > > a similar DN-specific interface that the enhancer makes the
> > > > persistence-capable objects implement.
> > > >
> > > > Have a go at writing a similar facet factory and register it in
> > > > isis.properties using the "isis.reflector.facets.include" property,
> > > > see [1]... If it works we can incorporate into Isis proper for a
> > > > future
> > version.
> > > >
> > > > Let us know how you get on.
> > > >
> > > > Dan
> > > >
> > > >
> > > > [1]
> > > >
> > > > http://isis.apache.org/more-advanced-topics/metamodel-finetuning-the
> > > > -p
> > > > rogramming-model.html
> > > >
> > > >
> > > > On 25 December 2014 at 00:43, Branham, Jeremy [HR] <
> > > > Jeremy.D.Branham@sprint.com> wrote:
> > > >
> > > > > Thanks for checking Dan.
> > > > > I solved that particular issue, but I'm not sure it's a valid
> > solution.
> > > > >
> > > > > Changed -
> > > > >
> > > > > https://github.com/jdbranham/isis/blob/DN_404/core/metamodel/src/m
> > > > > ai
> > > > > n/
> > > > > java/org/apache/isis/core/metamodel/specloader/classsubstitutor/Cl
> > > > > as
> > > > > sS
> > > > > ubstitutor.java#L53-L55
> > > > >
> > > > >
> > > > > New Issue I'm working on -
> > > > >
> > > > > Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed:
> > > > > 0.197 sec <<< FAILURE! - in
> > > > > integration.tests.ToDoItemIntegTest$Properties$Description
> > > > > integration.tests.ToDoItemIntegTest$Properties$Description  Time
> > elapsed:
> > > > > 0.197 sec  <<< ERROR!
> > > > > java.lang.RuntimeException:
> > > > > org.apache.isis.core.commons.exceptions.UnknownTypeException:
> > > > > collections not supported as parameters:
> > > > > dom.todo.ToDoItem#dnProvideFields([I)
> > > > > at
> > > > > org.apache.isis.core.integtestsupport.IsisSystemForTest.setUpSyste
> > > > > m(
> > > > > Is
> > > > > isSystemForTest.java:314)
> > > > >
> > > > >
> > > > > Jeremy D. Branham
> > > > > Tel: **DOTNET
> > > > >
> > > > >
> > > > > -----Original Message-----
> > > > > From: Dan Haywood [mailto:dan@haywood-associates.co.uk]
> > > > > Sent: Wednesday, December 24, 2014 12:05 PM
> > > > > To: users
> > > > > Subject: Re: Working on a branch with latest datanucleus
> > > > >
> > > > > Hi Jeremy,
> > > > >
> > > > > sorry, it's not clear to me if you had an issue but then resolved
> > > > > it, or whether there is still an issue?
> > > > >
> > > > > With respect to moving to DN 4.0, that's certainly the intention,
> > > > > and is a prerequisite for us to support Java8.  Given that Java7
> > > > > support finishes in April 2015, it's clearly something that we
> > > > > need to do be tackling quite soon.
> > > > >
> > > > > Thx
> > > > > Dan
> > > > >
> > > > >
> > > > > On 24 December 2014 at 05:24, Branham, Jeremy [HR] <
> > > > > Jeremy.D.Branham@sprint.com> wrote:
> > > > >
> > > > > > The line numbers didn't match because a different version of the
> > > > > > class was being loaded.
> > > > > > I added a null check that solved the issue, but the code running
> > > > > > hadn't picked up the change yet.
> > > > > >
> > > > > >
> > > > > > Jeremy D. Branham
> > > > > > Tel: **DOTNET
> > > > > >
> > > > > >
> > > > > > -----Original Message-----
> > > > > > From: Branham, Jeremy [HR]
> > > > > > Sent: Tuesday, December 23, 2014 11:04 PM
> > > > > > To: users@isis.apache.org
> > > > > > Subject: Working on a branch with latest datanucleus
> > > > > >
> > > > > > Sorry for the massive stack trace, but I was looking for some
> > > > > > pointers on what might be happing here.
> > > > > > I'm having a bit of difficulty debugging because the line
> > > > > > numbers reported don't seem to match the source files, and even
> > > > > > when stepping through the code. [maybe something wrong in my dev
> > > > > > env]
> > > > > >
> > > > > > I'm working on a branch with a newer datanucleus support [4.0.4]
> > > > > > and seems to be an issue with the spec loader.
> > > > > > I understand if there is no support for this yet.
> > > > > >
> > > > > >
> > > > > > 22:52:01,445  [Reflections          main       INFO ]
> Reflections
> > took
> > > > > > 421 ms to scan 7 urls, producing 148 keys and 716 values
> > > > > > 22:52:01,523  [ServiceInstantiator  main       DEBUG]  loading
> > class
> > > > for
> > > > > > service: dom.simple.SimpleObjects
> > > > > > 22:52:01,523  [ServiceInstantiator  main       DEBUG]  loading
> > class
> > > > for
> > > > > > service: fixture.simple.SimpleObjectsFixturesService
> > > > > > 22:52:01,523  [ServiceInstantiator  main       DEBUG]  loading
> > class
> > > > for
> > > > > > service:
> org.apache.isis.applib.annotation.Bulk$InteractionContext
> > > > > > 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading
> > class
> > > > for
> > > > > > service:
> > > > > >
> > > > > org.apache.isis.applib.services.bookmark.BookmarkHolderActionContr
> > > > > ib
> > > > > ut
> > > > > ions
> > > > > > 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading
> > class
> > > > for
> > > > > > service:
> > > > > >
> > > > > org.apache.isis.applib.services.classdiscovery.ClassDiscoveryServi
> > > > > ce
> > > > > Us
> > > > > ingReflections
> > > > > > 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading
> > class
> > > > for
> > > > > > service: org.apache.isis.applib.services.clock.ClockService
> > > > > > 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading
> > class
> > > > for
> > > > > > service: org.apache.isis.applib.services.command.CommandContext
> > > > > > 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading
> > class
> > > > for
> > > > > > service:
> > > > > org.apache.isis.applib.services.queryresultscache.QueryResultsCach
> > > > > e
> > > > > > 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading
> > class
> > > > for
> > > > > > service: org.apache.isis.applib.services.scratchpad.Scratchpad
> > > > > > 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading
> > class
> > > > for
> > > > > > service:
> > > > > >
> > > > org.apache.isis.core.metamodel.services.bookmarks.BookmarkServiceDef
> > > > au
> > > > lt
> > > > > > 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading
> > class
> > > > for
> > > > > > service:
> > > > > >
> > > > > org.apache.isis.core.metamodel.services.container.DomainObjectCont
> > > > > ai
> > > > > ne
> > > > > rDefault
> > > > > > 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading
> > class
> > > > for
> > > > > > service:
> > > > > >
> > > > org.apache.isis.core.runtime.services.background.BackgroundServiceDe
> > > > fa
> > > > ult
> > > > > > 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading
> > class
> > > > for
> > > > > > service:
> > > > > org.apache.isis.core.runtime.services.memento.MementoServiceDefaul
> > > > > t
> > > > > > 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading
> > class
> > > > for
> > > > > > service:
> > > > > >
> > > > > org.apache.isis.core.runtime.services.xmlsnapshot.XmlSnapshotServi
> > > > > ce
> > > > > De
> > > > > fault
> > > > > > 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading
> > class
> > > > for
> > > > > > service: org.apache.isis.core.wrapper.WrapperFactoryDefault
> > > > > > 22:52:01,587  [ServiceInstantiator  main       DEBUG]  loading
> > class
> > > > for
> > > > > > service:
> > > > > >
> > > > > org.apache.isis.objectstore.jdo.applib.service.exceprecog.Exceptio
> > > > > nR
> > > > > ec
> > > > > ognizerCompositeForJdoObjectStore
> > > > > > 22:52:01,618  [ServiceInstantiator  main       DEBUG]  loading
> > class
> > > > for
> > > > > > service:
> > > > > >
> > > > > org.apache.isis.objectstore.jdo.datanucleus.service.eventbus.Event
> > > > > Bu
> > > > > sS
> > > > > erviceJdo
> > > > > > 22:52:01,618  [ServiceInstantiator  main       DEBUG]  loading
> > class
> > > > for
> > > > > > service:
> > > > > >
> > > > > org.apache.isis.objectstore.jdo.datanucleus.service.support.IsisJd
> > > > > oS
> > > > > up
> > > > > portImpl
> > > > > > 22:52:01,618  [ServiceInstantiator  main       DEBUG]  loading
> > class
> > > > for
> > > > > > service:
> > > > > >
> > > > > org.apache.isis.viewer.restfulobjects.rendering.service.Representa
> > > > > ti
> > > > > on
> > > > > ServiceForRestfulObjects
> > > > > > 22:52:01,712  [ServicesInjectorDefault main       DEBUG]
> injected
> > > > > > org.apache.isis.core.metamodel.services.container.DomainObjectCo
> > > > > > nt
> > > > > > ai
> > > > > > ne
> > > > > > rDefault@397c8a21
> > > > > > into SimpleObjects@529d935d[]
> > > > > > 22:52:01,712  [ServicesInjectorDefault main       DEBUG]
> injected
> > > > > > org.apache.isis.core.runtime.services.memento.MementoServiceDefa
> > > > > > ul t@ 6c dd377c into SimpleObjectsFixturesService@2f65e5ba[]
> > > > > > 22:52:01,712  [ServicesInjectorDefault main       DEBUG]
> injected
> > > > > > org.apache.isis.core.metamodel.services.bookmarks.BookmarkServic
> > > > > > eD
> > > > > > ef
> > > > > > au
> > > > > > lt@4acd2ea5 into SimpleObjectsFixturesService@2f65e5ba[]
> > > > > > 22:52:01,712  [ServicesInjectorDefault main       DEBUG]
> injected
> > > > > > org.apache.isis.applib.services.classdiscovery.ClassDiscoverySer
> > > > > > vi
> > > > > > ce
> > > > > > Us
> > > > > > ingReflections@64b17900 into
> SimpleObjectsFixturesService@2f65e5ba
> > []
> > > > > > 22:52:01,712  [ServicesInjectorDefault main       DEBUG]
> injected
> > > > > > org.apache.isis.core.metamodel.services.container.DomainObjectCo
> > > > > > nt
> > > > > > ai
> > > > > > ne
> > > > > > rDefault@397c8a21 into SimpleObjectsFixturesService@2f65e5ba[]
> > > > > > 22:52:01,712  [ServicesInjectorDefault main       DEBUG]
> injected
> > > > > > org.apache.isis.core.metamodel.services.bookmarks.BookmarkServic
> > > > > > eD
> > > > > > ef
> > > > > > au
> > > > > > lt@4acd2ea5 into BookmarkHolderActionContributions@3f7f22a5[]
> > > > > > 22:52:01,712  [ServicesInjectorDefault main       DEBUG]
> injected
> > > > > > org.apache.isis.core.metamodel.services.container.DomainObjectCo
> > > > > > nt
> > > > > > ai
> > > > > > ne
> > > > > > rDefault@397c8a21 into
> > > > > > ClassDiscoveryServiceUsingReflections@64b17900[]
> > > > > > 22:52:01,712  [ServicesInjectorDefault main       DEBUG]
> injected
> > > > > > org.apache.isis.core.wrapper.WrapperFactoryDefault@33bb9f34 into
> > > > > > BookmarkServiceDefault@4acd2ea5[]
> > > > > > 22:52:01,712  [ServicesInjectorDefault main       DEBUG]
> injected
> > > > > > org.apache.isis.core.wrapper.WrapperFactoryDefault@33bb9f34 into
> > > > > > DomainObjectContainerDefault@397c8a21[]
> > > > > > 22:52:01,712  [ServicesInjectorDefault main       DEBUG]
> injected
> > > > > > org.apache.isis.core.metamodel.services.bookmarks.BookmarkServic
> > > > > > eD
> > > > > > ef
> > > > > > au
> > > > > > lt@4acd2ea5 into BackgroundServiceDefault@4898c8f9[]
> > > > > > 22:52:01,712  [ServicesInjectorDefault main       DEBUG]
> injected
> > > > > > org.apache.isis.core.runtime.services.ServiceInstantiator$2@26b2
> > > > > > 78 ab into BackgroundServiceDefault@4898c8f9[]
> > > > > > 22:52:01,727  [ObjectReflectorDefault main       DEBUG]
> > initialising
> > > > > >
> > > > org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault@1e6
> > > > 14
> > > > 4db
> > > > > > 22:52:01,727  [ServicesInjectorDefault main       DEBUG]
> injected
> > > > > > org.apache.isis.core.metamodel.services.container.DomainObjectCo
> > > > > > nt
> > > > > > ai
> > > > > > ne
> > > > > > rDefault@397c8a21
> > > > > > into SimpleObjects@529d935d[]
> > > > > > 22:52:01,727  [ServicesInjectorDefault main       DEBUG]
> injected
> > > > > > org.apache.isis.core.runtime.services.memento.MementoServiceDefa
> > > > > > ul t@ 6c dd377c into SimpleObjectsFixturesService@2f65e5ba[]
> > > > > > 22:52:01,727  [ServicesInjectorDefault main       DEBUG]
> injected
> > > > > > org.apache.isis.core.metamodel.services.bookmarks.BookmarkServic
> > > > > > eD
> > > > > > ef
> > > > > > au
> > > > > > lt@4acd2ea5 into SimpleObjectsFixturesService@2f65e5ba[]
> > > > > > 22:52:01,727  [ServicesInjectorDefault main       DEBUG]
> injected
> > > > > > org.apache.isis.applib.services.classdiscovery.ClassDiscoverySer
> > > > > > vi
> > > > > > ce
> > > > > > Us
> > > > > > ingReflections@64b17900 into
> SimpleObjectsFixturesService@2f65e5ba
> > []
> > > > > > 22:52:01,727  [ServicesInjectorDefault main       DEBUG]
> injected
> > > > > > org.apache.isis.core.metamodel.services.container.DomainObjectCo
> > > > > > nt
> > > > > > ai
> > > > > > ne
> > > > > > rDefault@397c8a21 into SimpleObjectsFixturesService@2f65e5ba[]
> > > > > > 22:52:01,727  [ServicesInjectorDefault main       DEBUG]
> injected
> > > > > > org.apache.isis.core.metamodel.services.bookmarks.BookmarkServic
> > > > > > eD
> > > > > > ef
> > > > > > au
> > > > > > lt@4acd2ea5 into BookmarkHolderActionContributions@3f7f22a5[]
> > > > > > 22:52:01,727  [ServicesInjectorDefault main       DEBUG]
> injected
> > > > > > org.apache.isis.core.metamodel.services.container.DomainObjectCo
> > > > > > nt
> > > > > > ai
> > > > > > ne
> > > > > > rDefault@397c8a21 into
> > > > > > ClassDiscoveryServiceUsingReflections@64b17900[]
> > > > > > 22:52:01,727  [ServicesInjectorDefault main       DEBUG]
> injected
> > > > > > org.apache.isis.core.wrapper.WrapperFactoryDefault@33bb9f34 into
> > > > > > BookmarkServiceDefault@4acd2ea5[]
> > > > > > 22:52:01,727  [ServicesInjectorDefault main       DEBUG]
> injected
> > > > > > org.apache.isis.core.wrapper.WrapperFactoryDefault@33bb9f34 into
> > > > > > DomainObjectContainerDefault@397c8a21[]
> > > > > > 22:52:01,727  [ServicesInjectorDefault main       DEBUG]
> injected
> > > > > > org.apache.isis.core.metamodel.services.bookmarks.BookmarkServic
> > > > > > eD
> > > > > > ef
> > > > > > au
> > > > > > lt@4acd2ea5 into BackgroundServiceDefault@4898c8f9[]
> > > > > > 22:52:01,727  [ServicesInjectorDefault main       DEBUG]
> injected
> > > > > > org.apache.isis.core.runtime.services.ServiceInstantiator$2@26b2
> > > > > > 78 ab into BackgroundServiceDefault@4898c8f9[]
> > > > > > 22:52:14,042  [ObjectSpecificationAbstract main       DEBUG]
> > > > > Superclass
> > > > > > java.lang.Object
> > > > > > 22:52:14,152  [ObjectSpecificationAbstract main       DEBUG]
> > > > > Superclass
> > > > > > java.lang.Object
> > > > > > 22:52:14,167  [IsisWicketApplication main       ERROR]  Failed to
> > > > > > initialize
> > > > > > com.google.inject.ProvisionException: Guice provision errors:
> > > > > >
> > > > > > 1) Error in custom provider, java.lang.NullPointerException
> > > > > >   at
> > > > > >
> > > > > org.apache.isis.core.runtime.runner.IsisInjectModule.provideIsisSy
> > > > > st
> > > > > em
> > > > > (IsisInjectModule.java:132)
> > > > > >   at
> > > > > >
> > > > > org.apache.isis.core.runtime.runner.IsisInjectModule.provideIsisSy
> > > > > st
> > > > > em
> > > > > (IsisInjectModule.java:132)
> > > > > >   while locating org.apache.isis.core.runtime.system.IsisSystem
> > > > > >     for field at
> > > > > >
> > > > > org.apache.isis.viewer.wicket.viewer.IsisWicketApplication.system(
> > > > > Is
> > > > > is
> > > > > WicketApplication.java:138)
> > > > > >   while locating webapp.SimpleApplication
> > > > > >
> > > > > > 1 error
> > > > > >        at
> > > > > >
> > > > > com.google.inject.internal.Errors.throwProvisionExceptionIfErrorsE
> > > > > xi
> > > > > st
> > > > > (Errors.java:451)
> > > > > >        at
> > > > > >
> > > > > com.google.inject.internal.MembersInjectorImpl.injectMembers(Membe
> > > > > rs
> > > > > In
> > > > > jectorImpl.java:65)
> > > > > >        at
> > > > > >
> > > > > com.google.inject.internal.InjectorImpl.injectMembers(InjectorImpl
> > > > > .j
> > > > > av
> > > > > a:944)
> > > > > >        at
> > > > > >
> > > > > org.apache.isis.viewer.wicket.viewer.IsisWicketApplication.init(Is
> > > > > is
> > > > > Wi
> > > > > cketApplication.java:248)
> > > > > >        at
> webapp.SimpleApplication.init(SimpleApplication.java:81)
> > > > > >        at
> > > > > >
> org.apache.wicket.Application.initApplication(Application.java:823)
> > > > > >        at
> > > > > >
> > > > org.apache.wicket.protocol.http.WicketFilter.init(WicketFilter.java:
> > > > 42
> > > > 4)
> > > > > >        at
> > > > > >
> > > > org.apache.wicket.protocol.http.WicketFilter.init(WicketFilter.java:
> > > > 35
> > > > 1)
> > > > > >        at
> > > > > >
> > org.mortbay.jetty.servlet.FilterHolder.doStart(FilterHolder.java:97)
> > > > > >        at
> > > > > >
> > > > org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java
> > > > :5
> > > > 0)
> > > > > >        at
> > > > > >
> > > > > org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler
> > > > > .j
> > > > > av
> > > > > a:713)
> > > > > >        at
> > > > > org.mortbay.jetty.servlet.Context.startContext(Context.java:140)
> > > > > >        at
> > > > > >
> > > > > org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.
> > > > > ja
> > > > > va
> > > > > :1282)
> > > > > >        at
> > > > > >
> > > > org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java
> > > > :5
> > > > 18)
> > > > > >        at
> > > > > >
> > org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:499)
> > > > > >        at
> > > > > >
> > > > > org.mortbay.jetty.plugin.Jetty6PluginWebAppContext.doStart(Jetty6P
> > > > > lu
> > > > > gi
> > > > > nWebAppContext.java:115)
> > > > > >        at
> > > > > >
> > > > org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java
> > > > :5
> > > > 0)
> > > > > >        at
> > > > > >
> > > > >
> > org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.
> > > > > java:152)
> > > > > >        at
> > > > > >
> > > > > org.mortbay.jetty.handler.ContextHandlerCollection.doStart(Context
> > > > > Ha
> > > > > nd
> > > > > lerCollection.java:156)
> > > > > >        at
> > > > > >
> > > > org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java
> > > > :5
> > > > 0)
> > > > > >        at
> > > > > >
> > > > >
> > org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.
> > > > > java:152)
> > > > > >        at
> > > > > >
> > > > org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java
> > > > :5
> > > > 0)
> > > > > >        at
> > > > > >
> > > > org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java
> > > > :1
> > > > 30)
> > > > > >        at org.mortbay.jetty.Server.doStart(Server.java:224)
> > > > > >        at
> > > > > >
> > > > org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java
> > > > :5
> > > > 0)
> > > > > >        at
> > > > > >
> > > > > org.mortbay.jetty.plugin.Jetty6PluginServer.start(Jetty6PluginServ
> > > > > er
> > > > > .j
> > > > > ava:132)
> > > > > >        at
> > > > > >
> > > > > org.mortbay.jetty.plugin.AbstractJettyMojo.startJetty(AbstractJett
> > > > > yM
> > > > > oj
> > > > > o.java:454)
> > > > > >        at
> > > > > >
> > > > > org.mortbay.jetty.plugin.AbstractJettyMojo.execute(AbstractJettyMo
> > > > > jo
> > > > > .j
> > > > > ava:396)
> > > > > >        at
> > > > > >
> > > > > org.mortbay.jetty.plugin.AbstractJettyRunMojo.execute(AbstractJett
> > > > > yR
> > > > > un
> > > > > Mojo.java:210)
> > > > > >        at
> > > > > >
> > org.mortbay.jetty.plugin.Jetty6RunMojo.execute(Jetty6RunMojo.java:184)
> > > > > >        at
> > > > > >
> > > > > org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(Defa
> > > > > ul
> > > > > tB
> > > > > uildPluginManager.java:106)
> > > > > >        at
> > > > > >
> > > > >
> > org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.
> > > > > java:208)
> > > > > >        at
> > > > > >
> > > > >
> > org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.
> > > > > java:153)
> > > > > >        at
> > > > > >
> > > > >
> > org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.
> > > > > java:145)
> > > > > >        at
> > > > > >
> > > > > org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildPr
> > > > > oj
> > > > > ec
> > > > > t(LifecycleModuleBuilder.java:84)
> > > > > >        at
> > > > > >
> > > > > org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildPr
> > > > > oj
> > > > > ec
> > > > > t(LifecycleModuleBuilder.java:59)
> > > > > >        at
> > > > > >
> > > > > org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreade
> > > > > dB
> > > > > ui
> > > > > ld(LifecycleStarter.java:183)
> > > > > >        at
> > > > > >
> > > > > org.apache.maven.lifecycle.internal.LifecycleStarter.execute(Lifec
> > > > > yc
> > > > > le
> > > > > Starter.java:161)
> > > > > >        at
> > > > org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:317)
> > > > > >        at
> > org.apache.maven.DefaultMaven.execute(DefaultMaven.java:152)
> > > > > >        at
> org.apache.maven.cli.MavenCli.execute(MavenCli.java:555)
> > > > > >        at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:214)
> > > > > >        at org.apache.maven.cli.MavenCli.main(MavenCli.java:158)
> > > > > >        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
> > Method)
> > > > > >        at
> > > > > >
> > > > > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorIm
> > > > > pl
> > > > > .j
> > > > > ava:57)
> > > > > >        at
> > > > > >
> > > > > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAc
> > > > > ce
> > > > > ss
> > > > > orImpl.java:43)
> > > > > >        at java.lang.reflect.Method.invoke(Method.java:606)
> > > > > >        at
> > > > > >
> > > > > org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(L
> > > > > au
> > > > > nc
> > > > > her.java:289)
> > > > > >        at
> > > > > >
> > > > > org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.
> > > > > ja
> > > > > va
> > > > > :229)
> > > > > >        at
> > > > > >
> > > > > org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode
> > > > > (L
> > > > > au
> > > > > ncher.java:415)
> > > > > >        at
> > > > > >
> > > > org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java
> > > > :3
> > > > 56)
> > > > > >        at
> > > > > > org.codehaus.classworlds.Launcher.main(Launcher.java:46)
> > > > > > Caused by: java.lang.NullPointerException
> > > > > >        at
> > > > > >
> > > > > org.apache.isis.core.metamodel.specloader.classsubstitutor.ClassSu
> > > > > bs
> > > > > ti
> > > > > tutor.getClass(ClassSubstitutor.java:54)
> > > > > >        at
> > > > > >
> > > > > org.apache.isis.core.metamodel.specloader.classsubstitutor.ClassSu
> > > > > bs
> > > > > ti
> > > > > tutor.getClass(ClassSubstitutor.java:55)
> > > > > >        at
> > > > > >
> > > > > org.apache.isis.core.metamodel.specloader.specimpl.dflt.ObjectSpec
> > > > > if
> > > > > ic
> > > > > ationDefault.introspectTypeHierarchyAndMembers(ObjectSpecification
> > > > > De
> > > > > fa
> > > > > ult.java:146)
> > > > > >        at
> > > > > >
> > > > > org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.i
> > > > > nt
> > > > > ro
> > > > > spectIfRequired(ObjectReflectorDefault.java:499)
> > > > > >        at
> > > > > >
> > > > > org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.l
> > > > > oa
> > > > > dS
> > > > > pecificationForSubstitutedClass(ObjectReflectorDefault.java:400)
> > > > > >        at
> > > > > >
> > > > > org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.i
> > > > > nt
> > > > > er
> > > > > nalLoadSpecification(ObjectReflectorDefault.java:378)
> > > > > >        at
> > > > > >
> > > > > org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.l
> > > > > oa
> > > > > dS
> > > > > pecifications(ObjectReflectorDefault.java:415)
> > > > > >        at
> > > > > >
> > > > > org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.l
> > > > > oa
> > > > > dS
> > > > > pecifications(ObjectReflectorDefault.java:428)
> > > > > >        at
> > > > > >
> > > > > org.apache.isis.core.metamodel.specloader.specimpl.FacetedMethodsB
> > > > > ui
> > > > > ld
> > > > > er.representsAction(FacetedMethodsBuilder.java:455)
> > > > > >        at
> > > > > >
> > > > > org.apache.isis.core.metamodel.specloader.specimpl.FacetedMethodsB
> > > > > ui
> > > > > ld
> > > > > er.findActionFacetedMethod(FacetedMethodsBuilder.java:404)
> > > > > >        at
> > > > > >
> > > > > org.apache.isis.core.metamodel.specloader.specimpl.FacetedMethodsB
> > > > > ui
> > > > > ld
> > > > > er.findActionFacetedMethods(FacetedMethodsBuilder.java:388)
> > > > > >        at
> > > > > >
> > > > > org.apache.isis.core.metamodel.specloader.specimpl.FacetedMethodsB
> > > > > ui
> > > > > ld
> > > > > er.findActionFacetedMethods(FacetedMethodsBuilder.java:367)
> > > > > >        at
> > > > > >
> > > > > org.apache.isis.core.metamodel.specloader.specimpl.FacetedMethodsB
> > > > > ui
> > > > > ld
> > > > > er.getActionFacetedMethods(FacetedMethodsBuilder.java:343)
> > > > > >        at
> > > > > >
> > > > > org.apache.isis.core.metamodel.specloader.specimpl.dflt.ObjectSpec
> > > > > if
> > > > > ic
> > > > > ationDefault.createActions(ObjectSpecificationDefault.java:222)
> > > > > >        at
> > > > > >
> > > > > org.apache.isis.core.metamodel.specloader.specimpl.dflt.ObjectSpec
> > > > > if
> > > > > ic
> > > > > ationDefault.introspectTypeHierarchyAndMembers(ObjectSpecification
> > > > > De
> > > > > fa
> > > > > ult.java:167)
> > > > > >        at
> > > > > >
> > > > > org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.i
> > > > > nt
> > > > > ro
> > > > > spectIfRequired(ObjectReflectorDefault.java:499)
> > > > > >        at
> > > > > >
> > > > > org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.l
> > > > > oa
> > > > > dS
> > > > > pecificationForSubstitutedClass(ObjectReflectorDefault.java:400)
> > > > > >        at
> > > > > >
> > > > > org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.i
> > > > > nt
> > > > > er
> > > > > nalLoadSpecification(ObjectReflectorDefault.java:378)
> > > > > >        at
> > > > > >
> > > > > org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.p
> > > > > ri
> > > > > me
> > > > > Cache(ObjectReflectorDefault.java:269)
> > > > > >        at
> > > > > >
> > > > > org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.i
> > > > > ni
> > > > > tA
> > > > > ndValidate(ObjectReflectorDefault.java:244)
> > > > > >        at
> > > > > >
> > > > > org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.i
> > > > > ni
> > > > > t(
> > > > > ObjectReflectorDefault.java:205)
> > > > > >        at
> > > > > >
> > > > >
> > org.apache.isis.core.runtime.system.session.IsisSessionFactoryDefault.
> > > > > init(IsisSessionFactoryDefault.java:192)
> > > > > >        at
> > > > > >
> > > > > org.apache.isis.core.runtime.system.IsisSystemFixturesHookAbstract
> > > > > .i
> > > > > ni
> > > > > t(IsisSystemFixturesHookAbstract.java:120)
> > > > > >        at
> > > > > >
> > > > > org.apache.isis.core.runtime.runner.IsisInjectModule.provideIsisSy
> > > > > st
> > > > > em
> > > > > (IsisInjectModule.java:133)
> > > > > >        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
> > Method)
> > > > > >        at
> > > > > >
> > > > > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorIm
> > > > > pl
> > > > > .j
> > > > > ava:57)
> > > > > >        at
> > > > > >
> > > > > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAc
> > > > > ce
> > > > > ss
> > > > > orImpl.java:43)
> > > > > >        at java.lang.reflect.Method.invoke(Method.java:606)
> > > > > >        at
> > > > > >
> > com.google.inject.internal.ProviderMethod.get(ProviderMethod.java:104)
> > > > > >        at
> > > > > >
> > > > > com.google.inject.internal.InternalFactoryToProviderAdapter.get(In
> > > > > te
> > > > > rn
> > > > > alFactoryToProviderAdapter.java:40)
> > > > > >        at
> > > > > >
> > > > > com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call
> > > > > (P
> > > > > ro
> > > > > viderToInternalFactoryAdapter.java:46)
> > > > > >        at
> > > > > >
> > > > > com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl
> > > > > .j
> > > > > av
> > > > > a:1031)
> > > > > >        at
> > > > > >
> > > > > com.google.inject.internal.ProviderToInternalFactoryAdapter.get(Pr
> > > > > ov
> > > > > id
> > > > > erToInternalFactoryAdapter.java:40)
> > > > > >        at com.google.inject.Scopes$1$1.get(Scopes.java:65)
> > > > > >        at
> > > > > >
> > > > > com.google.inject.internal.InternalFactoryToProviderAdapter.get(In
> > > > > te
> > > > > rn
> > > > > alFactoryToProviderAdapter.java:40)
> > > > > >        at
> > > > > >
> > > > > com.google.inject.internal.SingleFieldInjector.inject(SingleFieldI
> > > > > nj
> > > > > ec
> > > > > tor.java:53)
> > > > > >        at
> > > > > >
> > > > > com.google.inject.internal.MembersInjectorImpl.injectMembers(Membe
> > > > > rs
> > > > > In
> > > > > jectorImpl.java:110)
> > > > > >        at
> > > > > >
> > > > > com.google.inject.internal.MembersInjectorImpl$1.call(MembersInjec
> > > > > to
> > > > > rI
> > > > > mpl.java:75)
> > > > > >        at
> > > > > >
> > > > > com.google.inject.internal.MembersInjectorImpl$1.call(MembersInjec
> > > > > to
> > > > > rI
> > > > > mpl.java:73)
> > > > > >        at
> > > > > >
> > > > > com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl
> > > > > .j
> > > > > av
> > > > > a:1024)
> > > > > >        at
> > > > > >
> > > > > com.google.inject.internal.MembersInjectorImpl.injectAndNotify(Mem
> > > > > be
> > > > > rs
> > > > > InjectorImpl.java:73)
> > > > > >        at
> > > > > >
> > > > > com.google.inject.internal.MembersInjectorImpl.injectMembers(Membe
> > > > > rs
> > > > > In
> > > > > jectorImpl.java:60)
> > > > > >        ... 50 more
> > > > > > 22:52:14,167  [WicketFilter         main       ERROR]  The
> > > > initialization
> > > > > > of an application with name 'WicketFilter' has failed.
> > > > > > com.google.inject.ProvisionException: Guice provision errors:
> > > > > >
> > > > > >
> > > > > >
> > > > > > ________________________________
> > > > > >
> > > > > > This e-mail may contain Sprint proprietary information intended
> > > > > > for the sole use of the recipient(s). Any use by others is
> > prohibited.
> > > > > > If you are not the intended recipient, please contact the sender
> > > > > > and delete all copies of the message.
> > > > > >
> > > > > > ________________________________
> > > > > >
> > > > > > This e-mail may contain Sprint proprietary information intended
> > > > > > for the sole use of the recipient(s). Any use by others is
> > prohibited.
> > > > > > If you are not the intended recipient, please contact the sender
> > > > > > and delete all copies of the message.
> > > > > >
> > > > >
> > > > > ________________________________
> > > > >
> > > > > This e-mail may contain Sprint proprietary information intended
> > > > > for the sole use of the recipient(s). Any use by others is
> > prohibited.
> > > > > If you are not the intended recipient, please contact the sender
> > > > > and delete all copies of the message.
> > > > >
> > > >
> > > > ________________________________
> > > >
> > > > This e-mail may contain Sprint proprietary information intended for
> > > > the sole use of the recipient(s). Any use by others is prohibited.
> > > > If you are not the intended recipient, please contact the sender and
> > > > delete all copies of the message.
> > > >
> > >
> > > ________________________________
> > >
> > > This e-mail may contain Sprint proprietary information intended for
> > > the
> > sole use of the recipient(s). Any use by others is prohibited. If you are
> > not the intended recipient, please contact the sender and delete all
> copies
> > of the message.
> > >
> > > ________________________________
> > >
> > > This e-mail may contain Sprint proprietary information intended for
> > > the
> > sole use of the recipient(s). Any use by others is prohibited. If you are
> > not the intended recipient, please contact the sender and delete all
> copies
> > of the message.
> > >
> > > ________________________________
> > >
> > > This e-mail may contain Sprint proprietary information intended for
> > > the
> > sole use of the recipient(s). Any use by others is prohibited. If you are
> > not the intended recipient, please contact the sender and delete all
> copies
> > of the message.
> >
> > ________________________________
> >
> > This e-mail may contain Sprint proprietary information intended for the
> > sole use of the recipient(s). Any use by others is prohibited. If you are
> > not the intended recipient, please contact the sender and delete all
> copies
> > of the message.
> >
>
> ________________________________
>
> This e-mail may contain Sprint proprietary information intended for the
> sole use of the recipient(s). Any use by others is prohibited. If you are
> not the intended recipient, please contact the sender and delete all copies
> of the message.
>

RE: Working on a branch with latest datanucleus

Posted by "Branham, Jeremy [HR]" <Je...@sprint.com>.
I'm loving IDEA. Debugging is better, and the Maven integration works great.
Glad I can finally be part of the 'cool kids'.
When I was younger, geek != cool; and I only knew one other kid with an Amiga - but he edged on the side of nerd ;-)

Thanks for the info on the stack trace. I don’t understand object mapping yet, but I'm getting there.

Question -
Should the Object Specification contain enhanced method names?
Example -
 "public java.lang.String dom.todo.ToDoItem.dnGetnotes()" -> "Action [id=dnGetnotes,name='Dn Getnotes',type=USER,returns=ObjectSpecificationDefault@233d897[class=java.lang.String,type=Object,persistable=User Persistable,superclass=Object],parameters={}]"


 [moved on to a new exception now]
I know this is a generic error, "user lacks privilege or object not found", but the stack trace may indicate something I'm not seeing.


canBeUpToSixDaysInPast(integration.tests.ToDoItemIntegTest$Properties$DueBy)  Time elapsed: 0.003 sec  <<< ERROR!
org.apache.isis.core.runtime.persistence.ObjectPersistenceException: Failed to executeSql: delete from "ToDoItem" where "ownedBy" = 'tester'
at org.apache.isis.objectstore.jdo.datanucleus.service.support.IsisJdoSupportImpl.executeUpdate(IsisJdoSupportImpl.java:145)
at org.apache.isis.objectstore.jdo.datanucleus.service.support.IsisJdoSupportImpl.executeUpdate(IsisJdoSupportImpl.java:104)
at fixture.todo.items.delete.ToDoItemsDelete.execute(ToDoItemsDelete.java:29)
at org.apache.isis.applib.fixturescripts.FixtureScript$ExecutionContext.executeChildIfNotAlready(FixtureScript.java:408)
at org.apache.isis.applib.fixturescripts.FixtureScript$ExecutionContext.executeChild(FixtureScript.java:389)
at org.apache.isis.applib.fixturescripts.FixtureScript$ExecutionContext.executeChild(FixtureScript.java:374)
at fixture.todo.scenarios.ToDoItemsRecreateAndCompleteSeveral.execute(ToDoItemsRecreateAndCompleteSeveral.java:66)
at org.apache.isis.applib.fixturescripts.FixtureScript$ExecutionContext.executeChildIfNotAlready(FixtureScript.java:408)
at org.apache.isis.applib.fixturescripts.FixtureScript$ExecutionContext.access$100(FixtureScript.java:242)
at org.apache.isis.applib.fixturescripts.FixtureScript.run(FixtureScript.java:504)
at org.apache.isis.applib.fixturescripts.FixtureScripts.runFixtureScript(FixtureScripts.java:266)
at fixture.todo.ToDoItemsFixturesService.runFixtureScript(ToDoItemsFixturesService.java:58)
at integration.tests.ToDoItemIntegTest.setUpData(ToDoItemIntegTest.java:70)
at sun.reflect.GeneratedMethodAccessor15.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
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.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
at org.apache.isis.core.integtestsupport.IntegrationTestAbstract$IsisTransactionRule$1.evaluate(IntegrationTestAbstract.java:199)
at org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2$1.evaluate(JUnitRuleMockery2.java:146)
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.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:264)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:153)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:124)
at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:200)
at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:153)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:103)
Caused by: java.sql.SQLSyntaxErrorException: user lacks privilege or object not found: ToDoItem
at org.hsqldb.jdbc.JDBCUtil.sqlException(Unknown Source)
at org.hsqldb.jdbc.JDBCUtil.sqlException(Unknown Source)
at org.hsqldb.jdbc.JDBCStatement.fetchResult(Unknown Source)
at org.hsqldb.jdbc.JDBCStatement.executeUpdate(Unknown Source)
at org.datanucleus.store.rdbms.datasource.dbcp.DelegatingStatement.executeUpdate(DelegatingStatement.java:210)
at org.datanucleus.store.rdbms.datasource.dbcp.DelegatingStatement.executeUpdate(DelegatingStatement.java:210)
at org.apache.isis.objectstore.jdo.datanucleus.service.support.IsisJdoSupportImpl.executeUpdate(IsisJdoSupportImpl.java:142)



Jeremy D. Branham
Tel: **DOTNET


-----Original Message-----
From: Dan Haywood [mailto:dan@haywood-associates.co.uk]
Sent: Tuesday, December 30, 2014 12:36 PM
To: users
Subject: Re: Working on a branch with latest datanucleus

On 30 December 2014 at 17:28, Branham, Jeremy [HR] <
Jeremy.D.Branham@sprint.com> wrote:

> Thanks, I've downloaded IDEA to give it a go.
>
>
Like Martin, I'm also an ex-Eclipse user (2003 to 2014 !) and used IDEA in
2011 but missed Eclipse's incremental compilation.  Now that IDEA supports
that feature, it's definitely superior.  In particular, because there's no
dependency on the slightly flaky Eclipse DataNucleus plugin, it makes for a
better developer experience.

And its's also nice to be using the same tool as all the cool kids!




>
> Any thoughts on this?
>
>
I can tell you what the error means, but not sure (exactly) how to fix it.

In Isis we maintain two hashmaps which map from the pojo -> ObjectAdapter
and from the OID to the ObjectAdapter.

Historically Isis didn't use JDO/DataNucleus, and so it used these hashmaps
to manage the lifecycle of the objects.  For example, the OID and
ObjectAdapter between them keep track of the lazy loading.

However, since we now use JDO/DataNucleus, which performs its own lazy
loading etc, it means that Isis' maps is basically subservient to JDO, and
(I strongly suspect) is actually redundant.  There's a class
called FrameworkSynchronizer which adds a bunch of listeners to the JDO
runtime, and aims to keep Isis' maps in sync.  With DN 3.x this all seems
to work reliably enough.

Anyway, as you can see in the stacktrace, what's happening with your branch
is that things have got out of whack.

My intention to deal with all this ugliness is basically to get rid of
those two hashmaps, and instead to simply instantiate and then discard the
ObjectAdapters whenever they are needed.  But I haven't done the analysis
on the methods of ObjectAdapter and Oid to figure out if there's any impact
on any of that.

Just looking at your particular stack trace, it seems that the error is
being thrown immediately when the objects being loaded are mapped (in
loadInstancesAndAdapt). That suggests in turn that the map was in an
invalid state from the previous interaction; or perhaps things didn't get
cleared down at the end of the previous interaction.

Or... perhaps there's a (new?) error in the Oid class so that it no longer
acting correctly as a value type as the key in the Oid/adapter map.

Hope that some of the above helps you figure out the issue....

Cheers
Dan



> .......
> 22:15:23,207  [AdapterManagerDefault main       DEBUG]  remapAsPersistent:
> !org.apache.isis.objectstore.jdo.datanucleus.service.support.IsisJdoSupportImpl:c51ca8f2-48d1-412b-979c-11622a382faf
> 22:15:23,207  [AdapterManagerDefault main       DEBUG]  removing root
> adapter from oid map
> 22:15:23,207  [OidAdapterHashMap    main       DEBUG]  remove oid:
> !org.apache.isis.objectstore.jdo.datanucleus.service.support.IsisJdoSupportImpl:c51ca8f2-48d1-412b-979c-11622a382faf
> 22:15:23,207  [AdapterManagerDefault main       DEBUG]  removing
> collection adapter(s) from oid map
> 22:15:23,207  [AdapterManagerDefault main       DEBUG]  updating the Oid
> 22:15:23,207  [AdapterManagerDefault main       DEBUG]  replacing Oid for
> root adapter and re-adding into maps; oid is now:
> org.apache.isis.objectstore.jdo.datanucleus.service.support.IsisJdoSupportImpl:1
> (was:
> !org.apache.isis.objectstore.jdo.datanucleus.service.support.IsisJdoSupportImpl:c51ca8f2-48d1-412b-979c-11622a382faf)
> 22:15:23,207  [OidAdapterHashMap    main       DEBUG]  add oid:
> org.apache.isis.objectstore.jdo.datanucleus.service.support.IsisJdoSupportImpl:1
> ; oid.hashCode: + #102ac45e ; adapter.hashCode(): #5e65eee4
> 22:15:23,207  [AdapterManagerDefault main       DEBUG]  replacing Oids for
> collection adapter(s) and re-adding into maps
> 22:15:23,207  [AdapterManagerDefault main       DEBUG]  synchronizing
> collection pojos, remapping in pojo map if required
> 22:15:23,207  [AdapterManagerDefault main       DEBUG]  made persistent
> PojoAdapter@5e65eee4
> [PR~:org.apache.isis.objectstore.jdo.datanucleus.service.support.IsisJdoSupportImpl:1,specification=IsisJdoSupportImpl,version=null,pojo-toString=org.apache.isis.objectstore.jdo.datanucleus.service.support.IsisJdoSupportImpl@1dd1b36,pojo-hash=#1dd1b36];
> was
> !org.apache.isis.objectstore.jdo.datanucleus.service.support.IsisJdoSupportImpl:c51ca8f2-48d1-412b-979c-11622a382faf
> Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0.051 sec
> <<< FAILURE! - in integration.tests.ToDoItemsIntegTest$Finders
> complete_and_notYetComplete(integration.tests.ToDoItemsIntegTest$Finders)
> Time elapsed: 0.051 sec  <<< ERROR!
> java.lang.RuntimeException: java.lang.IllegalArgumentException: mismatch
> in OidAdapter map: adapter's Oid: TODO:1^1:tester:, provided adapter's OID:
> TODO:1^1:tester:; map's adapter's Oid: TODO:1^1:tester:
> at org.apache.isis.core.commons.ensure.Ensure.ensureThatArg(Ensure.java:75)
> at
> org.apache.isis.core.runtime.persistence.adaptermanager.AdapterManagerDefault.ensureOidAdapterMapConsistent(AdapterManagerDefault.java:810)
> at
> org.apache.isis.core.runtime.persistence.adaptermanager.AdapterManagerDefault.ensureMapsConsistent(AdapterManagerDefault.java:780)
> at
> org.apache.isis.core.runtime.persistence.adaptermanager.AdapterManagerDefault.removeAdapter(AdapterManagerDefault.java:459)
> at
> org.apache.isis.core.runtime.persistence.adaptermanager.AdapterManagerDefault.remapRecreatedPojo(AdapterManagerDefault.java:368)
> at
> org.apache.isis.objectstore.jdo.datanucleus.persistence.FrameworkSynchronizer$1.run(FrameworkSynchronizer.java:95)
> at
> org.apache.isis.objectstore.jdo.datanucleus.persistence.FrameworkSynchronizer$8.call(FrameworkSynchronizer.java:352)
> at
> org.apache.isis.objectstore.jdo.datanucleus.persistence.FrameworkSynchronizer$8.call(FrameworkSynchronizer.java:348)
> at
> org.apache.isis.objectstore.jdo.datanucleus.persistence.FrameworkSynchronizer.withLogging(FrameworkSynchronizer.java:337)
> at
> org.apache.isis.objectstore.jdo.datanucleus.persistence.FrameworkSynchronizer.withLogging(FrameworkSynchronizer.java:348)
> at
> org.apache.isis.objectstore.jdo.datanucleus.persistence.FrameworkSynchronizer.postLoadProcessingFor(FrameworkSynchronizer.java:75)
> at
> org.apache.isis.objectstore.jdo.datanucleus.persistence.queries.PersistenceQueryProcessorAbstract.loadAdapters(PersistenceQueryProcessorAbstract.java:85)
> at
> org.apache.isis.objectstore.jdo.datanucleus.persistence.queries.PersistenceQueryFindAllInstancesProcessor.process(PersistenceQueryFindAllInstancesProcessor.java:57)
> at
> org.apache.isis.objectstore.jdo.datanucleus.persistence.queries.PersistenceQueryFindAllInstancesProcessor.process(PersistenceQueryFindAllInstancesProcessor.java:34)
> at
> org.apache.isis.objectstore.jdo.datanucleus.DataNucleusObjectStore.processPersistenceQuery(DataNucleusObjectStore.java:520)
> at
> org.apache.isis.objectstore.jdo.datanucleus.DataNucleusObjectStore.loadInstancesAndAdapt(DataNucleusObjectStore.java:515)
> at
> org.apache.isis.core.runtime.system.persistence.PersistenceSession$1.execute(PersistenceSession.java:420)
> at
> org.apache.isis.core.runtime.system.persistence.PersistenceSession$1.execute(PersistenceSession.java:417)
> at
> org.apache.isis.core.runtime.system.transaction.IsisTransactionManager.executeWithinTransaction(IsisTransactionManager.java:205)
> at
> org.apache.isis.core.runtime.system.persistence.PersistenceSession.getInstancesFromPersistenceLayer(PersistenceSession.java:417)
> at
> org.apache.isis.core.runtime.system.persistence.PersistenceSession.getInstances(PersistenceSession.java:413)
> at
> org.apache.isis.core.runtime.system.persistence.PersistenceSession.findInstances(PersistenceSession.java:394)
> at
> org.apache.isis.core.runtime.system.persistence.PersistenceSession.findInstances(PersistenceSession.java:377)
> at
> org.apache.isis.core.runtime.persistence.internal.RuntimeContextFromSession$8.allMatchingQuery(RuntimeContextFromSession.java:282)
> at
> org.apache.isis.core.metamodel.services.container.DomainObjectContainerDefault.allMatches(DomainObjectContainerDefault.java:438)
> at
> org.apache.isis.core.metamodel.services.container.DomainObjectContainerDefault.allInstances(DomainObjectContainerDefault.java:396)
> at
> fixture.todo.items.actions.complete.ToDoItemCompleteAbstract.findToDoItem(ToDoItemCompleteAbstract.java:42)
> at
> fixture.todo.items.actions.complete.ToDoItemCompleteAbstract.complete(ToDoItemCompleteAbstract.java:36)
> at
> fixture.todo.items.actions.complete.ToDoItemCompleteForBuyStamps.execute(ToDoItemCompleteForBuyStamps.java:27)
> at
> org.apache.isis.applib.fixturescripts.FixtureScript$ExecutionContext.executeChildIfNotAlready(FixtureScript.java:408)
> at
> org.apache.isis.applib.fixturescripts.FixtureScript$ExecutionContext.executeChild(FixtureScript.java:389)
> at
> org.apache.isis.applib.fixturescripts.FixtureScript$ExecutionContext.executeChild(FixtureScript.java:374)
> at
> fixture.todo.scenarios.ToDoItemsRecreateAndCompleteSeveral.execute(ToDoItemsRecreateAndCompleteSeveral.java:83)
> at
> org.apache.isis.applib.fixturescripts.FixtureScript$ExecutionContext.executeChildIfNotAlready(FixtureScript.java:408)
> at
> org.apache.isis.applib.fixturescripts.FixtureScript$ExecutionContext.executeChild(FixtureScript.java:389)
> at
> org.apache.isis.applib.fixturescripts.FixtureScript$ExecutionContext.executeChild(FixtureScript.java:374)
> at
> fixture.todo.integtests.ToDoItemsIntegTestFixture.execute(ToDoItemsIntegTestFixture.java:37)
> at
> org.apache.isis.applib.fixturescripts.FixtureScript$ExecutionContext.executeChildIfNotAlready(FixtureScript.java:408)
> at
> org.apache.isis.applib.fixturescripts.FixtureScript$ExecutionContext.access$100(FixtureScript.java:242)
> at
> org.apache.isis.applib.fixturescripts.FixtureScript.run(FixtureScript.java:504)
> at
> org.apache.isis.applib.fixturescripts.FixtureScripts.runFixtureScript(FixtureScripts.java:266)
> at
> fixture.todo.ToDoItemsFixturesService.runFixtureScript(ToDoItemsFixturesService.java:58)
> at
> integration.tests.ToDoItemsIntegTest$Finders.setUpData(ToDoItemsIntegTest.java:49)
>
>
>
> Jeremy D. Branham
> Tel: **DOTNET
>
>
> -----Original Message-----
> From: Martin Grigorov [mailto:mgrigorov@apache.org]
> Sent: Monday, December 29, 2014 11:08 PM
> To: users
> Subject: RE: Working on a branch with latest datanucleus
>
> Hi,
>
> On Dec 30, 2014 5:39 AM, "Branham, Jeremy [HR]" <
> Jeremy.D.Branham@sprint.com>
> wrote:
> >
> > There ended up being a lot of refactoring to swap PersistenceCapable
> > for
> Persistable throughout.
> >
> > Currently trying to understand this -
> >
> > java.lang.IllegalArgumentException: mismatch in OidAdapter map:
> > adapter's
> Oid: TODO:1^1:tester:, provided adapter's OID: TODO:1^1:tester:; map's
> adapter's Oid: TODO:1^1:tester:
> > at
> org.apache.isis.core.commons.ensure.Ensure.ensureThatArg(Ensure.java:75)
> >
> >
> > I'm having difficulty getting MyEclipse to attach and stop at the
> breakpoints during a Maven build, so this process has been needlessly
> complicated.
> >
> > This is off topic, but I'm curious what other folks are using.
> > Eclipse,
> IDEA, other?
>
> I'm ex-Eclipse user and now I use IDEA for 2+ years. I'm very happy with
> the switch! Debugging Maven build usually is very easy by using IDEA's
> Maven integration !
>
> Some ideas:
> 1) use mvnDebug to start Maven on command line with remote debugging
> enabled. It will suspend before starting the process so you can attach the
> debugger
>
> 2) run the failing test directly from the IDE
>
> Thanks for helping us with this!
> Have fun!
>
> >
> >
> > Jeremy D. Branham
> > Tel: **DOTNET
> >
> >
> > -----Original Message-----
> > From: Branham, Jeremy [HR]
> > Sent: Monday, December 29, 2014 4:47 PM
> > To: users@isis.apache.org
> > Subject: RE: Working on a branch with latest datanucleus
> >
> >
> > I've added the factories to the ' IsisConfigurationForJdoIntegTests'
> > and
> adjusted the DataNucleus properties to match 4.x
> >
> > I can see the tables are getting created but there is a cast exception.
> > I won't flood the email distribution again until I'm stuck for a few
> hours. =] Looks like it's pretty close now.
> >
> >
> > Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0.031
> > sec
> <<< FAILURE! - in integration.tests.ToDoItemsIntegTest$NewToDo_and_Delete
> > happyCase(integration.tests.ToDoItemsIntegTest$NewToDo_and_Delete)
> > Time
> elapsed: 0.031 sec  <<< ERROR!
> > java.lang.ClassCastException: dom.todo.ToDoItem cannot be cast to
> javax.jdo.spi.PersistenceCapable
> >
> >
> > -------------------------
> > 16:35:20,986  [Schema               main       DEBUG]  CREATE TABLE
> "ToDoItem"
> > (
> >     "id" BIGINT GENERATED BY DEFAULT AS IDENTITY,
> >     "attachment_name" BLOB NULL,
> >     "category" NVARCHAR(255) NOT NULL,
> >     "complete" BOOLEAN NOT NULL,
> >     "cost" DECIMAL(19,2) NULL,
> >     "description" NVARCHAR(100) NOT NULL,
> >     "doc_name" BLOB NULL,
> >     "dueBy" DATE NULL,
> >     "notes" NVARCHAR(400) NULL,
> >     "ownedBy" NVARCHAR(255) NOT NULL,
> >     "subcategory" NVARCHAR(255) NULL,
> >     "version" BIGINT NOT NULL,
> >     CONSTRAINT "ToDoItem_PK" PRIMARY KEY ("id")
> > )
> > 16:35:20,986  [Schema               main       DEBUG]  Execution Time = 0
> ms
> > 16:35:21,002  [Schema               main       DEBUG]  Check of existence
> of "ToDoItemDependencies" returned no table
> > 16:35:21,002  [Schema               main       DEBUG]  Creating table
> "ToDoItemDependencies"
> > 16:35:21,002  [Schema               main       DEBUG]  CREATE TABLE
> "ToDoItemDependencies"
> > (
> >     "dependingId" BIGINT NOT NULL,
> >     "dependentId" BIGINT NOT NULL,
> >     CONSTRAINT "ToDoItemDependencies_PK" PRIMARY KEY
> ("dependingId","dependentId")
> > )
> >
> >
> >
> >
> >
> >
> > Jeremy D. Branham
> > Tel: **DOTNET
> >
> >
> > -----Original Message-----
> > From: Branham, Jeremy [HR]
> > Sent: Monday, December 29, 2014 3:31 PM
> > To: users@isis.apache.org
> > Subject: RE: Working on a branch with latest datanucleus
> >
> > Forgot to mention -
> > I updated the 'JDOStateManagerForIsis' to use Persistable instead of
> PersistanceCapable.
> >
> > public class JDOStateManagerForIsis extends
> > ReferentialStateManagerImpl {
> ...
> > }
> >
> >
> > Jeremy D. Branham
> > Tel: **DOTNET
> >
> >
> > -----Original Message-----
> > From: Branham, Jeremy [HR]
> > Sent: Monday, December 29, 2014 3:26 PM
> > To: users@isis.apache.org
> > Subject: RE: Working on a branch with latest datanucleus
> >
> > Thanks, that has got me started.
> > For now I am just working with the RDMS capable statemanager, and will
> focus on the Neo4j compatibility later.
> >
> > I've added two ' AbstractRemoveMethodsFacetFactory'
> >
> > [Finds 25 methods]
> >     public RemoveDatanucleusPersistableTypesFacetFactory() {
> >         super("org.datanucleus.enhancer.Persistable");
> >     }
> >
> > And
> >
> > [org.apache.isis.core.commons.factory.UnavailableClassException: The
> default type 'javax.jdo.spi.Persistable' cannot be found]
> >     public RemoveJdoPersistableEnhancementTypesFacetFactory() {
> >         super("javax.jdo.spi.Persistable");
> >     }
> >
> >
> >
> > In the 'FacetedMethodsBuilder# getActionFacetedMethods' I do see this
> > -
> [It looks like it is stripping off the dn methods, does this look right?]
> >
> > associationFacetMethodsCollections$UnmodifiableRandomAccessList<E>
> (id=289) [PROPERTY Peer
> [identifier="dom.simple.SimpleObject#name()",type=java.lang.String ]]
> >
> > introspectedClassClass<T> (dom.simple.SimpleObject) (id=291) class
> dom.simple.SimpleObject
> >
> > methodsArrays$ArrayList<E>  (id=293)
> > [null, null, null, null, public static java.lang.Class
> dom.simple.SimpleObject.___jdo$loadClass(java.lang.String), null, null,
> null, null, null, null, null, null, null, null, null, null, null, null,
> null, null, null, null, null, null, null, null, null, null, null, null,
> null, null, null, null, null, null, null, null, null, null]
> >
> >
> > Is it ok that the 'SimpleObject.___jdo$loadClass' method is listed there?
> >
> >
> >
> > Although, this exception is getting thrown now -
> >
> >                 // assert is persistent
> >                 if(!pojo.jdoIsPersistent()) {
> >                     throw new IllegalStateException("Pojo JDO state is
> not persistent! pojo dnOid: " + JDOHelper.getObjectId(pojo));
> >                 }
> >
> >
> > Is there still something wrong with the method filtering? Or is this a
> different issue?
> >
> >
> >
> > Jeremy D. Branham
> > Tel: **DOTNET
> >
> >
> > -----Original Message-----
> > From: Dan Haywood [mailto:dan@haywood-associates.co.uk]
> > Sent: Monday, December 29, 2014 11:33 AM
> > To: users
> > Subject: Re: Working on a branch with latest datanucleus
> >
> > Hi Jeremy,
> >
> > Having not looked at DN 4.x at all yet, can't specfically advise; have
> > a
> few general thoughts though.
> >
> > Just to recap on stuff that you probably know/have figured out...
> >
> > * With respect to javax.jdo.spi.PersistenceCapable vs
> javax.jdo.spi.Persistable, in DN 3.x I know the enhancer makes all
> enhanced objects implement the javax.jdo.spi.PersistenceCapable interface.
> Looking at the javax.jdo.spi.Persistable interface for DN 3.x it seems like
> its a placeholder, with a comment "Note that this is not yet used by
> DataNucleus, but is intended as something for the future."
> >
> > * My guess for DN 4.x is that Andy Jefferson (maintainer of DN) has
> > now
> made this change, and generalized things to work with
> javax.jdo.spi.Persistable instead of, or perhaps as well as,
> PersistenceCapable.  (This might explain the new dnReplaceFields(...)
> methods rather than jdoReplaceFields(...) methods that you saw before).
> >
> > * I can tell you that JDOStateManagerForIsis is kinda important, as
> > its
> the point where we tell Isis about the objects that are brought into
> memory by DN, to map them and inject services into them.  So you will need
> to find some sort of implementation of it.
> >
> > ~~~
> > From its name, I'm guessing that ReferentialJDOStateManager is for
> > RDBMS
> stores, whereas of course you are using Neo4J instead.  So you probably
> need to inherit from AbstractStateManager or something else higher up in
> the inheritance hierarchy.
> >
> > In terms of getting Isis to work with your own improved version of
> JdoStateManagerForIsis, it looks like the implementation is specified in
> >
>
> DataNucleusPersistenceMechanismInstaller#addDataNucleusPropertiesIfRequired(...)
> >  ... so you can probably just add your impl to isis.properties.
> >
> > Also, I notice that there's a thread-local in JdoStateManagerForIsis
> > that
> is referenced by EventBusServiceJdo, but that could easily be moved out
> into some other class.
> >
> > ~~
> > If none of the above helps, you might want to try posting a question
> > on
> the DN forum [1], though I know that Andy does also answer DN questions on
> SO also.  The question will need to be framed in terms of DN rather than
> Isis though.
> >
> > If you get nowhere, I can ping Andy also (so long as I'm clear about
> > what
> I'm asking, which I'm not quite, at the moment).
> >
> > HTH
> > Dan
> >
> >
> > [1] http://www.datanucleus.org/support.html
> >
> >
> >
> > On 29 December 2014 at 16:52, Branham, Jeremy [HR] <
> Jeremy.D.Branham@sprint.com> wrote:
> >
> > > I thought I was being clever changing over to 'Persitable' in the
> > > 'JDOStateManagerForIsis', but I get errors about the 'SimpleObject'
> > > not being persistable at runtime.
> > >
> > > ---------------
> > >
> > > I have a question about the ReferentialJDOStateManager in DataNucleus.
> > > The JDOStateManager extended this class in DN 3.x but it is not
> > > present in DN 4.x
> > >
> > > Affected class in Isis -
> > > public class JDOStateManagerForIsis extends
> > > ReferentialJDOStateManager implements StateManager, ObjectProvider
> > >
> > > I do see this class -
> > > org.datanucleus.state.ReferentialStateManagerImpl
> > >
> > > I thought this might be the appropriate replacement, but if I extend
> > > ReferentialStateManagerImpl, there are problems...
> > >
> > > The problem I encounter when extending the new class -
> > > ReferentialStateManagerImpl extends StateManagerImpl. Which extends
> > > AbstractStateManager<Persistable>
> > >
> > > The current JDOStateManagerForIsis is setup to handle
> > > PersistenceCapable objects rather than Persistable objects.
> > >
> > > I'm not sure where to go from here.
> > >
> > > Also posted on SO -
> > >
> > > http://stackoverflow.com/questions/27692754/is-referentialjdostatema
> > > na
> > > ger-not-used-in-datanucleus-4-x
> > >
> > >
> > >
> > >
> > > Jeremy D. Branham
> > > Tel: **DOTNET
> > >
> > >
> > > -----Original Message-----
> > > From: Dan Haywood [mailto:dan@haywood-associates.co.uk]
> > > Sent: Friday, December 26, 2014 1:42 AM
> > > To: users
> > > Subject: Re: Working on a branch with latest datanucleus
> > >
> > > With Isis we have:
> > >
> > >
> > >
> > > org.apache.isis.core.metamodel.facets.object.ignore.jdo.RemoveJdoEnh
> > > an
> > > cementTypesFacetFactory
> > >
> > > that ensures that Isis ignores all the methods in the
> > > javax,jdo.spi.PersistenceCapable interface.  That interface defines
> > > a bunch of methods called jdoReplaceFields(int[]) and so on.
> > >
> > > My guess is that with DN 4.0 that this has changed so that there is
> > > a similar DN-specific interface that the enhancer makes the
> > > persistence-capable objects implement.
> > >
> > > Have a go at writing a similar facet factory and register it in
> > > isis.properties using the "isis.reflector.facets.include" property,
> > > see [1]... If it works we can incorporate into Isis proper for a
> > > future
> version.
> > >
> > > Let us know how you get on.
> > >
> > > Dan
> > >
> > >
> > > [1]
> > >
> > > http://isis.apache.org/more-advanced-topics/metamodel-finetuning-the
> > > -p
> > > rogramming-model.html
> > >
> > >
> > > On 25 December 2014 at 00:43, Branham, Jeremy [HR] <
> > > Jeremy.D.Branham@sprint.com> wrote:
> > >
> > > > Thanks for checking Dan.
> > > > I solved that particular issue, but I'm not sure it's a valid
> solution.
> > > >
> > > > Changed -
> > > >
> > > > https://github.com/jdbranham/isis/blob/DN_404/core/metamodel/src/m
> > > > ai
> > > > n/
> > > > java/org/apache/isis/core/metamodel/specloader/classsubstitutor/Cl
> > > > as
> > > > sS
> > > > ubstitutor.java#L53-L55
> > > >
> > > >
> > > > New Issue I'm working on -
> > > >
> > > > Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed:
> > > > 0.197 sec <<< FAILURE! - in
> > > > integration.tests.ToDoItemIntegTest$Properties$Description
> > > > integration.tests.ToDoItemIntegTest$Properties$Description  Time
> elapsed:
> > > > 0.197 sec  <<< ERROR!
> > > > java.lang.RuntimeException:
> > > > org.apache.isis.core.commons.exceptions.UnknownTypeException:
> > > > collections not supported as parameters:
> > > > dom.todo.ToDoItem#dnProvideFields([I)
> > > > at
> > > > org.apache.isis.core.integtestsupport.IsisSystemForTest.setUpSyste
> > > > m(
> > > > Is
> > > > isSystemForTest.java:314)
> > > >
> > > >
> > > > Jeremy D. Branham
> > > > Tel: **DOTNET
> > > >
> > > >
> > > > -----Original Message-----
> > > > From: Dan Haywood [mailto:dan@haywood-associates.co.uk]
> > > > Sent: Wednesday, December 24, 2014 12:05 PM
> > > > To: users
> > > > Subject: Re: Working on a branch with latest datanucleus
> > > >
> > > > Hi Jeremy,
> > > >
> > > > sorry, it's not clear to me if you had an issue but then resolved
> > > > it, or whether there is still an issue?
> > > >
> > > > With respect to moving to DN 4.0, that's certainly the intention,
> > > > and is a prerequisite for us to support Java8.  Given that Java7
> > > > support finishes in April 2015, it's clearly something that we
> > > > need to do be tackling quite soon.
> > > >
> > > > Thx
> > > > Dan
> > > >
> > > >
> > > > On 24 December 2014 at 05:24, Branham, Jeremy [HR] <
> > > > Jeremy.D.Branham@sprint.com> wrote:
> > > >
> > > > > The line numbers didn't match because a different version of the
> > > > > class was being loaded.
> > > > > I added a null check that solved the issue, but the code running
> > > > > hadn't picked up the change yet.
> > > > >
> > > > >
> > > > > Jeremy D. Branham
> > > > > Tel: **DOTNET
> > > > >
> > > > >
> > > > > -----Original Message-----
> > > > > From: Branham, Jeremy [HR]
> > > > > Sent: Tuesday, December 23, 2014 11:04 PM
> > > > > To: users@isis.apache.org
> > > > > Subject: Working on a branch with latest datanucleus
> > > > >
> > > > > Sorry for the massive stack trace, but I was looking for some
> > > > > pointers on what might be happing here.
> > > > > I'm having a bit of difficulty debugging because the line
> > > > > numbers reported don't seem to match the source files, and even
> > > > > when stepping through the code. [maybe something wrong in my dev
> > > > > env]
> > > > >
> > > > > I'm working on a branch with a newer datanucleus support [4.0.4]
> > > > > and seems to be an issue with the spec loader.
> > > > > I understand if there is no support for this yet.
> > > > >
> > > > >
> > > > > 22:52:01,445  [Reflections          main       INFO ]  Reflections
> took
> > > > > 421 ms to scan 7 urls, producing 148 keys and 716 values
> > > > > 22:52:01,523  [ServiceInstantiator  main       DEBUG]  loading
> class
> > > for
> > > > > service: dom.simple.SimpleObjects
> > > > > 22:52:01,523  [ServiceInstantiator  main       DEBUG]  loading
> class
> > > for
> > > > > service: fixture.simple.SimpleObjectsFixturesService
> > > > > 22:52:01,523  [ServiceInstantiator  main       DEBUG]  loading
> class
> > > for
> > > > > service: org.apache.isis.applib.annotation.Bulk$InteractionContext
> > > > > 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading
> class
> > > for
> > > > > service:
> > > > >
> > > > org.apache.isis.applib.services.bookmark.BookmarkHolderActionContr
> > > > ib
> > > > ut
> > > > ions
> > > > > 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading
> class
> > > for
> > > > > service:
> > > > >
> > > > org.apache.isis.applib.services.classdiscovery.ClassDiscoveryServi
> > > > ce
> > > > Us
> > > > ingReflections
> > > > > 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading
> class
> > > for
> > > > > service: org.apache.isis.applib.services.clock.ClockService
> > > > > 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading
> class
> > > for
> > > > > service: org.apache.isis.applib.services.command.CommandContext
> > > > > 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading
> class
> > > for
> > > > > service:
> > > > org.apache.isis.applib.services.queryresultscache.QueryResultsCach
> > > > e
> > > > > 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading
> class
> > > for
> > > > > service: org.apache.isis.applib.services.scratchpad.Scratchpad
> > > > > 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading
> class
> > > for
> > > > > service:
> > > > >
> > > org.apache.isis.core.metamodel.services.bookmarks.BookmarkServiceDef
> > > au
> > > lt
> > > > > 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading
> class
> > > for
> > > > > service:
> > > > >
> > > > org.apache.isis.core.metamodel.services.container.DomainObjectCont
> > > > ai
> > > > ne
> > > > rDefault
> > > > > 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading
> class
> > > for
> > > > > service:
> > > > >
> > > org.apache.isis.core.runtime.services.background.BackgroundServiceDe
> > > fa
> > > ult
> > > > > 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading
> class
> > > for
> > > > > service:
> > > > org.apache.isis.core.runtime.services.memento.MementoServiceDefaul
> > > > t
> > > > > 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading
> class
> > > for
> > > > > service:
> > > > >
> > > > org.apache.isis.core.runtime.services.xmlsnapshot.XmlSnapshotServi
> > > > ce
> > > > De
> > > > fault
> > > > > 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading
> class
> > > for
> > > > > service: org.apache.isis.core.wrapper.WrapperFactoryDefault
> > > > > 22:52:01,587  [ServiceInstantiator  main       DEBUG]  loading
> class
> > > for
> > > > > service:
> > > > >
> > > > org.apache.isis.objectstore.jdo.applib.service.exceprecog.Exceptio
> > > > nR
> > > > ec
> > > > ognizerCompositeForJdoObjectStore
> > > > > 22:52:01,618  [ServiceInstantiator  main       DEBUG]  loading
> class
> > > for
> > > > > service:
> > > > >
> > > > org.apache.isis.objectstore.jdo.datanucleus.service.eventbus.Event
> > > > Bu
> > > > sS
> > > > erviceJdo
> > > > > 22:52:01,618  [ServiceInstantiator  main       DEBUG]  loading
> class
> > > for
> > > > > service:
> > > > >
> > > > org.apache.isis.objectstore.jdo.datanucleus.service.support.IsisJd
> > > > oS
> > > > up
> > > > portImpl
> > > > > 22:52:01,618  [ServiceInstantiator  main       DEBUG]  loading
> class
> > > for
> > > > > service:
> > > > >
> > > > org.apache.isis.viewer.restfulobjects.rendering.service.Representa
> > > > ti
> > > > on
> > > > ServiceForRestfulObjects
> > > > > 22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected
> > > > > org.apache.isis.core.metamodel.services.container.DomainObjectCo
> > > > > nt
> > > > > ai
> > > > > ne
> > > > > rDefault@397c8a21
> > > > > into SimpleObjects@529d935d[]
> > > > > 22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected
> > > > > org.apache.isis.core.runtime.services.memento.MementoServiceDefa
> > > > > ul t@ 6c dd377c into SimpleObjectsFixturesService@2f65e5ba[]
> > > > > 22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected
> > > > > org.apache.isis.core.metamodel.services.bookmarks.BookmarkServic
> > > > > eD
> > > > > ef
> > > > > au
> > > > > lt@4acd2ea5 into SimpleObjectsFixturesService@2f65e5ba[]
> > > > > 22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected
> > > > > org.apache.isis.applib.services.classdiscovery.ClassDiscoverySer
> > > > > vi
> > > > > ce
> > > > > Us
> > > > > ingReflections@64b17900 into SimpleObjectsFixturesService@2f65e5ba
> []
> > > > > 22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected
> > > > > org.apache.isis.core.metamodel.services.container.DomainObjectCo
> > > > > nt
> > > > > ai
> > > > > ne
> > > > > rDefault@397c8a21 into SimpleObjectsFixturesService@2f65e5ba[]
> > > > > 22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected
> > > > > org.apache.isis.core.metamodel.services.bookmarks.BookmarkServic
> > > > > eD
> > > > > ef
> > > > > au
> > > > > lt@4acd2ea5 into BookmarkHolderActionContributions@3f7f22a5[]
> > > > > 22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected
> > > > > org.apache.isis.core.metamodel.services.container.DomainObjectCo
> > > > > nt
> > > > > ai
> > > > > ne
> > > > > rDefault@397c8a21 into
> > > > > ClassDiscoveryServiceUsingReflections@64b17900[]
> > > > > 22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected
> > > > > org.apache.isis.core.wrapper.WrapperFactoryDefault@33bb9f34 into
> > > > > BookmarkServiceDefault@4acd2ea5[]
> > > > > 22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected
> > > > > org.apache.isis.core.wrapper.WrapperFactoryDefault@33bb9f34 into
> > > > > DomainObjectContainerDefault@397c8a21[]
> > > > > 22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected
> > > > > org.apache.isis.core.metamodel.services.bookmarks.BookmarkServic
> > > > > eD
> > > > > ef
> > > > > au
> > > > > lt@4acd2ea5 into BackgroundServiceDefault@4898c8f9[]
> > > > > 22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected
> > > > > org.apache.isis.core.runtime.services.ServiceInstantiator$2@26b2
> > > > > 78 ab into BackgroundServiceDefault@4898c8f9[]
> > > > > 22:52:01,727  [ObjectReflectorDefault main       DEBUG]
> initialising
> > > > >
> > > org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault@1e6
> > > 14
> > > 4db
> > > > > 22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected
> > > > > org.apache.isis.core.metamodel.services.container.DomainObjectCo
> > > > > nt
> > > > > ai
> > > > > ne
> > > > > rDefault@397c8a21
> > > > > into SimpleObjects@529d935d[]
> > > > > 22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected
> > > > > org.apache.isis.core.runtime.services.memento.MementoServiceDefa
> > > > > ul t@ 6c dd377c into SimpleObjectsFixturesService@2f65e5ba[]
> > > > > 22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected
> > > > > org.apache.isis.core.metamodel.services.bookmarks.BookmarkServic
> > > > > eD
> > > > > ef
> > > > > au
> > > > > lt@4acd2ea5 into SimpleObjectsFixturesService@2f65e5ba[]
> > > > > 22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected
> > > > > org.apache.isis.applib.services.classdiscovery.ClassDiscoverySer
> > > > > vi
> > > > > ce
> > > > > Us
> > > > > ingReflections@64b17900 into SimpleObjectsFixturesService@2f65e5ba
> []
> > > > > 22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected
> > > > > org.apache.isis.core.metamodel.services.container.DomainObjectCo
> > > > > nt
> > > > > ai
> > > > > ne
> > > > > rDefault@397c8a21 into SimpleObjectsFixturesService@2f65e5ba[]
> > > > > 22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected
> > > > > org.apache.isis.core.metamodel.services.bookmarks.BookmarkServic
> > > > > eD
> > > > > ef
> > > > > au
> > > > > lt@4acd2ea5 into BookmarkHolderActionContributions@3f7f22a5[]
> > > > > 22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected
> > > > > org.apache.isis.core.metamodel.services.container.DomainObjectCo
> > > > > nt
> > > > > ai
> > > > > ne
> > > > > rDefault@397c8a21 into
> > > > > ClassDiscoveryServiceUsingReflections@64b17900[]
> > > > > 22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected
> > > > > org.apache.isis.core.wrapper.WrapperFactoryDefault@33bb9f34 into
> > > > > BookmarkServiceDefault@4acd2ea5[]
> > > > > 22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected
> > > > > org.apache.isis.core.wrapper.WrapperFactoryDefault@33bb9f34 into
> > > > > DomainObjectContainerDefault@397c8a21[]
> > > > > 22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected
> > > > > org.apache.isis.core.metamodel.services.bookmarks.BookmarkServic
> > > > > eD
> > > > > ef
> > > > > au
> > > > > lt@4acd2ea5 into BackgroundServiceDefault@4898c8f9[]
> > > > > 22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected
> > > > > org.apache.isis.core.runtime.services.ServiceInstantiator$2@26b2
> > > > > 78 ab into BackgroundServiceDefault@4898c8f9[]
> > > > > 22:52:14,042  [ObjectSpecificationAbstract main       DEBUG]
> > > > Superclass
> > > > > java.lang.Object
> > > > > 22:52:14,152  [ObjectSpecificationAbstract main       DEBUG]
> > > > Superclass
> > > > > java.lang.Object
> > > > > 22:52:14,167  [IsisWicketApplication main       ERROR]  Failed to
> > > > > initialize
> > > > > com.google.inject.ProvisionException: Guice provision errors:
> > > > >
> > > > > 1) Error in custom provider, java.lang.NullPointerException
> > > > >   at
> > > > >
> > > > org.apache.isis.core.runtime.runner.IsisInjectModule.provideIsisSy
> > > > st
> > > > em
> > > > (IsisInjectModule.java:132)
> > > > >   at
> > > > >
> > > > org.apache.isis.core.runtime.runner.IsisInjectModule.provideIsisSy
> > > > st
> > > > em
> > > > (IsisInjectModule.java:132)
> > > > >   while locating org.apache.isis.core.runtime.system.IsisSystem
> > > > >     for field at
> > > > >
> > > > org.apache.isis.viewer.wicket.viewer.IsisWicketApplication.system(
> > > > Is
> > > > is
> > > > WicketApplication.java:138)
> > > > >   while locating webapp.SimpleApplication
> > > > >
> > > > > 1 error
> > > > >        at
> > > > >
> > > > com.google.inject.internal.Errors.throwProvisionExceptionIfErrorsE
> > > > xi
> > > > st
> > > > (Errors.java:451)
> > > > >        at
> > > > >
> > > > com.google.inject.internal.MembersInjectorImpl.injectMembers(Membe
> > > > rs
> > > > In
> > > > jectorImpl.java:65)
> > > > >        at
> > > > >
> > > > com.google.inject.internal.InjectorImpl.injectMembers(InjectorImpl
> > > > .j
> > > > av
> > > > a:944)
> > > > >        at
> > > > >
> > > > org.apache.isis.viewer.wicket.viewer.IsisWicketApplication.init(Is
> > > > is
> > > > Wi
> > > > cketApplication.java:248)
> > > > >        at webapp.SimpleApplication.init(SimpleApplication.java:81)
> > > > >        at
> > > > > org.apache.wicket.Application.initApplication(Application.java:823)
> > > > >        at
> > > > >
> > > org.apache.wicket.protocol.http.WicketFilter.init(WicketFilter.java:
> > > 42
> > > 4)
> > > > >        at
> > > > >
> > > org.apache.wicket.protocol.http.WicketFilter.init(WicketFilter.java:
> > > 35
> > > 1)
> > > > >        at
> > > > >
> org.mortbay.jetty.servlet.FilterHolder.doStart(FilterHolder.java:97)
> > > > >        at
> > > > >
> > > org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java
> > > :5
> > > 0)
> > > > >        at
> > > > >
> > > > org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler
> > > > .j
> > > > av
> > > > a:713)
> > > > >        at
> > > > org.mortbay.jetty.servlet.Context.startContext(Context.java:140)
> > > > >        at
> > > > >
> > > > org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.
> > > > ja
> > > > va
> > > > :1282)
> > > > >        at
> > > > >
> > > org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java
> > > :5
> > > 18)
> > > > >        at
> > > > >
> org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:499)
> > > > >        at
> > > > >
> > > > org.mortbay.jetty.plugin.Jetty6PluginWebAppContext.doStart(Jetty6P
> > > > lu
> > > > gi
> > > > nWebAppContext.java:115)
> > > > >        at
> > > > >
> > > org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java
> > > :5
> > > 0)
> > > > >        at
> > > > >
> > > >
> org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.
> > > > java:152)
> > > > >        at
> > > > >
> > > > org.mortbay.jetty.handler.ContextHandlerCollection.doStart(Context
> > > > Ha
> > > > nd
> > > > lerCollection.java:156)
> > > > >        at
> > > > >
> > > org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java
> > > :5
> > > 0)
> > > > >        at
> > > > >
> > > >
> org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.
> > > > java:152)
> > > > >        at
> > > > >
> > > org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java
> > > :5
> > > 0)
> > > > >        at
> > > > >
> > > org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java
> > > :1
> > > 30)
> > > > >        at org.mortbay.jetty.Server.doStart(Server.java:224)
> > > > >        at
> > > > >
> > > org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java
> > > :5
> > > 0)
> > > > >        at
> > > > >
> > > > org.mortbay.jetty.plugin.Jetty6PluginServer.start(Jetty6PluginServ
> > > > er
> > > > .j
> > > > ava:132)
> > > > >        at
> > > > >
> > > > org.mortbay.jetty.plugin.AbstractJettyMojo.startJetty(AbstractJett
> > > > yM
> > > > oj
> > > > o.java:454)
> > > > >        at
> > > > >
> > > > org.mortbay.jetty.plugin.AbstractJettyMojo.execute(AbstractJettyMo
> > > > jo
> > > > .j
> > > > ava:396)
> > > > >        at
> > > > >
> > > > org.mortbay.jetty.plugin.AbstractJettyRunMojo.execute(AbstractJett
> > > > yR
> > > > un
> > > > Mojo.java:210)
> > > > >        at
> > > > >
> org.mortbay.jetty.plugin.Jetty6RunMojo.execute(Jetty6RunMojo.java:184)
> > > > >        at
> > > > >
> > > > org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(Defa
> > > > ul
> > > > tB
> > > > uildPluginManager.java:106)
> > > > >        at
> > > > >
> > > >
> org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.
> > > > java:208)
> > > > >        at
> > > > >
> > > >
> org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.
> > > > java:153)
> > > > >        at
> > > > >
> > > >
> org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.
> > > > java:145)
> > > > >        at
> > > > >
> > > > org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildPr
> > > > oj
> > > > ec
> > > > t(LifecycleModuleBuilder.java:84)
> > > > >        at
> > > > >
> > > > org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildPr
> > > > oj
> > > > ec
> > > > t(LifecycleModuleBuilder.java:59)
> > > > >        at
> > > > >
> > > > org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreade
> > > > dB
> > > > ui
> > > > ld(LifecycleStarter.java:183)
> > > > >        at
> > > > >
> > > > org.apache.maven.lifecycle.internal.LifecycleStarter.execute(Lifec
> > > > yc
> > > > le
> > > > Starter.java:161)
> > > > >        at
> > > org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:317)
> > > > >        at
> org.apache.maven.DefaultMaven.execute(DefaultMaven.java:152)
> > > > >        at org.apache.maven.cli.MavenCli.execute(MavenCli.java:555)
> > > > >        at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:214)
> > > > >        at org.apache.maven.cli.MavenCli.main(MavenCli.java:158)
> > > > >        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
> Method)
> > > > >        at
> > > > >
> > > > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorIm
> > > > pl
> > > > .j
> > > > ava:57)
> > > > >        at
> > > > >
> > > > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAc
> > > > ce
> > > > ss
> > > > orImpl.java:43)
> > > > >        at java.lang.reflect.Method.invoke(Method.java:606)
> > > > >        at
> > > > >
> > > > org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(L
> > > > au
> > > > nc
> > > > her.java:289)
> > > > >        at
> > > > >
> > > > org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.
> > > > ja
> > > > va
> > > > :229)
> > > > >        at
> > > > >
> > > > org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode
> > > > (L
> > > > au
> > > > ncher.java:415)
> > > > >        at
> > > > >
> > > org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java
> > > :3
> > > 56)
> > > > >        at
> > > > > org.codehaus.classworlds.Launcher.main(Launcher.java:46)
> > > > > Caused by: java.lang.NullPointerException
> > > > >        at
> > > > >
> > > > org.apache.isis.core.metamodel.specloader.classsubstitutor.ClassSu
> > > > bs
> > > > ti
> > > > tutor.getClass(ClassSubstitutor.java:54)
> > > > >        at
> > > > >
> > > > org.apache.isis.core.metamodel.specloader.classsubstitutor.ClassSu
> > > > bs
> > > > ti
> > > > tutor.getClass(ClassSubstitutor.java:55)
> > > > >        at
> > > > >
> > > > org.apache.isis.core.metamodel.specloader.specimpl.dflt.ObjectSpec
> > > > if
> > > > ic
> > > > ationDefault.introspectTypeHierarchyAndMembers(ObjectSpecification
> > > > De
> > > > fa
> > > > ult.java:146)
> > > > >        at
> > > > >
> > > > org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.i
> > > > nt
> > > > ro
> > > > spectIfRequired(ObjectReflectorDefault.java:499)
> > > > >        at
> > > > >
> > > > org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.l
> > > > oa
> > > > dS
> > > > pecificationForSubstitutedClass(ObjectReflectorDefault.java:400)
> > > > >        at
> > > > >
> > > > org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.i
> > > > nt
> > > > er
> > > > nalLoadSpecification(ObjectReflectorDefault.java:378)
> > > > >        at
> > > > >
> > > > org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.l
> > > > oa
> > > > dS
> > > > pecifications(ObjectReflectorDefault.java:415)
> > > > >        at
> > > > >
> > > > org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.l
> > > > oa
> > > > dS
> > > > pecifications(ObjectReflectorDefault.java:428)
> > > > >        at
> > > > >
> > > > org.apache.isis.core.metamodel.specloader.specimpl.FacetedMethodsB
> > > > ui
> > > > ld
> > > > er.representsAction(FacetedMethodsBuilder.java:455)
> > > > >        at
> > > > >
> > > > org.apache.isis.core.metamodel.specloader.specimpl.FacetedMethodsB
> > > > ui
> > > > ld
> > > > er.findActionFacetedMethod(FacetedMethodsBuilder.java:404)
> > > > >        at
> > > > >
> > > > org.apache.isis.core.metamodel.specloader.specimpl.FacetedMethodsB
> > > > ui
> > > > ld
> > > > er.findActionFacetedMethods(FacetedMethodsBuilder.java:388)
> > > > >        at
> > > > >
> > > > org.apache.isis.core.metamodel.specloader.specimpl.FacetedMethodsB
> > > > ui
> > > > ld
> > > > er.findActionFacetedMethods(FacetedMethodsBuilder.java:367)
> > > > >        at
> > > > >
> > > > org.apache.isis.core.metamodel.specloader.specimpl.FacetedMethodsB
> > > > ui
> > > > ld
> > > > er.getActionFacetedMethods(FacetedMethodsBuilder.java:343)
> > > > >        at
> > > > >
> > > > org.apache.isis.core.metamodel.specloader.specimpl.dflt.ObjectSpec
> > > > if
> > > > ic
> > > > ationDefault.createActions(ObjectSpecificationDefault.java:222)
> > > > >        at
> > > > >
> > > > org.apache.isis.core.metamodel.specloader.specimpl.dflt.ObjectSpec
> > > > if
> > > > ic
> > > > ationDefault.introspectTypeHierarchyAndMembers(ObjectSpecification
> > > > De
> > > > fa
> > > > ult.java:167)
> > > > >        at
> > > > >
> > > > org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.i
> > > > nt
> > > > ro
> > > > spectIfRequired(ObjectReflectorDefault.java:499)
> > > > >        at
> > > > >
> > > > org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.l
> > > > oa
> > > > dS
> > > > pecificationForSubstitutedClass(ObjectReflectorDefault.java:400)
> > > > >        at
> > > > >
> > > > org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.i
> > > > nt
> > > > er
> > > > nalLoadSpecification(ObjectReflectorDefault.java:378)
> > > > >        at
> > > > >
> > > > org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.p
> > > > ri
> > > > me
> > > > Cache(ObjectReflectorDefault.java:269)
> > > > >        at
> > > > >
> > > > org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.i
> > > > ni
> > > > tA
> > > > ndValidate(ObjectReflectorDefault.java:244)
> > > > >        at
> > > > >
> > > > org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.i
> > > > ni
> > > > t(
> > > > ObjectReflectorDefault.java:205)
> > > > >        at
> > > > >
> > > >
> org.apache.isis.core.runtime.system.session.IsisSessionFactoryDefault.
> > > > init(IsisSessionFactoryDefault.java:192)
> > > > >        at
> > > > >
> > > > org.apache.isis.core.runtime.system.IsisSystemFixturesHookAbstract
> > > > .i
> > > > ni
> > > > t(IsisSystemFixturesHookAbstract.java:120)
> > > > >        at
> > > > >
> > > > org.apache.isis.core.runtime.runner.IsisInjectModule.provideIsisSy
> > > > st
> > > > em
> > > > (IsisInjectModule.java:133)
> > > > >        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
> Method)
> > > > >        at
> > > > >
> > > > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorIm
> > > > pl
> > > > .j
> > > > ava:57)
> > > > >        at
> > > > >
> > > > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAc
> > > > ce
> > > > ss
> > > > orImpl.java:43)
> > > > >        at java.lang.reflect.Method.invoke(Method.java:606)
> > > > >        at
> > > > >
> com.google.inject.internal.ProviderMethod.get(ProviderMethod.java:104)
> > > > >        at
> > > > >
> > > > com.google.inject.internal.InternalFactoryToProviderAdapter.get(In
> > > > te
> > > > rn
> > > > alFactoryToProviderAdapter.java:40)
> > > > >        at
> > > > >
> > > > com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call
> > > > (P
> > > > ro
> > > > viderToInternalFactoryAdapter.java:46)
> > > > >        at
> > > > >
> > > > com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl
> > > > .j
> > > > av
> > > > a:1031)
> > > > >        at
> > > > >
> > > > com.google.inject.internal.ProviderToInternalFactoryAdapter.get(Pr
> > > > ov
> > > > id
> > > > erToInternalFactoryAdapter.java:40)
> > > > >        at com.google.inject.Scopes$1$1.get(Scopes.java:65)
> > > > >        at
> > > > >
> > > > com.google.inject.internal.InternalFactoryToProviderAdapter.get(In
> > > > te
> > > > rn
> > > > alFactoryToProviderAdapter.java:40)
> > > > >        at
> > > > >
> > > > com.google.inject.internal.SingleFieldInjector.inject(SingleFieldI
> > > > nj
> > > > ec
> > > > tor.java:53)
> > > > >        at
> > > > >
> > > > com.google.inject.internal.MembersInjectorImpl.injectMembers(Membe
> > > > rs
> > > > In
> > > > jectorImpl.java:110)
> > > > >        at
> > > > >
> > > > com.google.inject.internal.MembersInjectorImpl$1.call(MembersInjec
> > > > to
> > > > rI
> > > > mpl.java:75)
> > > > >        at
> > > > >
> > > > com.google.inject.internal.MembersInjectorImpl$1.call(MembersInjec
> > > > to
> > > > rI
> > > > mpl.java:73)
> > > > >        at
> > > > >
> > > > com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl
> > > > .j
> > > > av
> > > > a:1024)
> > > > >        at
> > > > >
> > > > com.google.inject.internal.MembersInjectorImpl.injectAndNotify(Mem
> > > > be
> > > > rs
> > > > InjectorImpl.java:73)
> > > > >        at
> > > > >
> > > > com.google.inject.internal.MembersInjectorImpl.injectMembers(Membe
> > > > rs
> > > > In
> > > > jectorImpl.java:60)
> > > > >        ... 50 more
> > > > > 22:52:14,167  [WicketFilter         main       ERROR]  The
> > > initialization
> > > > > of an application with name 'WicketFilter' has failed.
> > > > > com.google.inject.ProvisionException: Guice provision errors:
> > > > >
> > > > >
> > > > >
> > > > > ________________________________
> > > > >
> > > > > This e-mail may contain Sprint proprietary information intended
> > > > > for the sole use of the recipient(s). Any use by others is
> prohibited.
> > > > > If you are not the intended recipient, please contact the sender
> > > > > and delete all copies of the message.
> > > > >
> > > > > ________________________________
> > > > >
> > > > > This e-mail may contain Sprint proprietary information intended
> > > > > for the sole use of the recipient(s). Any use by others is
> prohibited.
> > > > > If you are not the intended recipient, please contact the sender
> > > > > and delete all copies of the message.
> > > > >
> > > >
> > > > ________________________________
> > > >
> > > > This e-mail may contain Sprint proprietary information intended
> > > > for the sole use of the recipient(s). Any use by others is
> prohibited.
> > > > If you are not the intended recipient, please contact the sender
> > > > and delete all copies of the message.
> > > >
> > >
> > > ________________________________
> > >
> > > This e-mail may contain Sprint proprietary information intended for
> > > the sole use of the recipient(s). Any use by others is prohibited.
> > > If you are not the intended recipient, please contact the sender and
> > > delete all copies of the message.
> > >
> >
> > ________________________________
> >
> > This e-mail may contain Sprint proprietary information intended for
> > the
> sole use of the recipient(s). Any use by others is prohibited. If you are
> not the intended recipient, please contact the sender and delete all copies
> of the message.
> >
> > ________________________________
> >
> > This e-mail may contain Sprint proprietary information intended for
> > the
> sole use of the recipient(s). Any use by others is prohibited. If you are
> not the intended recipient, please contact the sender and delete all copies
> of the message.
> >
> > ________________________________
> >
> > This e-mail may contain Sprint proprietary information intended for
> > the
> sole use of the recipient(s). Any use by others is prohibited. If you are
> not the intended recipient, please contact the sender and delete all copies
> of the message.
>
> ________________________________
>
> This e-mail may contain Sprint proprietary information intended for the
> sole use of the recipient(s). Any use by others is prohibited. If you are
> not the intended recipient, please contact the sender and delete all copies
> of the message.
>

________________________________

This e-mail may contain Sprint proprietary information intended for the sole use of the recipient(s). Any use by others is prohibited. If you are not the intended recipient, please contact the sender and delete all copies of the message.

Re: Working on a branch with latest datanucleus

Posted by Dan Haywood <da...@haywood-associates.co.uk>.
On 30 December 2014 at 17:28, Branham, Jeremy [HR] <
Jeremy.D.Branham@sprint.com> wrote:

> Thanks, I've downloaded IDEA to give it a go.
>
>
Like Martin, I'm also an ex-Eclipse user (2003 to 2014 !) and used IDEA in
2011 but missed Eclipse's incremental compilation.  Now that IDEA supports
that feature, it's definitely superior.  In particular, because there's no
dependency on the slightly flaky Eclipse DataNucleus plugin, it makes for a
better developer experience.

And its's also nice to be using the same tool as all the cool kids!




>
> Any thoughts on this?
>
>
I can tell you what the error means, but not sure (exactly) how to fix it.

In Isis we maintain two hashmaps which map from the pojo -> ObjectAdapter
and from the OID to the ObjectAdapter.

Historically Isis didn't use JDO/DataNucleus, and so it used these hashmaps
to manage the lifecycle of the objects.  For example, the OID and
ObjectAdapter between them keep track of the lazy loading.

However, since we now use JDO/DataNucleus, which performs its own lazy
loading etc, it means that Isis' maps is basically subservient to JDO, and
(I strongly suspect) is actually redundant.  There's a class
called FrameworkSynchronizer which adds a bunch of listeners to the JDO
runtime, and aims to keep Isis' maps in sync.  With DN 3.x this all seems
to work reliably enough.

Anyway, as you can see in the stacktrace, what's happening with your branch
is that things have got out of whack.

My intention to deal with all this ugliness is basically to get rid of
those two hashmaps, and instead to simply instantiate and then discard the
ObjectAdapters whenever they are needed.  But I haven't done the analysis
on the methods of ObjectAdapter and Oid to figure out if there's any impact
on any of that.

Just looking at your particular stack trace, it seems that the error is
being thrown immediately when the objects being loaded are mapped (in
loadInstancesAndAdapt). That suggests in turn that the map was in an
invalid state from the previous interaction; or perhaps things didn't get
cleared down at the end of the previous interaction.

Or... perhaps there's a (new?) error in the Oid class so that it no longer
acting correctly as a value type as the key in the Oid/adapter map.

Hope that some of the above helps you figure out the issue....

Cheers
Dan



> .......
> 22:15:23,207  [AdapterManagerDefault main       DEBUG]  remapAsPersistent:
> !org.apache.isis.objectstore.jdo.datanucleus.service.support.IsisJdoSupportImpl:c51ca8f2-48d1-412b-979c-11622a382faf
> 22:15:23,207  [AdapterManagerDefault main       DEBUG]  removing root
> adapter from oid map
> 22:15:23,207  [OidAdapterHashMap    main       DEBUG]  remove oid:
> !org.apache.isis.objectstore.jdo.datanucleus.service.support.IsisJdoSupportImpl:c51ca8f2-48d1-412b-979c-11622a382faf
> 22:15:23,207  [AdapterManagerDefault main       DEBUG]  removing
> collection adapter(s) from oid map
> 22:15:23,207  [AdapterManagerDefault main       DEBUG]  updating the Oid
> 22:15:23,207  [AdapterManagerDefault main       DEBUG]  replacing Oid for
> root adapter and re-adding into maps; oid is now:
> org.apache.isis.objectstore.jdo.datanucleus.service.support.IsisJdoSupportImpl:1
> (was:
> !org.apache.isis.objectstore.jdo.datanucleus.service.support.IsisJdoSupportImpl:c51ca8f2-48d1-412b-979c-11622a382faf)
> 22:15:23,207  [OidAdapterHashMap    main       DEBUG]  add oid:
> org.apache.isis.objectstore.jdo.datanucleus.service.support.IsisJdoSupportImpl:1
> ; oid.hashCode: + #102ac45e ; adapter.hashCode(): #5e65eee4
> 22:15:23,207  [AdapterManagerDefault main       DEBUG]  replacing Oids for
> collection adapter(s) and re-adding into maps
> 22:15:23,207  [AdapterManagerDefault main       DEBUG]  synchronizing
> collection pojos, remapping in pojo map if required
> 22:15:23,207  [AdapterManagerDefault main       DEBUG]  made persistent
> PojoAdapter@5e65eee4
> [PR~:org.apache.isis.objectstore.jdo.datanucleus.service.support.IsisJdoSupportImpl:1,specification=IsisJdoSupportImpl,version=null,pojo-toString=org.apache.isis.objectstore.jdo.datanucleus.service.support.IsisJdoSupportImpl@1dd1b36,pojo-hash=#1dd1b36];
> was
> !org.apache.isis.objectstore.jdo.datanucleus.service.support.IsisJdoSupportImpl:c51ca8f2-48d1-412b-979c-11622a382faf
> Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0.051 sec
> <<< FAILURE! - in integration.tests.ToDoItemsIntegTest$Finders
> complete_and_notYetComplete(integration.tests.ToDoItemsIntegTest$Finders)
> Time elapsed: 0.051 sec  <<< ERROR!
> java.lang.RuntimeException: java.lang.IllegalArgumentException: mismatch
> in OidAdapter map: adapter's Oid: TODO:1^1:tester:, provided adapter's OID:
> TODO:1^1:tester:; map's adapter's Oid: TODO:1^1:tester:
> at org.apache.isis.core.commons.ensure.Ensure.ensureThatArg(Ensure.java:75)
> at
> org.apache.isis.core.runtime.persistence.adaptermanager.AdapterManagerDefault.ensureOidAdapterMapConsistent(AdapterManagerDefault.java:810)
> at
> org.apache.isis.core.runtime.persistence.adaptermanager.AdapterManagerDefault.ensureMapsConsistent(AdapterManagerDefault.java:780)
> at
> org.apache.isis.core.runtime.persistence.adaptermanager.AdapterManagerDefault.removeAdapter(AdapterManagerDefault.java:459)
> at
> org.apache.isis.core.runtime.persistence.adaptermanager.AdapterManagerDefault.remapRecreatedPojo(AdapterManagerDefault.java:368)
> at
> org.apache.isis.objectstore.jdo.datanucleus.persistence.FrameworkSynchronizer$1.run(FrameworkSynchronizer.java:95)
> at
> org.apache.isis.objectstore.jdo.datanucleus.persistence.FrameworkSynchronizer$8.call(FrameworkSynchronizer.java:352)
> at
> org.apache.isis.objectstore.jdo.datanucleus.persistence.FrameworkSynchronizer$8.call(FrameworkSynchronizer.java:348)
> at
> org.apache.isis.objectstore.jdo.datanucleus.persistence.FrameworkSynchronizer.withLogging(FrameworkSynchronizer.java:337)
> at
> org.apache.isis.objectstore.jdo.datanucleus.persistence.FrameworkSynchronizer.withLogging(FrameworkSynchronizer.java:348)
> at
> org.apache.isis.objectstore.jdo.datanucleus.persistence.FrameworkSynchronizer.postLoadProcessingFor(FrameworkSynchronizer.java:75)
> at
> org.apache.isis.objectstore.jdo.datanucleus.persistence.queries.PersistenceQueryProcessorAbstract.loadAdapters(PersistenceQueryProcessorAbstract.java:85)
> at
> org.apache.isis.objectstore.jdo.datanucleus.persistence.queries.PersistenceQueryFindAllInstancesProcessor.process(PersistenceQueryFindAllInstancesProcessor.java:57)
> at
> org.apache.isis.objectstore.jdo.datanucleus.persistence.queries.PersistenceQueryFindAllInstancesProcessor.process(PersistenceQueryFindAllInstancesProcessor.java:34)
> at
> org.apache.isis.objectstore.jdo.datanucleus.DataNucleusObjectStore.processPersistenceQuery(DataNucleusObjectStore.java:520)
> at
> org.apache.isis.objectstore.jdo.datanucleus.DataNucleusObjectStore.loadInstancesAndAdapt(DataNucleusObjectStore.java:515)
> at
> org.apache.isis.core.runtime.system.persistence.PersistenceSession$1.execute(PersistenceSession.java:420)
> at
> org.apache.isis.core.runtime.system.persistence.PersistenceSession$1.execute(PersistenceSession.java:417)
> at
> org.apache.isis.core.runtime.system.transaction.IsisTransactionManager.executeWithinTransaction(IsisTransactionManager.java:205)
> at
> org.apache.isis.core.runtime.system.persistence.PersistenceSession.getInstancesFromPersistenceLayer(PersistenceSession.java:417)
> at
> org.apache.isis.core.runtime.system.persistence.PersistenceSession.getInstances(PersistenceSession.java:413)
> at
> org.apache.isis.core.runtime.system.persistence.PersistenceSession.findInstances(PersistenceSession.java:394)
> at
> org.apache.isis.core.runtime.system.persistence.PersistenceSession.findInstances(PersistenceSession.java:377)
> at
> org.apache.isis.core.runtime.persistence.internal.RuntimeContextFromSession$8.allMatchingQuery(RuntimeContextFromSession.java:282)
> at
> org.apache.isis.core.metamodel.services.container.DomainObjectContainerDefault.allMatches(DomainObjectContainerDefault.java:438)
> at
> org.apache.isis.core.metamodel.services.container.DomainObjectContainerDefault.allInstances(DomainObjectContainerDefault.java:396)
> at
> fixture.todo.items.actions.complete.ToDoItemCompleteAbstract.findToDoItem(ToDoItemCompleteAbstract.java:42)
> at
> fixture.todo.items.actions.complete.ToDoItemCompleteAbstract.complete(ToDoItemCompleteAbstract.java:36)
> at
> fixture.todo.items.actions.complete.ToDoItemCompleteForBuyStamps.execute(ToDoItemCompleteForBuyStamps.java:27)
> at
> org.apache.isis.applib.fixturescripts.FixtureScript$ExecutionContext.executeChildIfNotAlready(FixtureScript.java:408)
> at
> org.apache.isis.applib.fixturescripts.FixtureScript$ExecutionContext.executeChild(FixtureScript.java:389)
> at
> org.apache.isis.applib.fixturescripts.FixtureScript$ExecutionContext.executeChild(FixtureScript.java:374)
> at
> fixture.todo.scenarios.ToDoItemsRecreateAndCompleteSeveral.execute(ToDoItemsRecreateAndCompleteSeveral.java:83)
> at
> org.apache.isis.applib.fixturescripts.FixtureScript$ExecutionContext.executeChildIfNotAlready(FixtureScript.java:408)
> at
> org.apache.isis.applib.fixturescripts.FixtureScript$ExecutionContext.executeChild(FixtureScript.java:389)
> at
> org.apache.isis.applib.fixturescripts.FixtureScript$ExecutionContext.executeChild(FixtureScript.java:374)
> at
> fixture.todo.integtests.ToDoItemsIntegTestFixture.execute(ToDoItemsIntegTestFixture.java:37)
> at
> org.apache.isis.applib.fixturescripts.FixtureScript$ExecutionContext.executeChildIfNotAlready(FixtureScript.java:408)
> at
> org.apache.isis.applib.fixturescripts.FixtureScript$ExecutionContext.access$100(FixtureScript.java:242)
> at
> org.apache.isis.applib.fixturescripts.FixtureScript.run(FixtureScript.java:504)
> at
> org.apache.isis.applib.fixturescripts.FixtureScripts.runFixtureScript(FixtureScripts.java:266)
> at
> fixture.todo.ToDoItemsFixturesService.runFixtureScript(ToDoItemsFixturesService.java:58)
> at
> integration.tests.ToDoItemsIntegTest$Finders.setUpData(ToDoItemsIntegTest.java:49)
>
>
>
> Jeremy D. Branham
> Tel: **DOTNET
>
>
> -----Original Message-----
> From: Martin Grigorov [mailto:mgrigorov@apache.org]
> Sent: Monday, December 29, 2014 11:08 PM
> To: users
> Subject: RE: Working on a branch with latest datanucleus
>
> Hi,
>
> On Dec 30, 2014 5:39 AM, "Branham, Jeremy [HR]" <
> Jeremy.D.Branham@sprint.com>
> wrote:
> >
> > There ended up being a lot of refactoring to swap PersistenceCapable
> > for
> Persistable throughout.
> >
> > Currently trying to understand this -
> >
> > java.lang.IllegalArgumentException: mismatch in OidAdapter map:
> > adapter's
> Oid: TODO:1^1:tester:, provided adapter's OID: TODO:1^1:tester:; map's
> adapter's Oid: TODO:1^1:tester:
> > at
> org.apache.isis.core.commons.ensure.Ensure.ensureThatArg(Ensure.java:75)
> >
> >
> > I'm having difficulty getting MyEclipse to attach and stop at the
> breakpoints during a Maven build, so this process has been needlessly
> complicated.
> >
> > This is off topic, but I'm curious what other folks are using.
> > Eclipse,
> IDEA, other?
>
> I'm ex-Eclipse user and now I use IDEA for 2+ years. I'm very happy with
> the switch! Debugging Maven build usually is very easy by using IDEA's
> Maven integration !
>
> Some ideas:
> 1) use mvnDebug to start Maven on command line with remote debugging
> enabled. It will suspend before starting the process so you can attach the
> debugger
>
> 2) run the failing test directly from the IDE
>
> Thanks for helping us with this!
> Have fun!
>
> >
> >
> > Jeremy D. Branham
> > Tel: **DOTNET
> >
> >
> > -----Original Message-----
> > From: Branham, Jeremy [HR]
> > Sent: Monday, December 29, 2014 4:47 PM
> > To: users@isis.apache.org
> > Subject: RE: Working on a branch with latest datanucleus
> >
> >
> > I've added the factories to the ' IsisConfigurationForJdoIntegTests'
> > and
> adjusted the DataNucleus properties to match 4.x
> >
> > I can see the tables are getting created but there is a cast exception.
> > I won't flood the email distribution again until I'm stuck for a few
> hours. =] Looks like it's pretty close now.
> >
> >
> > Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0.031
> > sec
> <<< FAILURE! - in integration.tests.ToDoItemsIntegTest$NewToDo_and_Delete
> > happyCase(integration.tests.ToDoItemsIntegTest$NewToDo_and_Delete)
> > Time
> elapsed: 0.031 sec  <<< ERROR!
> > java.lang.ClassCastException: dom.todo.ToDoItem cannot be cast to
> javax.jdo.spi.PersistenceCapable
> >
> >
> > -------------------------
> > 16:35:20,986  [Schema               main       DEBUG]  CREATE TABLE
> "ToDoItem"
> > (
> >     "id" BIGINT GENERATED BY DEFAULT AS IDENTITY,
> >     "attachment_name" BLOB NULL,
> >     "category" NVARCHAR(255) NOT NULL,
> >     "complete" BOOLEAN NOT NULL,
> >     "cost" DECIMAL(19,2) NULL,
> >     "description" NVARCHAR(100) NOT NULL,
> >     "doc_name" BLOB NULL,
> >     "dueBy" DATE NULL,
> >     "notes" NVARCHAR(400) NULL,
> >     "ownedBy" NVARCHAR(255) NOT NULL,
> >     "subcategory" NVARCHAR(255) NULL,
> >     "version" BIGINT NOT NULL,
> >     CONSTRAINT "ToDoItem_PK" PRIMARY KEY ("id")
> > )
> > 16:35:20,986  [Schema               main       DEBUG]  Execution Time = 0
> ms
> > 16:35:21,002  [Schema               main       DEBUG]  Check of existence
> of "ToDoItemDependencies" returned no table
> > 16:35:21,002  [Schema               main       DEBUG]  Creating table
> "ToDoItemDependencies"
> > 16:35:21,002  [Schema               main       DEBUG]  CREATE TABLE
> "ToDoItemDependencies"
> > (
> >     "dependingId" BIGINT NOT NULL,
> >     "dependentId" BIGINT NOT NULL,
> >     CONSTRAINT "ToDoItemDependencies_PK" PRIMARY KEY
> ("dependingId","dependentId")
> > )
> >
> >
> >
> >
> >
> >
> > Jeremy D. Branham
> > Tel: **DOTNET
> >
> >
> > -----Original Message-----
> > From: Branham, Jeremy [HR]
> > Sent: Monday, December 29, 2014 3:31 PM
> > To: users@isis.apache.org
> > Subject: RE: Working on a branch with latest datanucleus
> >
> > Forgot to mention -
> > I updated the 'JDOStateManagerForIsis' to use Persistable instead of
> PersistanceCapable.
> >
> > public class JDOStateManagerForIsis extends
> > ReferentialStateManagerImpl {
> ...
> > }
> >
> >
> > Jeremy D. Branham
> > Tel: **DOTNET
> >
> >
> > -----Original Message-----
> > From: Branham, Jeremy [HR]
> > Sent: Monday, December 29, 2014 3:26 PM
> > To: users@isis.apache.org
> > Subject: RE: Working on a branch with latest datanucleus
> >
> > Thanks, that has got me started.
> > For now I am just working with the RDMS capable statemanager, and will
> focus on the Neo4j compatibility later.
> >
> > I've added two ' AbstractRemoveMethodsFacetFactory'
> >
> > [Finds 25 methods]
> >     public RemoveDatanucleusPersistableTypesFacetFactory() {
> >         super("org.datanucleus.enhancer.Persistable");
> >     }
> >
> > And
> >
> > [org.apache.isis.core.commons.factory.UnavailableClassException: The
> default type 'javax.jdo.spi.Persistable' cannot be found]
> >     public RemoveJdoPersistableEnhancementTypesFacetFactory() {
> >         super("javax.jdo.spi.Persistable");
> >     }
> >
> >
> >
> > In the 'FacetedMethodsBuilder# getActionFacetedMethods' I do see this
> > -
> [It looks like it is stripping off the dn methods, does this look right?]
> >
> > associationFacetMethodsCollections$UnmodifiableRandomAccessList<E>
> (id=289) [PROPERTY Peer
> [identifier="dom.simple.SimpleObject#name()",type=java.lang.String ]]
> >
> > introspectedClassClass<T> (dom.simple.SimpleObject) (id=291) class
> dom.simple.SimpleObject
> >
> > methodsArrays$ArrayList<E>  (id=293)
> > [null, null, null, null, public static java.lang.Class
> dom.simple.SimpleObject.___jdo$loadClass(java.lang.String), null, null,
> null, null, null, null, null, null, null, null, null, null, null, null,
> null, null, null, null, null, null, null, null, null, null, null, null,
> null, null, null, null, null, null, null, null, null, null]
> >
> >
> > Is it ok that the 'SimpleObject.___jdo$loadClass' method is listed there?
> >
> >
> >
> > Although, this exception is getting thrown now -
> >
> >                 // assert is persistent
> >                 if(!pojo.jdoIsPersistent()) {
> >                     throw new IllegalStateException("Pojo JDO state is
> not persistent! pojo dnOid: " + JDOHelper.getObjectId(pojo));
> >                 }
> >
> >
> > Is there still something wrong with the method filtering? Or is this a
> different issue?
> >
> >
> >
> > Jeremy D. Branham
> > Tel: **DOTNET
> >
> >
> > -----Original Message-----
> > From: Dan Haywood [mailto:dan@haywood-associates.co.uk]
> > Sent: Monday, December 29, 2014 11:33 AM
> > To: users
> > Subject: Re: Working on a branch with latest datanucleus
> >
> > Hi Jeremy,
> >
> > Having not looked at DN 4.x at all yet, can't specfically advise; have
> > a
> few general thoughts though.
> >
> > Just to recap on stuff that you probably know/have figured out...
> >
> > * With respect to javax.jdo.spi.PersistenceCapable vs
> javax.jdo.spi.Persistable, in DN 3.x I know the enhancer makes all
> enhanced objects implement the javax.jdo.spi.PersistenceCapable interface.
> Looking at the javax.jdo.spi.Persistable interface for DN 3.x it seems like
> its a placeholder, with a comment "Note that this is not yet used by
> DataNucleus, but is intended as something for the future."
> >
> > * My guess for DN 4.x is that Andy Jefferson (maintainer of DN) has
> > now
> made this change, and generalized things to work with
> javax.jdo.spi.Persistable instead of, or perhaps as well as,
> PersistenceCapable.  (This might explain the new dnReplaceFields(...)
> methods rather than jdoReplaceFields(...) methods that you saw before).
> >
> > * I can tell you that JDOStateManagerForIsis is kinda important, as
> > its
> the point where we tell Isis about the objects that are brought into
> memory by DN, to map them and inject services into them.  So you will need
> to find some sort of implementation of it.
> >
> > ~~~
> > From its name, I'm guessing that ReferentialJDOStateManager is for
> > RDBMS
> stores, whereas of course you are using Neo4J instead.  So you probably
> need to inherit from AbstractStateManager or something else higher up in
> the inheritance hierarchy.
> >
> > In terms of getting Isis to work with your own improved version of
> JdoStateManagerForIsis, it looks like the implementation is specified in
> >
>
> DataNucleusPersistenceMechanismInstaller#addDataNucleusPropertiesIfRequired(...)
> >  ... so you can probably just add your impl to isis.properties.
> >
> > Also, I notice that there's a thread-local in JdoStateManagerForIsis
> > that
> is referenced by EventBusServiceJdo, but that could easily be moved out
> into some other class.
> >
> > ~~
> > If none of the above helps, you might want to try posting a question
> > on
> the DN forum [1], though I know that Andy does also answer DN questions on
> SO also.  The question will need to be framed in terms of DN rather than
> Isis though.
> >
> > If you get nowhere, I can ping Andy also (so long as I'm clear about
> > what
> I'm asking, which I'm not quite, at the moment).
> >
> > HTH
> > Dan
> >
> >
> > [1] http://www.datanucleus.org/support.html
> >
> >
> >
> > On 29 December 2014 at 16:52, Branham, Jeremy [HR] <
> Jeremy.D.Branham@sprint.com> wrote:
> >
> > > I thought I was being clever changing over to 'Persitable' in the
> > > 'JDOStateManagerForIsis', but I get errors about the 'SimpleObject'
> > > not being persistable at runtime.
> > >
> > > ---------------
> > >
> > > I have a question about the ReferentialJDOStateManager in DataNucleus.
> > > The JDOStateManager extended this class in DN 3.x but it is not
> > > present in DN 4.x
> > >
> > > Affected class in Isis -
> > > public class JDOStateManagerForIsis extends
> > > ReferentialJDOStateManager implements StateManager, ObjectProvider
> > >
> > > I do see this class -
> > > org.datanucleus.state.ReferentialStateManagerImpl
> > >
> > > I thought this might be the appropriate replacement, but if I extend
> > > ReferentialStateManagerImpl, there are problems...
> > >
> > > The problem I encounter when extending the new class -
> > > ReferentialStateManagerImpl extends StateManagerImpl. Which extends
> > > AbstractStateManager<Persistable>
> > >
> > > The current JDOStateManagerForIsis is setup to handle
> > > PersistenceCapable objects rather than Persistable objects.
> > >
> > > I'm not sure where to go from here.
> > >
> > > Also posted on SO -
> > >
> > > http://stackoverflow.com/questions/27692754/is-referentialjdostatema
> > > na
> > > ger-not-used-in-datanucleus-4-x
> > >
> > >
> > >
> > >
> > > Jeremy D. Branham
> > > Tel: **DOTNET
> > >
> > >
> > > -----Original Message-----
> > > From: Dan Haywood [mailto:dan@haywood-associates.co.uk]
> > > Sent: Friday, December 26, 2014 1:42 AM
> > > To: users
> > > Subject: Re: Working on a branch with latest datanucleus
> > >
> > > With Isis we have:
> > >
> > >
> > >
> > > org.apache.isis.core.metamodel.facets.object.ignore.jdo.RemoveJdoEnh
> > > an
> > > cementTypesFacetFactory
> > >
> > > that ensures that Isis ignores all the methods in the
> > > javax,jdo.spi.PersistenceCapable interface.  That interface defines
> > > a bunch of methods called jdoReplaceFields(int[]) and so on.
> > >
> > > My guess is that with DN 4.0 that this has changed so that there is
> > > a similar DN-specific interface that the enhancer makes the
> > > persistence-capable objects implement.
> > >
> > > Have a go at writing a similar facet factory and register it in
> > > isis.properties using the "isis.reflector.facets.include" property,
> > > see [1]... If it works we can incorporate into Isis proper for a
> > > future
> version.
> > >
> > > Let us know how you get on.
> > >
> > > Dan
> > >
> > >
> > > [1]
> > >
> > > http://isis.apache.org/more-advanced-topics/metamodel-finetuning-the
> > > -p
> > > rogramming-model.html
> > >
> > >
> > > On 25 December 2014 at 00:43, Branham, Jeremy [HR] <
> > > Jeremy.D.Branham@sprint.com> wrote:
> > >
> > > > Thanks for checking Dan.
> > > > I solved that particular issue, but I'm not sure it's a valid
> solution.
> > > >
> > > > Changed -
> > > >
> > > > https://github.com/jdbranham/isis/blob/DN_404/core/metamodel/src/m
> > > > ai
> > > > n/
> > > > java/org/apache/isis/core/metamodel/specloader/classsubstitutor/Cl
> > > > as
> > > > sS
> > > > ubstitutor.java#L53-L55
> > > >
> > > >
> > > > New Issue I'm working on -
> > > >
> > > > Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed:
> > > > 0.197 sec <<< FAILURE! - in
> > > > integration.tests.ToDoItemIntegTest$Properties$Description
> > > > integration.tests.ToDoItemIntegTest$Properties$Description  Time
> elapsed:
> > > > 0.197 sec  <<< ERROR!
> > > > java.lang.RuntimeException:
> > > > org.apache.isis.core.commons.exceptions.UnknownTypeException:
> > > > collections not supported as parameters:
> > > > dom.todo.ToDoItem#dnProvideFields([I)
> > > > at
> > > > org.apache.isis.core.integtestsupport.IsisSystemForTest.setUpSyste
> > > > m(
> > > > Is
> > > > isSystemForTest.java:314)
> > > >
> > > >
> > > > Jeremy D. Branham
> > > > Tel: **DOTNET
> > > >
> > > >
> > > > -----Original Message-----
> > > > From: Dan Haywood [mailto:dan@haywood-associates.co.uk]
> > > > Sent: Wednesday, December 24, 2014 12:05 PM
> > > > To: users
> > > > Subject: Re: Working on a branch with latest datanucleus
> > > >
> > > > Hi Jeremy,
> > > >
> > > > sorry, it's not clear to me if you had an issue but then resolved
> > > > it, or whether there is still an issue?
> > > >
> > > > With respect to moving to DN 4.0, that's certainly the intention,
> > > > and is a prerequisite for us to support Java8.  Given that Java7
> > > > support finishes in April 2015, it's clearly something that we
> > > > need to do be tackling quite soon.
> > > >
> > > > Thx
> > > > Dan
> > > >
> > > >
> > > > On 24 December 2014 at 05:24, Branham, Jeremy [HR] <
> > > > Jeremy.D.Branham@sprint.com> wrote:
> > > >
> > > > > The line numbers didn't match because a different version of the
> > > > > class was being loaded.
> > > > > I added a null check that solved the issue, but the code running
> > > > > hadn't picked up the change yet.
> > > > >
> > > > >
> > > > > Jeremy D. Branham
> > > > > Tel: **DOTNET
> > > > >
> > > > >
> > > > > -----Original Message-----
> > > > > From: Branham, Jeremy [HR]
> > > > > Sent: Tuesday, December 23, 2014 11:04 PM
> > > > > To: users@isis.apache.org
> > > > > Subject: Working on a branch with latest datanucleus
> > > > >
> > > > > Sorry for the massive stack trace, but I was looking for some
> > > > > pointers on what might be happing here.
> > > > > I'm having a bit of difficulty debugging because the line
> > > > > numbers reported don't seem to match the source files, and even
> > > > > when stepping through the code. [maybe something wrong in my dev
> > > > > env]
> > > > >
> > > > > I'm working on a branch with a newer datanucleus support [4.0.4]
> > > > > and seems to be an issue with the spec loader.
> > > > > I understand if there is no support for this yet.
> > > > >
> > > > >
> > > > > 22:52:01,445  [Reflections          main       INFO ]  Reflections
> took
> > > > > 421 ms to scan 7 urls, producing 148 keys and 716 values
> > > > > 22:52:01,523  [ServiceInstantiator  main       DEBUG]  loading
> class
> > > for
> > > > > service: dom.simple.SimpleObjects
> > > > > 22:52:01,523  [ServiceInstantiator  main       DEBUG]  loading
> class
> > > for
> > > > > service: fixture.simple.SimpleObjectsFixturesService
> > > > > 22:52:01,523  [ServiceInstantiator  main       DEBUG]  loading
> class
> > > for
> > > > > service: org.apache.isis.applib.annotation.Bulk$InteractionContext
> > > > > 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading
> class
> > > for
> > > > > service:
> > > > >
> > > > org.apache.isis.applib.services.bookmark.BookmarkHolderActionContr
> > > > ib
> > > > ut
> > > > ions
> > > > > 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading
> class
> > > for
> > > > > service:
> > > > >
> > > > org.apache.isis.applib.services.classdiscovery.ClassDiscoveryServi
> > > > ce
> > > > Us
> > > > ingReflections
> > > > > 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading
> class
> > > for
> > > > > service: org.apache.isis.applib.services.clock.ClockService
> > > > > 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading
> class
> > > for
> > > > > service: org.apache.isis.applib.services.command.CommandContext
> > > > > 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading
> class
> > > for
> > > > > service:
> > > > org.apache.isis.applib.services.queryresultscache.QueryResultsCach
> > > > e
> > > > > 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading
> class
> > > for
> > > > > service: org.apache.isis.applib.services.scratchpad.Scratchpad
> > > > > 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading
> class
> > > for
> > > > > service:
> > > > >
> > > org.apache.isis.core.metamodel.services.bookmarks.BookmarkServiceDef
> > > au
> > > lt
> > > > > 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading
> class
> > > for
> > > > > service:
> > > > >
> > > > org.apache.isis.core.metamodel.services.container.DomainObjectCont
> > > > ai
> > > > ne
> > > > rDefault
> > > > > 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading
> class
> > > for
> > > > > service:
> > > > >
> > > org.apache.isis.core.runtime.services.background.BackgroundServiceDe
> > > fa
> > > ult
> > > > > 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading
> class
> > > for
> > > > > service:
> > > > org.apache.isis.core.runtime.services.memento.MementoServiceDefaul
> > > > t
> > > > > 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading
> class
> > > for
> > > > > service:
> > > > >
> > > > org.apache.isis.core.runtime.services.xmlsnapshot.XmlSnapshotServi
> > > > ce
> > > > De
> > > > fault
> > > > > 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading
> class
> > > for
> > > > > service: org.apache.isis.core.wrapper.WrapperFactoryDefault
> > > > > 22:52:01,587  [ServiceInstantiator  main       DEBUG]  loading
> class
> > > for
> > > > > service:
> > > > >
> > > > org.apache.isis.objectstore.jdo.applib.service.exceprecog.Exceptio
> > > > nR
> > > > ec
> > > > ognizerCompositeForJdoObjectStore
> > > > > 22:52:01,618  [ServiceInstantiator  main       DEBUG]  loading
> class
> > > for
> > > > > service:
> > > > >
> > > > org.apache.isis.objectstore.jdo.datanucleus.service.eventbus.Event
> > > > Bu
> > > > sS
> > > > erviceJdo
> > > > > 22:52:01,618  [ServiceInstantiator  main       DEBUG]  loading
> class
> > > for
> > > > > service:
> > > > >
> > > > org.apache.isis.objectstore.jdo.datanucleus.service.support.IsisJd
> > > > oS
> > > > up
> > > > portImpl
> > > > > 22:52:01,618  [ServiceInstantiator  main       DEBUG]  loading
> class
> > > for
> > > > > service:
> > > > >
> > > > org.apache.isis.viewer.restfulobjects.rendering.service.Representa
> > > > ti
> > > > on
> > > > ServiceForRestfulObjects
> > > > > 22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected
> > > > > org.apache.isis.core.metamodel.services.container.DomainObjectCo
> > > > > nt
> > > > > ai
> > > > > ne
> > > > > rDefault@397c8a21
> > > > > into SimpleObjects@529d935d[]
> > > > > 22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected
> > > > > org.apache.isis.core.runtime.services.memento.MementoServiceDefa
> > > > > ul t@ 6c dd377c into SimpleObjectsFixturesService@2f65e5ba[]
> > > > > 22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected
> > > > > org.apache.isis.core.metamodel.services.bookmarks.BookmarkServic
> > > > > eD
> > > > > ef
> > > > > au
> > > > > lt@4acd2ea5 into SimpleObjectsFixturesService@2f65e5ba[]
> > > > > 22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected
> > > > > org.apache.isis.applib.services.classdiscovery.ClassDiscoverySer
> > > > > vi
> > > > > ce
> > > > > Us
> > > > > ingReflections@64b17900 into SimpleObjectsFixturesService@2f65e5ba
> []
> > > > > 22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected
> > > > > org.apache.isis.core.metamodel.services.container.DomainObjectCo
> > > > > nt
> > > > > ai
> > > > > ne
> > > > > rDefault@397c8a21 into SimpleObjectsFixturesService@2f65e5ba[]
> > > > > 22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected
> > > > > org.apache.isis.core.metamodel.services.bookmarks.BookmarkServic
> > > > > eD
> > > > > ef
> > > > > au
> > > > > lt@4acd2ea5 into BookmarkHolderActionContributions@3f7f22a5[]
> > > > > 22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected
> > > > > org.apache.isis.core.metamodel.services.container.DomainObjectCo
> > > > > nt
> > > > > ai
> > > > > ne
> > > > > rDefault@397c8a21 into
> > > > > ClassDiscoveryServiceUsingReflections@64b17900[]
> > > > > 22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected
> > > > > org.apache.isis.core.wrapper.WrapperFactoryDefault@33bb9f34 into
> > > > > BookmarkServiceDefault@4acd2ea5[]
> > > > > 22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected
> > > > > org.apache.isis.core.wrapper.WrapperFactoryDefault@33bb9f34 into
> > > > > DomainObjectContainerDefault@397c8a21[]
> > > > > 22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected
> > > > > org.apache.isis.core.metamodel.services.bookmarks.BookmarkServic
> > > > > eD
> > > > > ef
> > > > > au
> > > > > lt@4acd2ea5 into BackgroundServiceDefault@4898c8f9[]
> > > > > 22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected
> > > > > org.apache.isis.core.runtime.services.ServiceInstantiator$2@26b2
> > > > > 78 ab into BackgroundServiceDefault@4898c8f9[]
> > > > > 22:52:01,727  [ObjectReflectorDefault main       DEBUG]
> initialising
> > > > >
> > > org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault@1e6
> > > 14
> > > 4db
> > > > > 22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected
> > > > > org.apache.isis.core.metamodel.services.container.DomainObjectCo
> > > > > nt
> > > > > ai
> > > > > ne
> > > > > rDefault@397c8a21
> > > > > into SimpleObjects@529d935d[]
> > > > > 22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected
> > > > > org.apache.isis.core.runtime.services.memento.MementoServiceDefa
> > > > > ul t@ 6c dd377c into SimpleObjectsFixturesService@2f65e5ba[]
> > > > > 22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected
> > > > > org.apache.isis.core.metamodel.services.bookmarks.BookmarkServic
> > > > > eD
> > > > > ef
> > > > > au
> > > > > lt@4acd2ea5 into SimpleObjectsFixturesService@2f65e5ba[]
> > > > > 22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected
> > > > > org.apache.isis.applib.services.classdiscovery.ClassDiscoverySer
> > > > > vi
> > > > > ce
> > > > > Us
> > > > > ingReflections@64b17900 into SimpleObjectsFixturesService@2f65e5ba
> []
> > > > > 22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected
> > > > > org.apache.isis.core.metamodel.services.container.DomainObjectCo
> > > > > nt
> > > > > ai
> > > > > ne
> > > > > rDefault@397c8a21 into SimpleObjectsFixturesService@2f65e5ba[]
> > > > > 22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected
> > > > > org.apache.isis.core.metamodel.services.bookmarks.BookmarkServic
> > > > > eD
> > > > > ef
> > > > > au
> > > > > lt@4acd2ea5 into BookmarkHolderActionContributions@3f7f22a5[]
> > > > > 22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected
> > > > > org.apache.isis.core.metamodel.services.container.DomainObjectCo
> > > > > nt
> > > > > ai
> > > > > ne
> > > > > rDefault@397c8a21 into
> > > > > ClassDiscoveryServiceUsingReflections@64b17900[]
> > > > > 22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected
> > > > > org.apache.isis.core.wrapper.WrapperFactoryDefault@33bb9f34 into
> > > > > BookmarkServiceDefault@4acd2ea5[]
> > > > > 22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected
> > > > > org.apache.isis.core.wrapper.WrapperFactoryDefault@33bb9f34 into
> > > > > DomainObjectContainerDefault@397c8a21[]
> > > > > 22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected
> > > > > org.apache.isis.core.metamodel.services.bookmarks.BookmarkServic
> > > > > eD
> > > > > ef
> > > > > au
> > > > > lt@4acd2ea5 into BackgroundServiceDefault@4898c8f9[]
> > > > > 22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected
> > > > > org.apache.isis.core.runtime.services.ServiceInstantiator$2@26b2
> > > > > 78 ab into BackgroundServiceDefault@4898c8f9[]
> > > > > 22:52:14,042  [ObjectSpecificationAbstract main       DEBUG]
> > > > Superclass
> > > > > java.lang.Object
> > > > > 22:52:14,152  [ObjectSpecificationAbstract main       DEBUG]
> > > > Superclass
> > > > > java.lang.Object
> > > > > 22:52:14,167  [IsisWicketApplication main       ERROR]  Failed to
> > > > > initialize
> > > > > com.google.inject.ProvisionException: Guice provision errors:
> > > > >
> > > > > 1) Error in custom provider, java.lang.NullPointerException
> > > > >   at
> > > > >
> > > > org.apache.isis.core.runtime.runner.IsisInjectModule.provideIsisSy
> > > > st
> > > > em
> > > > (IsisInjectModule.java:132)
> > > > >   at
> > > > >
> > > > org.apache.isis.core.runtime.runner.IsisInjectModule.provideIsisSy
> > > > st
> > > > em
> > > > (IsisInjectModule.java:132)
> > > > >   while locating org.apache.isis.core.runtime.system.IsisSystem
> > > > >     for field at
> > > > >
> > > > org.apache.isis.viewer.wicket.viewer.IsisWicketApplication.system(
> > > > Is
> > > > is
> > > > WicketApplication.java:138)
> > > > >   while locating webapp.SimpleApplication
> > > > >
> > > > > 1 error
> > > > >        at
> > > > >
> > > > com.google.inject.internal.Errors.throwProvisionExceptionIfErrorsE
> > > > xi
> > > > st
> > > > (Errors.java:451)
> > > > >        at
> > > > >
> > > > com.google.inject.internal.MembersInjectorImpl.injectMembers(Membe
> > > > rs
> > > > In
> > > > jectorImpl.java:65)
> > > > >        at
> > > > >
> > > > com.google.inject.internal.InjectorImpl.injectMembers(InjectorImpl
> > > > .j
> > > > av
> > > > a:944)
> > > > >        at
> > > > >
> > > > org.apache.isis.viewer.wicket.viewer.IsisWicketApplication.init(Is
> > > > is
> > > > Wi
> > > > cketApplication.java:248)
> > > > >        at webapp.SimpleApplication.init(SimpleApplication.java:81)
> > > > >        at
> > > > > org.apache.wicket.Application.initApplication(Application.java:823)
> > > > >        at
> > > > >
> > > org.apache.wicket.protocol.http.WicketFilter.init(WicketFilter.java:
> > > 42
> > > 4)
> > > > >        at
> > > > >
> > > org.apache.wicket.protocol.http.WicketFilter.init(WicketFilter.java:
> > > 35
> > > 1)
> > > > >        at
> > > > >
> org.mortbay.jetty.servlet.FilterHolder.doStart(FilterHolder.java:97)
> > > > >        at
> > > > >
> > > org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java
> > > :5
> > > 0)
> > > > >        at
> > > > >
> > > > org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler
> > > > .j
> > > > av
> > > > a:713)
> > > > >        at
> > > > org.mortbay.jetty.servlet.Context.startContext(Context.java:140)
> > > > >        at
> > > > >
> > > > org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.
> > > > ja
> > > > va
> > > > :1282)
> > > > >        at
> > > > >
> > > org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java
> > > :5
> > > 18)
> > > > >        at
> > > > >
> org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:499)
> > > > >        at
> > > > >
> > > > org.mortbay.jetty.plugin.Jetty6PluginWebAppContext.doStart(Jetty6P
> > > > lu
> > > > gi
> > > > nWebAppContext.java:115)
> > > > >        at
> > > > >
> > > org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java
> > > :5
> > > 0)
> > > > >        at
> > > > >
> > > >
> org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.
> > > > java:152)
> > > > >        at
> > > > >
> > > > org.mortbay.jetty.handler.ContextHandlerCollection.doStart(Context
> > > > Ha
> > > > nd
> > > > lerCollection.java:156)
> > > > >        at
> > > > >
> > > org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java
> > > :5
> > > 0)
> > > > >        at
> > > > >
> > > >
> org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.
> > > > java:152)
> > > > >        at
> > > > >
> > > org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java
> > > :5
> > > 0)
> > > > >        at
> > > > >
> > > org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java
> > > :1
> > > 30)
> > > > >        at org.mortbay.jetty.Server.doStart(Server.java:224)
> > > > >        at
> > > > >
> > > org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java
> > > :5
> > > 0)
> > > > >        at
> > > > >
> > > > org.mortbay.jetty.plugin.Jetty6PluginServer.start(Jetty6PluginServ
> > > > er
> > > > .j
> > > > ava:132)
> > > > >        at
> > > > >
> > > > org.mortbay.jetty.plugin.AbstractJettyMojo.startJetty(AbstractJett
> > > > yM
> > > > oj
> > > > o.java:454)
> > > > >        at
> > > > >
> > > > org.mortbay.jetty.plugin.AbstractJettyMojo.execute(AbstractJettyMo
> > > > jo
> > > > .j
> > > > ava:396)
> > > > >        at
> > > > >
> > > > org.mortbay.jetty.plugin.AbstractJettyRunMojo.execute(AbstractJett
> > > > yR
> > > > un
> > > > Mojo.java:210)
> > > > >        at
> > > > >
> org.mortbay.jetty.plugin.Jetty6RunMojo.execute(Jetty6RunMojo.java:184)
> > > > >        at
> > > > >
> > > > org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(Defa
> > > > ul
> > > > tB
> > > > uildPluginManager.java:106)
> > > > >        at
> > > > >
> > > >
> org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.
> > > > java:208)
> > > > >        at
> > > > >
> > > >
> org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.
> > > > java:153)
> > > > >        at
> > > > >
> > > >
> org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.
> > > > java:145)
> > > > >        at
> > > > >
> > > > org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildPr
> > > > oj
> > > > ec
> > > > t(LifecycleModuleBuilder.java:84)
> > > > >        at
> > > > >
> > > > org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildPr
> > > > oj
> > > > ec
> > > > t(LifecycleModuleBuilder.java:59)
> > > > >        at
> > > > >
> > > > org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreade
> > > > dB
> > > > ui
> > > > ld(LifecycleStarter.java:183)
> > > > >        at
> > > > >
> > > > org.apache.maven.lifecycle.internal.LifecycleStarter.execute(Lifec
> > > > yc
> > > > le
> > > > Starter.java:161)
> > > > >        at
> > > org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:317)
> > > > >        at
> org.apache.maven.DefaultMaven.execute(DefaultMaven.java:152)
> > > > >        at org.apache.maven.cli.MavenCli.execute(MavenCli.java:555)
> > > > >        at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:214)
> > > > >        at org.apache.maven.cli.MavenCli.main(MavenCli.java:158)
> > > > >        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
> Method)
> > > > >        at
> > > > >
> > > > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorIm
> > > > pl
> > > > .j
> > > > ava:57)
> > > > >        at
> > > > >
> > > > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAc
> > > > ce
> > > > ss
> > > > orImpl.java:43)
> > > > >        at java.lang.reflect.Method.invoke(Method.java:606)
> > > > >        at
> > > > >
> > > > org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(L
> > > > au
> > > > nc
> > > > her.java:289)
> > > > >        at
> > > > >
> > > > org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.
> > > > ja
> > > > va
> > > > :229)
> > > > >        at
> > > > >
> > > > org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode
> > > > (L
> > > > au
> > > > ncher.java:415)
> > > > >        at
> > > > >
> > > org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java
> > > :3
> > > 56)
> > > > >        at
> > > > > org.codehaus.classworlds.Launcher.main(Launcher.java:46)
> > > > > Caused by: java.lang.NullPointerException
> > > > >        at
> > > > >
> > > > org.apache.isis.core.metamodel.specloader.classsubstitutor.ClassSu
> > > > bs
> > > > ti
> > > > tutor.getClass(ClassSubstitutor.java:54)
> > > > >        at
> > > > >
> > > > org.apache.isis.core.metamodel.specloader.classsubstitutor.ClassSu
> > > > bs
> > > > ti
> > > > tutor.getClass(ClassSubstitutor.java:55)
> > > > >        at
> > > > >
> > > > org.apache.isis.core.metamodel.specloader.specimpl.dflt.ObjectSpec
> > > > if
> > > > ic
> > > > ationDefault.introspectTypeHierarchyAndMembers(ObjectSpecification
> > > > De
> > > > fa
> > > > ult.java:146)
> > > > >        at
> > > > >
> > > > org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.i
> > > > nt
> > > > ro
> > > > spectIfRequired(ObjectReflectorDefault.java:499)
> > > > >        at
> > > > >
> > > > org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.l
> > > > oa
> > > > dS
> > > > pecificationForSubstitutedClass(ObjectReflectorDefault.java:400)
> > > > >        at
> > > > >
> > > > org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.i
> > > > nt
> > > > er
> > > > nalLoadSpecification(ObjectReflectorDefault.java:378)
> > > > >        at
> > > > >
> > > > org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.l
> > > > oa
> > > > dS
> > > > pecifications(ObjectReflectorDefault.java:415)
> > > > >        at
> > > > >
> > > > org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.l
> > > > oa
> > > > dS
> > > > pecifications(ObjectReflectorDefault.java:428)
> > > > >        at
> > > > >
> > > > org.apache.isis.core.metamodel.specloader.specimpl.FacetedMethodsB
> > > > ui
> > > > ld
> > > > er.representsAction(FacetedMethodsBuilder.java:455)
> > > > >        at
> > > > >
> > > > org.apache.isis.core.metamodel.specloader.specimpl.FacetedMethodsB
> > > > ui
> > > > ld
> > > > er.findActionFacetedMethod(FacetedMethodsBuilder.java:404)
> > > > >        at
> > > > >
> > > > org.apache.isis.core.metamodel.specloader.specimpl.FacetedMethodsB
> > > > ui
> > > > ld
> > > > er.findActionFacetedMethods(FacetedMethodsBuilder.java:388)
> > > > >        at
> > > > >
> > > > org.apache.isis.core.metamodel.specloader.specimpl.FacetedMethodsB
> > > > ui
> > > > ld
> > > > er.findActionFacetedMethods(FacetedMethodsBuilder.java:367)
> > > > >        at
> > > > >
> > > > org.apache.isis.core.metamodel.specloader.specimpl.FacetedMethodsB
> > > > ui
> > > > ld
> > > > er.getActionFacetedMethods(FacetedMethodsBuilder.java:343)
> > > > >        at
> > > > >
> > > > org.apache.isis.core.metamodel.specloader.specimpl.dflt.ObjectSpec
> > > > if
> > > > ic
> > > > ationDefault.createActions(ObjectSpecificationDefault.java:222)
> > > > >        at
> > > > >
> > > > org.apache.isis.core.metamodel.specloader.specimpl.dflt.ObjectSpec
> > > > if
> > > > ic
> > > > ationDefault.introspectTypeHierarchyAndMembers(ObjectSpecification
> > > > De
> > > > fa
> > > > ult.java:167)
> > > > >        at
> > > > >
> > > > org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.i
> > > > nt
> > > > ro
> > > > spectIfRequired(ObjectReflectorDefault.java:499)
> > > > >        at
> > > > >
> > > > org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.l
> > > > oa
> > > > dS
> > > > pecificationForSubstitutedClass(ObjectReflectorDefault.java:400)
> > > > >        at
> > > > >
> > > > org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.i
> > > > nt
> > > > er
> > > > nalLoadSpecification(ObjectReflectorDefault.java:378)
> > > > >        at
> > > > >
> > > > org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.p
> > > > ri
> > > > me
> > > > Cache(ObjectReflectorDefault.java:269)
> > > > >        at
> > > > >
> > > > org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.i
> > > > ni
> > > > tA
> > > > ndValidate(ObjectReflectorDefault.java:244)
> > > > >        at
> > > > >
> > > > org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.i
> > > > ni
> > > > t(
> > > > ObjectReflectorDefault.java:205)
> > > > >        at
> > > > >
> > > >
> org.apache.isis.core.runtime.system.session.IsisSessionFactoryDefault.
> > > > init(IsisSessionFactoryDefault.java:192)
> > > > >        at
> > > > >
> > > > org.apache.isis.core.runtime.system.IsisSystemFixturesHookAbstract
> > > > .i
> > > > ni
> > > > t(IsisSystemFixturesHookAbstract.java:120)
> > > > >        at
> > > > >
> > > > org.apache.isis.core.runtime.runner.IsisInjectModule.provideIsisSy
> > > > st
> > > > em
> > > > (IsisInjectModule.java:133)
> > > > >        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
> Method)
> > > > >        at
> > > > >
> > > > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorIm
> > > > pl
> > > > .j
> > > > ava:57)
> > > > >        at
> > > > >
> > > > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAc
> > > > ce
> > > > ss
> > > > orImpl.java:43)
> > > > >        at java.lang.reflect.Method.invoke(Method.java:606)
> > > > >        at
> > > > >
> com.google.inject.internal.ProviderMethod.get(ProviderMethod.java:104)
> > > > >        at
> > > > >
> > > > com.google.inject.internal.InternalFactoryToProviderAdapter.get(In
> > > > te
> > > > rn
> > > > alFactoryToProviderAdapter.java:40)
> > > > >        at
> > > > >
> > > > com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call
> > > > (P
> > > > ro
> > > > viderToInternalFactoryAdapter.java:46)
> > > > >        at
> > > > >
> > > > com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl
> > > > .j
> > > > av
> > > > a:1031)
> > > > >        at
> > > > >
> > > > com.google.inject.internal.ProviderToInternalFactoryAdapter.get(Pr
> > > > ov
> > > > id
> > > > erToInternalFactoryAdapter.java:40)
> > > > >        at com.google.inject.Scopes$1$1.get(Scopes.java:65)
> > > > >        at
> > > > >
> > > > com.google.inject.internal.InternalFactoryToProviderAdapter.get(In
> > > > te
> > > > rn
> > > > alFactoryToProviderAdapter.java:40)
> > > > >        at
> > > > >
> > > > com.google.inject.internal.SingleFieldInjector.inject(SingleFieldI
> > > > nj
> > > > ec
> > > > tor.java:53)
> > > > >        at
> > > > >
> > > > com.google.inject.internal.MembersInjectorImpl.injectMembers(Membe
> > > > rs
> > > > In
> > > > jectorImpl.java:110)
> > > > >        at
> > > > >
> > > > com.google.inject.internal.MembersInjectorImpl$1.call(MembersInjec
> > > > to
> > > > rI
> > > > mpl.java:75)
> > > > >        at
> > > > >
> > > > com.google.inject.internal.MembersInjectorImpl$1.call(MembersInjec
> > > > to
> > > > rI
> > > > mpl.java:73)
> > > > >        at
> > > > >
> > > > com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl
> > > > .j
> > > > av
> > > > a:1024)
> > > > >        at
> > > > >
> > > > com.google.inject.internal.MembersInjectorImpl.injectAndNotify(Mem
> > > > be
> > > > rs
> > > > InjectorImpl.java:73)
> > > > >        at
> > > > >
> > > > com.google.inject.internal.MembersInjectorImpl.injectMembers(Membe
> > > > rs
> > > > In
> > > > jectorImpl.java:60)
> > > > >        ... 50 more
> > > > > 22:52:14,167  [WicketFilter         main       ERROR]  The
> > > initialization
> > > > > of an application with name 'WicketFilter' has failed.
> > > > > com.google.inject.ProvisionException: Guice provision errors:
> > > > >
> > > > >
> > > > >
> > > > > ________________________________
> > > > >
> > > > > This e-mail may contain Sprint proprietary information intended
> > > > > for the sole use of the recipient(s). Any use by others is
> prohibited.
> > > > > If you are not the intended recipient, please contact the sender
> > > > > and delete all copies of the message.
> > > > >
> > > > > ________________________________
> > > > >
> > > > > This e-mail may contain Sprint proprietary information intended
> > > > > for the sole use of the recipient(s). Any use by others is
> prohibited.
> > > > > If you are not the intended recipient, please contact the sender
> > > > > and delete all copies of the message.
> > > > >
> > > >
> > > > ________________________________
> > > >
> > > > This e-mail may contain Sprint proprietary information intended
> > > > for the sole use of the recipient(s). Any use by others is
> prohibited.
> > > > If you are not the intended recipient, please contact the sender
> > > > and delete all copies of the message.
> > > >
> > >
> > > ________________________________
> > >
> > > This e-mail may contain Sprint proprietary information intended for
> > > the sole use of the recipient(s). Any use by others is prohibited.
> > > If you are not the intended recipient, please contact the sender and
> > > delete all copies of the message.
> > >
> >
> > ________________________________
> >
> > This e-mail may contain Sprint proprietary information intended for
> > the
> sole use of the recipient(s). Any use by others is prohibited. If you are
> not the intended recipient, please contact the sender and delete all copies
> of the message.
> >
> > ________________________________
> >
> > This e-mail may contain Sprint proprietary information intended for
> > the
> sole use of the recipient(s). Any use by others is prohibited. If you are
> not the intended recipient, please contact the sender and delete all copies
> of the message.
> >
> > ________________________________
> >
> > This e-mail may contain Sprint proprietary information intended for
> > the
> sole use of the recipient(s). Any use by others is prohibited. If you are
> not the intended recipient, please contact the sender and delete all copies
> of the message.
>
> ________________________________
>
> This e-mail may contain Sprint proprietary information intended for the
> sole use of the recipient(s). Any use by others is prohibited. If you are
> not the intended recipient, please contact the sender and delete all copies
> of the message.
>

RE: Working on a branch with latest datanucleus

Posted by "Branham, Jeremy [HR]" <Je...@sprint.com>.
Thanks, I've downloaded IDEA to give it a go.


Any thoughts on this?

.......
22:15:23,207  [AdapterManagerDefault main       DEBUG]  remapAsPersistent: !org.apache.isis.objectstore.jdo.datanucleus.service.support.IsisJdoSupportImpl:c51ca8f2-48d1-412b-979c-11622a382faf
22:15:23,207  [AdapterManagerDefault main       DEBUG]  removing root adapter from oid map
22:15:23,207  [OidAdapterHashMap    main       DEBUG]  remove oid: !org.apache.isis.objectstore.jdo.datanucleus.service.support.IsisJdoSupportImpl:c51ca8f2-48d1-412b-979c-11622a382faf
22:15:23,207  [AdapterManagerDefault main       DEBUG]  removing collection adapter(s) from oid map
22:15:23,207  [AdapterManagerDefault main       DEBUG]  updating the Oid
22:15:23,207  [AdapterManagerDefault main       DEBUG]  replacing Oid for root adapter and re-adding into maps; oid is now: org.apache.isis.objectstore.jdo.datanucleus.service.support.IsisJdoSupportImpl:1 (was: !org.apache.isis.objectstore.jdo.datanucleus.service.support.IsisJdoSupportImpl:c51ca8f2-48d1-412b-979c-11622a382faf)
22:15:23,207  [OidAdapterHashMap    main       DEBUG]  add oid: org.apache.isis.objectstore.jdo.datanucleus.service.support.IsisJdoSupportImpl:1 ; oid.hashCode: + #102ac45e ; adapter.hashCode(): #5e65eee4
22:15:23,207  [AdapterManagerDefault main       DEBUG]  replacing Oids for collection adapter(s) and re-adding into maps
22:15:23,207  [AdapterManagerDefault main       DEBUG]  synchronizing collection pojos, remapping in pojo map if required
22:15:23,207  [AdapterManagerDefault main       DEBUG]  made persistent PojoAdapter@5e65eee4[PR~:org.apache.isis.objectstore.jdo.datanucleus.service.support.IsisJdoSupportImpl:1,specification=IsisJdoSupportImpl,version=null,pojo-toString=org.apache.isis.objectstore.jdo.datanucleus.service.support.IsisJdoSupportImpl@1dd1b36,pojo-hash=#1dd1b36]; was !org.apache.isis.objectstore.jdo.datanucleus.service.support.IsisJdoSupportImpl:c51ca8f2-48d1-412b-979c-11622a382faf
Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0.051 sec <<< FAILURE! - in integration.tests.ToDoItemsIntegTest$Finders
complete_and_notYetComplete(integration.tests.ToDoItemsIntegTest$Finders)  Time elapsed: 0.051 sec  <<< ERROR!
java.lang.RuntimeException: java.lang.IllegalArgumentException: mismatch in OidAdapter map: adapter's Oid: TODO:1^1:tester:, provided adapter's OID: TODO:1^1:tester:; map's adapter's Oid: TODO:1^1:tester:
at org.apache.isis.core.commons.ensure.Ensure.ensureThatArg(Ensure.java:75)
at org.apache.isis.core.runtime.persistence.adaptermanager.AdapterManagerDefault.ensureOidAdapterMapConsistent(AdapterManagerDefault.java:810)
at org.apache.isis.core.runtime.persistence.adaptermanager.AdapterManagerDefault.ensureMapsConsistent(AdapterManagerDefault.java:780)
at org.apache.isis.core.runtime.persistence.adaptermanager.AdapterManagerDefault.removeAdapter(AdapterManagerDefault.java:459)
at org.apache.isis.core.runtime.persistence.adaptermanager.AdapterManagerDefault.remapRecreatedPojo(AdapterManagerDefault.java:368)
at org.apache.isis.objectstore.jdo.datanucleus.persistence.FrameworkSynchronizer$1.run(FrameworkSynchronizer.java:95)
at org.apache.isis.objectstore.jdo.datanucleus.persistence.FrameworkSynchronizer$8.call(FrameworkSynchronizer.java:352)
at org.apache.isis.objectstore.jdo.datanucleus.persistence.FrameworkSynchronizer$8.call(FrameworkSynchronizer.java:348)
at org.apache.isis.objectstore.jdo.datanucleus.persistence.FrameworkSynchronizer.withLogging(FrameworkSynchronizer.java:337)
at org.apache.isis.objectstore.jdo.datanucleus.persistence.FrameworkSynchronizer.withLogging(FrameworkSynchronizer.java:348)
at org.apache.isis.objectstore.jdo.datanucleus.persistence.FrameworkSynchronizer.postLoadProcessingFor(FrameworkSynchronizer.java:75)
at org.apache.isis.objectstore.jdo.datanucleus.persistence.queries.PersistenceQueryProcessorAbstract.loadAdapters(PersistenceQueryProcessorAbstract.java:85)
at org.apache.isis.objectstore.jdo.datanucleus.persistence.queries.PersistenceQueryFindAllInstancesProcessor.process(PersistenceQueryFindAllInstancesProcessor.java:57)
at org.apache.isis.objectstore.jdo.datanucleus.persistence.queries.PersistenceQueryFindAllInstancesProcessor.process(PersistenceQueryFindAllInstancesProcessor.java:34)
at org.apache.isis.objectstore.jdo.datanucleus.DataNucleusObjectStore.processPersistenceQuery(DataNucleusObjectStore.java:520)
at org.apache.isis.objectstore.jdo.datanucleus.DataNucleusObjectStore.loadInstancesAndAdapt(DataNucleusObjectStore.java:515)
at org.apache.isis.core.runtime.system.persistence.PersistenceSession$1.execute(PersistenceSession.java:420)
at org.apache.isis.core.runtime.system.persistence.PersistenceSession$1.execute(PersistenceSession.java:417)
at org.apache.isis.core.runtime.system.transaction.IsisTransactionManager.executeWithinTransaction(IsisTransactionManager.java:205)
at org.apache.isis.core.runtime.system.persistence.PersistenceSession.getInstancesFromPersistenceLayer(PersistenceSession.java:417)
at org.apache.isis.core.runtime.system.persistence.PersistenceSession.getInstances(PersistenceSession.java:413)
at org.apache.isis.core.runtime.system.persistence.PersistenceSession.findInstances(PersistenceSession.java:394)
at org.apache.isis.core.runtime.system.persistence.PersistenceSession.findInstances(PersistenceSession.java:377)
at org.apache.isis.core.runtime.persistence.internal.RuntimeContextFromSession$8.allMatchingQuery(RuntimeContextFromSession.java:282)
at org.apache.isis.core.metamodel.services.container.DomainObjectContainerDefault.allMatches(DomainObjectContainerDefault.java:438)
at org.apache.isis.core.metamodel.services.container.DomainObjectContainerDefault.allInstances(DomainObjectContainerDefault.java:396)
at fixture.todo.items.actions.complete.ToDoItemCompleteAbstract.findToDoItem(ToDoItemCompleteAbstract.java:42)
at fixture.todo.items.actions.complete.ToDoItemCompleteAbstract.complete(ToDoItemCompleteAbstract.java:36)
at fixture.todo.items.actions.complete.ToDoItemCompleteForBuyStamps.execute(ToDoItemCompleteForBuyStamps.java:27)
at org.apache.isis.applib.fixturescripts.FixtureScript$ExecutionContext.executeChildIfNotAlready(FixtureScript.java:408)
at org.apache.isis.applib.fixturescripts.FixtureScript$ExecutionContext.executeChild(FixtureScript.java:389)
at org.apache.isis.applib.fixturescripts.FixtureScript$ExecutionContext.executeChild(FixtureScript.java:374)
at fixture.todo.scenarios.ToDoItemsRecreateAndCompleteSeveral.execute(ToDoItemsRecreateAndCompleteSeveral.java:83)
at org.apache.isis.applib.fixturescripts.FixtureScript$ExecutionContext.executeChildIfNotAlready(FixtureScript.java:408)
at org.apache.isis.applib.fixturescripts.FixtureScript$ExecutionContext.executeChild(FixtureScript.java:389)
at org.apache.isis.applib.fixturescripts.FixtureScript$ExecutionContext.executeChild(FixtureScript.java:374)
at fixture.todo.integtests.ToDoItemsIntegTestFixture.execute(ToDoItemsIntegTestFixture.java:37)
at org.apache.isis.applib.fixturescripts.FixtureScript$ExecutionContext.executeChildIfNotAlready(FixtureScript.java:408)
at org.apache.isis.applib.fixturescripts.FixtureScript$ExecutionContext.access$100(FixtureScript.java:242)
at org.apache.isis.applib.fixturescripts.FixtureScript.run(FixtureScript.java:504)
at org.apache.isis.applib.fixturescripts.FixtureScripts.runFixtureScript(FixtureScripts.java:266)
at fixture.todo.ToDoItemsFixturesService.runFixtureScript(ToDoItemsFixturesService.java:58)
at integration.tests.ToDoItemsIntegTest$Finders.setUpData(ToDoItemsIntegTest.java:49)



Jeremy D. Branham
Tel: **DOTNET


-----Original Message-----
From: Martin Grigorov [mailto:mgrigorov@apache.org]
Sent: Monday, December 29, 2014 11:08 PM
To: users
Subject: RE: Working on a branch with latest datanucleus

Hi,

On Dec 30, 2014 5:39 AM, "Branham, Jeremy [HR]" <Je...@sprint.com>
wrote:
>
> There ended up being a lot of refactoring to swap PersistenceCapable
> for
Persistable throughout.
>
> Currently trying to understand this -
>
> java.lang.IllegalArgumentException: mismatch in OidAdapter map:
> adapter's
Oid: TODO:1^1:tester:, provided adapter's OID: TODO:1^1:tester:; map's adapter's Oid: TODO:1^1:tester:
> at
org.apache.isis.core.commons.ensure.Ensure.ensureThatArg(Ensure.java:75)
>
>
> I'm having difficulty getting MyEclipse to attach and stop at the
breakpoints during a Maven build, so this process has been needlessly complicated.
>
> This is off topic, but I'm curious what other folks are using.
> Eclipse,
IDEA, other?

I'm ex-Eclipse user and now I use IDEA for 2+ years. I'm very happy with the switch! Debugging Maven build usually is very easy by using IDEA's Maven integration !

Some ideas:
1) use mvnDebug to start Maven on command line with remote debugging enabled. It will suspend before starting the process so you can attach the debugger

2) run the failing test directly from the IDE

Thanks for helping us with this!
Have fun!

>
>
> Jeremy D. Branham
> Tel: **DOTNET
>
>
> -----Original Message-----
> From: Branham, Jeremy [HR]
> Sent: Monday, December 29, 2014 4:47 PM
> To: users@isis.apache.org
> Subject: RE: Working on a branch with latest datanucleus
>
>
> I've added the factories to the ' IsisConfigurationForJdoIntegTests'
> and
adjusted the DataNucleus properties to match 4.x
>
> I can see the tables are getting created but there is a cast exception.
> I won't flood the email distribution again until I'm stuck for a few
hours. =] Looks like it's pretty close now.
>
>
> Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0.031
> sec
<<< FAILURE! - in integration.tests.ToDoItemsIntegTest$NewToDo_and_Delete
> happyCase(integration.tests.ToDoItemsIntegTest$NewToDo_and_Delete)
> Time
elapsed: 0.031 sec  <<< ERROR!
> java.lang.ClassCastException: dom.todo.ToDoItem cannot be cast to
javax.jdo.spi.PersistenceCapable
>
>
> -------------------------
> 16:35:20,986  [Schema               main       DEBUG]  CREATE TABLE
"ToDoItem"
> (
>     "id" BIGINT GENERATED BY DEFAULT AS IDENTITY,
>     "attachment_name" BLOB NULL,
>     "category" NVARCHAR(255) NOT NULL,
>     "complete" BOOLEAN NOT NULL,
>     "cost" DECIMAL(19,2) NULL,
>     "description" NVARCHAR(100) NOT NULL,
>     "doc_name" BLOB NULL,
>     "dueBy" DATE NULL,
>     "notes" NVARCHAR(400) NULL,
>     "ownedBy" NVARCHAR(255) NOT NULL,
>     "subcategory" NVARCHAR(255) NULL,
>     "version" BIGINT NOT NULL,
>     CONSTRAINT "ToDoItem_PK" PRIMARY KEY ("id")
> )
> 16:35:20,986  [Schema               main       DEBUG]  Execution Time = 0
ms
> 16:35:21,002  [Schema               main       DEBUG]  Check of existence
of "ToDoItemDependencies" returned no table
> 16:35:21,002  [Schema               main       DEBUG]  Creating table
"ToDoItemDependencies"
> 16:35:21,002  [Schema               main       DEBUG]  CREATE TABLE
"ToDoItemDependencies"
> (
>     "dependingId" BIGINT NOT NULL,
>     "dependentId" BIGINT NOT NULL,
>     CONSTRAINT "ToDoItemDependencies_PK" PRIMARY KEY
("dependingId","dependentId")
> )
>
>
>
>
>
>
> Jeremy D. Branham
> Tel: **DOTNET
>
>
> -----Original Message-----
> From: Branham, Jeremy [HR]
> Sent: Monday, December 29, 2014 3:31 PM
> To: users@isis.apache.org
> Subject: RE: Working on a branch with latest datanucleus
>
> Forgot to mention -
> I updated the 'JDOStateManagerForIsis' to use Persistable instead of
PersistanceCapable.
>
> public class JDOStateManagerForIsis extends
> ReferentialStateManagerImpl {
...
> }
>
>
> Jeremy D. Branham
> Tel: **DOTNET
>
>
> -----Original Message-----
> From: Branham, Jeremy [HR]
> Sent: Monday, December 29, 2014 3:26 PM
> To: users@isis.apache.org
> Subject: RE: Working on a branch with latest datanucleus
>
> Thanks, that has got me started.
> For now I am just working with the RDMS capable statemanager, and will
focus on the Neo4j compatibility later.
>
> I've added two ' AbstractRemoveMethodsFacetFactory'
>
> [Finds 25 methods]
>     public RemoveDatanucleusPersistableTypesFacetFactory() {
>         super("org.datanucleus.enhancer.Persistable");
>     }
>
> And
>
> [org.apache.isis.core.commons.factory.UnavailableClassException: The
default type 'javax.jdo.spi.Persistable' cannot be found]
>     public RemoveJdoPersistableEnhancementTypesFacetFactory() {
>         super("javax.jdo.spi.Persistable");
>     }
>
>
>
> In the 'FacetedMethodsBuilder# getActionFacetedMethods' I do see this
> -
[It looks like it is stripping off the dn methods, does this look right?]
>
> associationFacetMethodsCollections$UnmodifiableRandomAccessList<E>
(id=289) [PROPERTY Peer
[identifier="dom.simple.SimpleObject#name()",type=java.lang.String ]]
>
> introspectedClassClass<T> (dom.simple.SimpleObject) (id=291) class
dom.simple.SimpleObject
>
> methodsArrays$ArrayList<E>  (id=293)
> [null, null, null, null, public static java.lang.Class
dom.simple.SimpleObject.___jdo$loadClass(java.lang.String), null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null]
>
>
> Is it ok that the 'SimpleObject.___jdo$loadClass' method is listed there?
>
>
>
> Although, this exception is getting thrown now -
>
>                 // assert is persistent
>                 if(!pojo.jdoIsPersistent()) {
>                     throw new IllegalStateException("Pojo JDO state is
not persistent! pojo dnOid: " + JDOHelper.getObjectId(pojo));
>                 }
>
>
> Is there still something wrong with the method filtering? Or is this a
different issue?
>
>
>
> Jeremy D. Branham
> Tel: **DOTNET
>
>
> -----Original Message-----
> From: Dan Haywood [mailto:dan@haywood-associates.co.uk]
> Sent: Monday, December 29, 2014 11:33 AM
> To: users
> Subject: Re: Working on a branch with latest datanucleus
>
> Hi Jeremy,
>
> Having not looked at DN 4.x at all yet, can't specfically advise; have
> a
few general thoughts though.
>
> Just to recap on stuff that you probably know/have figured out...
>
> * With respect to javax.jdo.spi.PersistenceCapable vs
javax.jdo.spi.Persistable, in DN 3.x I know the enhancer makes all enhanced objects implement the javax.jdo.spi.PersistenceCapable interface.  Looking at the javax.jdo.spi.Persistable interface for DN 3.x it seems like its a placeholder, with a comment "Note that this is not yet used by DataNucleus, but is intended as something for the future."
>
> * My guess for DN 4.x is that Andy Jefferson (maintainer of DN) has
> now
made this change, and generalized things to work with javax.jdo.spi.Persistable instead of, or perhaps as well as, PersistenceCapable.  (This might explain the new dnReplaceFields(...) methods rather than jdoReplaceFields(...) methods that you saw before).
>
> * I can tell you that JDOStateManagerForIsis is kinda important, as
> its
the point where we tell Isis about the objects that are brought into memory by DN, to map them and inject services into them.  So you will need to find some sort of implementation of it.
>
> ~~~
> From its name, I'm guessing that ReferentialJDOStateManager is for
> RDBMS
stores, whereas of course you are using Neo4J instead.  So you probably need to inherit from AbstractStateManager or something else higher up in the inheritance hierarchy.
>
> In terms of getting Isis to work with your own improved version of
JdoStateManagerForIsis, it looks like the implementation is specified in
>
DataNucleusPersistenceMechanismInstaller#addDataNucleusPropertiesIfRequired(...)
>  ... so you can probably just add your impl to isis.properties.
>
> Also, I notice that there's a thread-local in JdoStateManagerForIsis
> that
is referenced by EventBusServiceJdo, but that could easily be moved out into some other class.
>
> ~~
> If none of the above helps, you might want to try posting a question
> on
the DN forum [1], though I know that Andy does also answer DN questions on SO also.  The question will need to be framed in terms of DN rather than Isis though.
>
> If you get nowhere, I can ping Andy also (so long as I'm clear about
> what
I'm asking, which I'm not quite, at the moment).
>
> HTH
> Dan
>
>
> [1] http://www.datanucleus.org/support.html
>
>
>
> On 29 December 2014 at 16:52, Branham, Jeremy [HR] <
Jeremy.D.Branham@sprint.com> wrote:
>
> > I thought I was being clever changing over to 'Persitable' in the
> > 'JDOStateManagerForIsis', but I get errors about the 'SimpleObject'
> > not being persistable at runtime.
> >
> > ---------------
> >
> > I have a question about the ReferentialJDOStateManager in DataNucleus.
> > The JDOStateManager extended this class in DN 3.x but it is not
> > present in DN 4.x
> >
> > Affected class in Isis -
> > public class JDOStateManagerForIsis extends
> > ReferentialJDOStateManager implements StateManager, ObjectProvider
> >
> > I do see this class -
> > org.datanucleus.state.ReferentialStateManagerImpl
> >
> > I thought this might be the appropriate replacement, but if I extend
> > ReferentialStateManagerImpl, there are problems...
> >
> > The problem I encounter when extending the new class -
> > ReferentialStateManagerImpl extends StateManagerImpl. Which extends
> > AbstractStateManager<Persistable>
> >
> > The current JDOStateManagerForIsis is setup to handle
> > PersistenceCapable objects rather than Persistable objects.
> >
> > I'm not sure where to go from here.
> >
> > Also posted on SO -
> >
> > http://stackoverflow.com/questions/27692754/is-referentialjdostatema
> > na
> > ger-not-used-in-datanucleus-4-x
> >
> >
> >
> >
> > Jeremy D. Branham
> > Tel: **DOTNET
> >
> >
> > -----Original Message-----
> > From: Dan Haywood [mailto:dan@haywood-associates.co.uk]
> > Sent: Friday, December 26, 2014 1:42 AM
> > To: users
> > Subject: Re: Working on a branch with latest datanucleus
> >
> > With Isis we have:
> >
> >
> >
> > org.apache.isis.core.metamodel.facets.object.ignore.jdo.RemoveJdoEnh
> > an
> > cementTypesFacetFactory
> >
> > that ensures that Isis ignores all the methods in the
> > javax,jdo.spi.PersistenceCapable interface.  That interface defines
> > a bunch of methods called jdoReplaceFields(int[]) and so on.
> >
> > My guess is that with DN 4.0 that this has changed so that there is
> > a similar DN-specific interface that the enhancer makes the
> > persistence-capable objects implement.
> >
> > Have a go at writing a similar facet factory and register it in
> > isis.properties using the "isis.reflector.facets.include" property,
> > see [1]... If it works we can incorporate into Isis proper for a
> > future
version.
> >
> > Let us know how you get on.
> >
> > Dan
> >
> >
> > [1]
> >
> > http://isis.apache.org/more-advanced-topics/metamodel-finetuning-the
> > -p
> > rogramming-model.html
> >
> >
> > On 25 December 2014 at 00:43, Branham, Jeremy [HR] <
> > Jeremy.D.Branham@sprint.com> wrote:
> >
> > > Thanks for checking Dan.
> > > I solved that particular issue, but I'm not sure it's a valid
solution.
> > >
> > > Changed -
> > >
> > > https://github.com/jdbranham/isis/blob/DN_404/core/metamodel/src/m
> > > ai
> > > n/
> > > java/org/apache/isis/core/metamodel/specloader/classsubstitutor/Cl
> > > as
> > > sS
> > > ubstitutor.java#L53-L55
> > >
> > >
> > > New Issue I'm working on -
> > >
> > > Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed:
> > > 0.197 sec <<< FAILURE! - in
> > > integration.tests.ToDoItemIntegTest$Properties$Description
> > > integration.tests.ToDoItemIntegTest$Properties$Description  Time
elapsed:
> > > 0.197 sec  <<< ERROR!
> > > java.lang.RuntimeException:
> > > org.apache.isis.core.commons.exceptions.UnknownTypeException:
> > > collections not supported as parameters:
> > > dom.todo.ToDoItem#dnProvideFields([I)
> > > at
> > > org.apache.isis.core.integtestsupport.IsisSystemForTest.setUpSyste
> > > m(
> > > Is
> > > isSystemForTest.java:314)
> > >
> > >
> > > Jeremy D. Branham
> > > Tel: **DOTNET
> > >
> > >
> > > -----Original Message-----
> > > From: Dan Haywood [mailto:dan@haywood-associates.co.uk]
> > > Sent: Wednesday, December 24, 2014 12:05 PM
> > > To: users
> > > Subject: Re: Working on a branch with latest datanucleus
> > >
> > > Hi Jeremy,
> > >
> > > sorry, it's not clear to me if you had an issue but then resolved
> > > it, or whether there is still an issue?
> > >
> > > With respect to moving to DN 4.0, that's certainly the intention,
> > > and is a prerequisite for us to support Java8.  Given that Java7
> > > support finishes in April 2015, it's clearly something that we
> > > need to do be tackling quite soon.
> > >
> > > Thx
> > > Dan
> > >
> > >
> > > On 24 December 2014 at 05:24, Branham, Jeremy [HR] <
> > > Jeremy.D.Branham@sprint.com> wrote:
> > >
> > > > The line numbers didn't match because a different version of the
> > > > class was being loaded.
> > > > I added a null check that solved the issue, but the code running
> > > > hadn't picked up the change yet.
> > > >
> > > >
> > > > Jeremy D. Branham
> > > > Tel: **DOTNET
> > > >
> > > >
> > > > -----Original Message-----
> > > > From: Branham, Jeremy [HR]
> > > > Sent: Tuesday, December 23, 2014 11:04 PM
> > > > To: users@isis.apache.org
> > > > Subject: Working on a branch with latest datanucleus
> > > >
> > > > Sorry for the massive stack trace, but I was looking for some
> > > > pointers on what might be happing here.
> > > > I'm having a bit of difficulty debugging because the line
> > > > numbers reported don't seem to match the source files, and even
> > > > when stepping through the code. [maybe something wrong in my dev
> > > > env]
> > > >
> > > > I'm working on a branch with a newer datanucleus support [4.0.4]
> > > > and seems to be an issue with the spec loader.
> > > > I understand if there is no support for this yet.
> > > >
> > > >
> > > > 22:52:01,445  [Reflections          main       INFO ]  Reflections
took
> > > > 421 ms to scan 7 urls, producing 148 keys and 716 values
> > > > 22:52:01,523  [ServiceInstantiator  main       DEBUG]  loading class
> > for
> > > > service: dom.simple.SimpleObjects
> > > > 22:52:01,523  [ServiceInstantiator  main       DEBUG]  loading class
> > for
> > > > service: fixture.simple.SimpleObjectsFixturesService
> > > > 22:52:01,523  [ServiceInstantiator  main       DEBUG]  loading class
> > for
> > > > service: org.apache.isis.applib.annotation.Bulk$InteractionContext
> > > > 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading class
> > for
> > > > service:
> > > >
> > > org.apache.isis.applib.services.bookmark.BookmarkHolderActionContr
> > > ib
> > > ut
> > > ions
> > > > 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading class
> > for
> > > > service:
> > > >
> > > org.apache.isis.applib.services.classdiscovery.ClassDiscoveryServi
> > > ce
> > > Us
> > > ingReflections
> > > > 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading class
> > for
> > > > service: org.apache.isis.applib.services.clock.ClockService
> > > > 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading class
> > for
> > > > service: org.apache.isis.applib.services.command.CommandContext
> > > > 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading class
> > for
> > > > service:
> > > org.apache.isis.applib.services.queryresultscache.QueryResultsCach
> > > e
> > > > 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading class
> > for
> > > > service: org.apache.isis.applib.services.scratchpad.Scratchpad
> > > > 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading class
> > for
> > > > service:
> > > >
> > org.apache.isis.core.metamodel.services.bookmarks.BookmarkServiceDef
> > au
> > lt
> > > > 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading class
> > for
> > > > service:
> > > >
> > > org.apache.isis.core.metamodel.services.container.DomainObjectCont
> > > ai
> > > ne
> > > rDefault
> > > > 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading class
> > for
> > > > service:
> > > >
> > org.apache.isis.core.runtime.services.background.BackgroundServiceDe
> > fa
> > ult
> > > > 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading class
> > for
> > > > service:
> > > org.apache.isis.core.runtime.services.memento.MementoServiceDefaul
> > > t
> > > > 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading class
> > for
> > > > service:
> > > >
> > > org.apache.isis.core.runtime.services.xmlsnapshot.XmlSnapshotServi
> > > ce
> > > De
> > > fault
> > > > 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading class
> > for
> > > > service: org.apache.isis.core.wrapper.WrapperFactoryDefault
> > > > 22:52:01,587  [ServiceInstantiator  main       DEBUG]  loading class
> > for
> > > > service:
> > > >
> > > org.apache.isis.objectstore.jdo.applib.service.exceprecog.Exceptio
> > > nR
> > > ec
> > > ognizerCompositeForJdoObjectStore
> > > > 22:52:01,618  [ServiceInstantiator  main       DEBUG]  loading class
> > for
> > > > service:
> > > >
> > > org.apache.isis.objectstore.jdo.datanucleus.service.eventbus.Event
> > > Bu
> > > sS
> > > erviceJdo
> > > > 22:52:01,618  [ServiceInstantiator  main       DEBUG]  loading class
> > for
> > > > service:
> > > >
> > > org.apache.isis.objectstore.jdo.datanucleus.service.support.IsisJd
> > > oS
> > > up
> > > portImpl
> > > > 22:52:01,618  [ServiceInstantiator  main       DEBUG]  loading class
> > for
> > > > service:
> > > >
> > > org.apache.isis.viewer.restfulobjects.rendering.service.Representa
> > > ti
> > > on
> > > ServiceForRestfulObjects
> > > > 22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected
> > > > org.apache.isis.core.metamodel.services.container.DomainObjectCo
> > > > nt
> > > > ai
> > > > ne
> > > > rDefault@397c8a21
> > > > into SimpleObjects@529d935d[]
> > > > 22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected
> > > > org.apache.isis.core.runtime.services.memento.MementoServiceDefa
> > > > ul t@ 6c dd377c into SimpleObjectsFixturesService@2f65e5ba[]
> > > > 22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected
> > > > org.apache.isis.core.metamodel.services.bookmarks.BookmarkServic
> > > > eD
> > > > ef
> > > > au
> > > > lt@4acd2ea5 into SimpleObjectsFixturesService@2f65e5ba[]
> > > > 22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected
> > > > org.apache.isis.applib.services.classdiscovery.ClassDiscoverySer
> > > > vi
> > > > ce
> > > > Us
> > > > ingReflections@64b17900 into SimpleObjectsFixturesService@2f65e5ba[]
> > > > 22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected
> > > > org.apache.isis.core.metamodel.services.container.DomainObjectCo
> > > > nt
> > > > ai
> > > > ne
> > > > rDefault@397c8a21 into SimpleObjectsFixturesService@2f65e5ba[]
> > > > 22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected
> > > > org.apache.isis.core.metamodel.services.bookmarks.BookmarkServic
> > > > eD
> > > > ef
> > > > au
> > > > lt@4acd2ea5 into BookmarkHolderActionContributions@3f7f22a5[]
> > > > 22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected
> > > > org.apache.isis.core.metamodel.services.container.DomainObjectCo
> > > > nt
> > > > ai
> > > > ne
> > > > rDefault@397c8a21 into
> > > > ClassDiscoveryServiceUsingReflections@64b17900[]
> > > > 22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected
> > > > org.apache.isis.core.wrapper.WrapperFactoryDefault@33bb9f34 into
> > > > BookmarkServiceDefault@4acd2ea5[]
> > > > 22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected
> > > > org.apache.isis.core.wrapper.WrapperFactoryDefault@33bb9f34 into
> > > > DomainObjectContainerDefault@397c8a21[]
> > > > 22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected
> > > > org.apache.isis.core.metamodel.services.bookmarks.BookmarkServic
> > > > eD
> > > > ef
> > > > au
> > > > lt@4acd2ea5 into BackgroundServiceDefault@4898c8f9[]
> > > > 22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected
> > > > org.apache.isis.core.runtime.services.ServiceInstantiator$2@26b2
> > > > 78 ab into BackgroundServiceDefault@4898c8f9[]
> > > > 22:52:01,727  [ObjectReflectorDefault main       DEBUG]
initialising
> > > >
> > org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault@1e6
> > 14
> > 4db
> > > > 22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected
> > > > org.apache.isis.core.metamodel.services.container.DomainObjectCo
> > > > nt
> > > > ai
> > > > ne
> > > > rDefault@397c8a21
> > > > into SimpleObjects@529d935d[]
> > > > 22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected
> > > > org.apache.isis.core.runtime.services.memento.MementoServiceDefa
> > > > ul t@ 6c dd377c into SimpleObjectsFixturesService@2f65e5ba[]
> > > > 22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected
> > > > org.apache.isis.core.metamodel.services.bookmarks.BookmarkServic
> > > > eD
> > > > ef
> > > > au
> > > > lt@4acd2ea5 into SimpleObjectsFixturesService@2f65e5ba[]
> > > > 22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected
> > > > org.apache.isis.applib.services.classdiscovery.ClassDiscoverySer
> > > > vi
> > > > ce
> > > > Us
> > > > ingReflections@64b17900 into SimpleObjectsFixturesService@2f65e5ba[]
> > > > 22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected
> > > > org.apache.isis.core.metamodel.services.container.DomainObjectCo
> > > > nt
> > > > ai
> > > > ne
> > > > rDefault@397c8a21 into SimpleObjectsFixturesService@2f65e5ba[]
> > > > 22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected
> > > > org.apache.isis.core.metamodel.services.bookmarks.BookmarkServic
> > > > eD
> > > > ef
> > > > au
> > > > lt@4acd2ea5 into BookmarkHolderActionContributions@3f7f22a5[]
> > > > 22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected
> > > > org.apache.isis.core.metamodel.services.container.DomainObjectCo
> > > > nt
> > > > ai
> > > > ne
> > > > rDefault@397c8a21 into
> > > > ClassDiscoveryServiceUsingReflections@64b17900[]
> > > > 22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected
> > > > org.apache.isis.core.wrapper.WrapperFactoryDefault@33bb9f34 into
> > > > BookmarkServiceDefault@4acd2ea5[]
> > > > 22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected
> > > > org.apache.isis.core.wrapper.WrapperFactoryDefault@33bb9f34 into
> > > > DomainObjectContainerDefault@397c8a21[]
> > > > 22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected
> > > > org.apache.isis.core.metamodel.services.bookmarks.BookmarkServic
> > > > eD
> > > > ef
> > > > au
> > > > lt@4acd2ea5 into BackgroundServiceDefault@4898c8f9[]
> > > > 22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected
> > > > org.apache.isis.core.runtime.services.ServiceInstantiator$2@26b2
> > > > 78 ab into BackgroundServiceDefault@4898c8f9[]
> > > > 22:52:14,042  [ObjectSpecificationAbstract main       DEBUG]
> > > Superclass
> > > > java.lang.Object
> > > > 22:52:14,152  [ObjectSpecificationAbstract main       DEBUG]
> > > Superclass
> > > > java.lang.Object
> > > > 22:52:14,167  [IsisWicketApplication main       ERROR]  Failed to
> > > > initialize
> > > > com.google.inject.ProvisionException: Guice provision errors:
> > > >
> > > > 1) Error in custom provider, java.lang.NullPointerException
> > > >   at
> > > >
> > > org.apache.isis.core.runtime.runner.IsisInjectModule.provideIsisSy
> > > st
> > > em
> > > (IsisInjectModule.java:132)
> > > >   at
> > > >
> > > org.apache.isis.core.runtime.runner.IsisInjectModule.provideIsisSy
> > > st
> > > em
> > > (IsisInjectModule.java:132)
> > > >   while locating org.apache.isis.core.runtime.system.IsisSystem
> > > >     for field at
> > > >
> > > org.apache.isis.viewer.wicket.viewer.IsisWicketApplication.system(
> > > Is
> > > is
> > > WicketApplication.java:138)
> > > >   while locating webapp.SimpleApplication
> > > >
> > > > 1 error
> > > >        at
> > > >
> > > com.google.inject.internal.Errors.throwProvisionExceptionIfErrorsE
> > > xi
> > > st
> > > (Errors.java:451)
> > > >        at
> > > >
> > > com.google.inject.internal.MembersInjectorImpl.injectMembers(Membe
> > > rs
> > > In
> > > jectorImpl.java:65)
> > > >        at
> > > >
> > > com.google.inject.internal.InjectorImpl.injectMembers(InjectorImpl
> > > .j
> > > av
> > > a:944)
> > > >        at
> > > >
> > > org.apache.isis.viewer.wicket.viewer.IsisWicketApplication.init(Is
> > > is
> > > Wi
> > > cketApplication.java:248)
> > > >        at webapp.SimpleApplication.init(SimpleApplication.java:81)
> > > >        at
> > > > org.apache.wicket.Application.initApplication(Application.java:823)
> > > >        at
> > > >
> > org.apache.wicket.protocol.http.WicketFilter.init(WicketFilter.java:
> > 42
> > 4)
> > > >        at
> > > >
> > org.apache.wicket.protocol.http.WicketFilter.init(WicketFilter.java:
> > 35
> > 1)
> > > >        at
> > > > org.mortbay.jetty.servlet.FilterHolder.doStart(FilterHolder.java:97)
> > > >        at
> > > >
> > org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java
> > :5
> > 0)
> > > >        at
> > > >
> > > org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler
> > > .j
> > > av
> > > a:713)
> > > >        at
> > > org.mortbay.jetty.servlet.Context.startContext(Context.java:140)
> > > >        at
> > > >
> > > org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.
> > > ja
> > > va
> > > :1282)
> > > >        at
> > > >
> > org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java
> > :5
> > 18)
> > > >        at
> > > >
org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:499)
> > > >        at
> > > >
> > > org.mortbay.jetty.plugin.Jetty6PluginWebAppContext.doStart(Jetty6P
> > > lu
> > > gi
> > > nWebAppContext.java:115)
> > > >        at
> > > >
> > org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java
> > :5
> > 0)
> > > >        at
> > > >
> > > org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.
> > > java:152)
> > > >        at
> > > >
> > > org.mortbay.jetty.handler.ContextHandlerCollection.doStart(Context
> > > Ha
> > > nd
> > > lerCollection.java:156)
> > > >        at
> > > >
> > org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java
> > :5
> > 0)
> > > >        at
> > > >
> > > org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.
> > > java:152)
> > > >        at
> > > >
> > org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java
> > :5
> > 0)
> > > >        at
> > > >
> > org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java
> > :1
> > 30)
> > > >        at org.mortbay.jetty.Server.doStart(Server.java:224)
> > > >        at
> > > >
> > org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java
> > :5
> > 0)
> > > >        at
> > > >
> > > org.mortbay.jetty.plugin.Jetty6PluginServer.start(Jetty6PluginServ
> > > er
> > > .j
> > > ava:132)
> > > >        at
> > > >
> > > org.mortbay.jetty.plugin.AbstractJettyMojo.startJetty(AbstractJett
> > > yM
> > > oj
> > > o.java:454)
> > > >        at
> > > >
> > > org.mortbay.jetty.plugin.AbstractJettyMojo.execute(AbstractJettyMo
> > > jo
> > > .j
> > > ava:396)
> > > >        at
> > > >
> > > org.mortbay.jetty.plugin.AbstractJettyRunMojo.execute(AbstractJett
> > > yR
> > > un
> > > Mojo.java:210)
> > > >        at
> > > >
org.mortbay.jetty.plugin.Jetty6RunMojo.execute(Jetty6RunMojo.java:184)
> > > >        at
> > > >
> > > org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(Defa
> > > ul
> > > tB
> > > uildPluginManager.java:106)
> > > >        at
> > > >
> > > org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.
> > > java:208)
> > > >        at
> > > >
> > > org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.
> > > java:153)
> > > >        at
> > > >
> > > org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.
> > > java:145)
> > > >        at
> > > >
> > > org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildPr
> > > oj
> > > ec
> > > t(LifecycleModuleBuilder.java:84)
> > > >        at
> > > >
> > > org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildPr
> > > oj
> > > ec
> > > t(LifecycleModuleBuilder.java:59)
> > > >        at
> > > >
> > > org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreade
> > > dB
> > > ui
> > > ld(LifecycleStarter.java:183)
> > > >        at
> > > >
> > > org.apache.maven.lifecycle.internal.LifecycleStarter.execute(Lifec
> > > yc
> > > le
> > > Starter.java:161)
> > > >        at
> > org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:317)
> > > >        at
org.apache.maven.DefaultMaven.execute(DefaultMaven.java:152)
> > > >        at org.apache.maven.cli.MavenCli.execute(MavenCli.java:555)
> > > >        at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:214)
> > > >        at org.apache.maven.cli.MavenCli.main(MavenCli.java:158)
> > > >        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
Method)
> > > >        at
> > > >
> > > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorIm
> > > pl
> > > .j
> > > ava:57)
> > > >        at
> > > >
> > > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAc
> > > ce
> > > ss
> > > orImpl.java:43)
> > > >        at java.lang.reflect.Method.invoke(Method.java:606)
> > > >        at
> > > >
> > > org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(L
> > > au
> > > nc
> > > her.java:289)
> > > >        at
> > > >
> > > org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.
> > > ja
> > > va
> > > :229)
> > > >        at
> > > >
> > > org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode
> > > (L
> > > au
> > > ncher.java:415)
> > > >        at
> > > >
> > org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java
> > :3
> > 56)
> > > >        at
> > > > org.codehaus.classworlds.Launcher.main(Launcher.java:46)
> > > > Caused by: java.lang.NullPointerException
> > > >        at
> > > >
> > > org.apache.isis.core.metamodel.specloader.classsubstitutor.ClassSu
> > > bs
> > > ti
> > > tutor.getClass(ClassSubstitutor.java:54)
> > > >        at
> > > >
> > > org.apache.isis.core.metamodel.specloader.classsubstitutor.ClassSu
> > > bs
> > > ti
> > > tutor.getClass(ClassSubstitutor.java:55)
> > > >        at
> > > >
> > > org.apache.isis.core.metamodel.specloader.specimpl.dflt.ObjectSpec
> > > if
> > > ic
> > > ationDefault.introspectTypeHierarchyAndMembers(ObjectSpecification
> > > De
> > > fa
> > > ult.java:146)
> > > >        at
> > > >
> > > org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.i
> > > nt
> > > ro
> > > spectIfRequired(ObjectReflectorDefault.java:499)
> > > >        at
> > > >
> > > org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.l
> > > oa
> > > dS
> > > pecificationForSubstitutedClass(ObjectReflectorDefault.java:400)
> > > >        at
> > > >
> > > org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.i
> > > nt
> > > er
> > > nalLoadSpecification(ObjectReflectorDefault.java:378)
> > > >        at
> > > >
> > > org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.l
> > > oa
> > > dS
> > > pecifications(ObjectReflectorDefault.java:415)
> > > >        at
> > > >
> > > org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.l
> > > oa
> > > dS
> > > pecifications(ObjectReflectorDefault.java:428)
> > > >        at
> > > >
> > > org.apache.isis.core.metamodel.specloader.specimpl.FacetedMethodsB
> > > ui
> > > ld
> > > er.representsAction(FacetedMethodsBuilder.java:455)
> > > >        at
> > > >
> > > org.apache.isis.core.metamodel.specloader.specimpl.FacetedMethodsB
> > > ui
> > > ld
> > > er.findActionFacetedMethod(FacetedMethodsBuilder.java:404)
> > > >        at
> > > >
> > > org.apache.isis.core.metamodel.specloader.specimpl.FacetedMethodsB
> > > ui
> > > ld
> > > er.findActionFacetedMethods(FacetedMethodsBuilder.java:388)
> > > >        at
> > > >
> > > org.apache.isis.core.metamodel.specloader.specimpl.FacetedMethodsB
> > > ui
> > > ld
> > > er.findActionFacetedMethods(FacetedMethodsBuilder.java:367)
> > > >        at
> > > >
> > > org.apache.isis.core.metamodel.specloader.specimpl.FacetedMethodsB
> > > ui
> > > ld
> > > er.getActionFacetedMethods(FacetedMethodsBuilder.java:343)
> > > >        at
> > > >
> > > org.apache.isis.core.metamodel.specloader.specimpl.dflt.ObjectSpec
> > > if
> > > ic
> > > ationDefault.createActions(ObjectSpecificationDefault.java:222)
> > > >        at
> > > >
> > > org.apache.isis.core.metamodel.specloader.specimpl.dflt.ObjectSpec
> > > if
> > > ic
> > > ationDefault.introspectTypeHierarchyAndMembers(ObjectSpecification
> > > De
> > > fa
> > > ult.java:167)
> > > >        at
> > > >
> > > org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.i
> > > nt
> > > ro
> > > spectIfRequired(ObjectReflectorDefault.java:499)
> > > >        at
> > > >
> > > org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.l
> > > oa
> > > dS
> > > pecificationForSubstitutedClass(ObjectReflectorDefault.java:400)
> > > >        at
> > > >
> > > org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.i
> > > nt
> > > er
> > > nalLoadSpecification(ObjectReflectorDefault.java:378)
> > > >        at
> > > >
> > > org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.p
> > > ri
> > > me
> > > Cache(ObjectReflectorDefault.java:269)
> > > >        at
> > > >
> > > org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.i
> > > ni
> > > tA
> > > ndValidate(ObjectReflectorDefault.java:244)
> > > >        at
> > > >
> > > org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.i
> > > ni
> > > t(
> > > ObjectReflectorDefault.java:205)
> > > >        at
> > > >
> > > org.apache.isis.core.runtime.system.session.IsisSessionFactoryDefault.
> > > init(IsisSessionFactoryDefault.java:192)
> > > >        at
> > > >
> > > org.apache.isis.core.runtime.system.IsisSystemFixturesHookAbstract
> > > .i
> > > ni
> > > t(IsisSystemFixturesHookAbstract.java:120)
> > > >        at
> > > >
> > > org.apache.isis.core.runtime.runner.IsisInjectModule.provideIsisSy
> > > st
> > > em
> > > (IsisInjectModule.java:133)
> > > >        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
Method)
> > > >        at
> > > >
> > > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorIm
> > > pl
> > > .j
> > > ava:57)
> > > >        at
> > > >
> > > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAc
> > > ce
> > > ss
> > > orImpl.java:43)
> > > >        at java.lang.reflect.Method.invoke(Method.java:606)
> > > >        at
> > > >
com.google.inject.internal.ProviderMethod.get(ProviderMethod.java:104)
> > > >        at
> > > >
> > > com.google.inject.internal.InternalFactoryToProviderAdapter.get(In
> > > te
> > > rn
> > > alFactoryToProviderAdapter.java:40)
> > > >        at
> > > >
> > > com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call
> > > (P
> > > ro
> > > viderToInternalFactoryAdapter.java:46)
> > > >        at
> > > >
> > > com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl
> > > .j
> > > av
> > > a:1031)
> > > >        at
> > > >
> > > com.google.inject.internal.ProviderToInternalFactoryAdapter.get(Pr
> > > ov
> > > id
> > > erToInternalFactoryAdapter.java:40)
> > > >        at com.google.inject.Scopes$1$1.get(Scopes.java:65)
> > > >        at
> > > >
> > > com.google.inject.internal.InternalFactoryToProviderAdapter.get(In
> > > te
> > > rn
> > > alFactoryToProviderAdapter.java:40)
> > > >        at
> > > >
> > > com.google.inject.internal.SingleFieldInjector.inject(SingleFieldI
> > > nj
> > > ec
> > > tor.java:53)
> > > >        at
> > > >
> > > com.google.inject.internal.MembersInjectorImpl.injectMembers(Membe
> > > rs
> > > In
> > > jectorImpl.java:110)
> > > >        at
> > > >
> > > com.google.inject.internal.MembersInjectorImpl$1.call(MembersInjec
> > > to
> > > rI
> > > mpl.java:75)
> > > >        at
> > > >
> > > com.google.inject.internal.MembersInjectorImpl$1.call(MembersInjec
> > > to
> > > rI
> > > mpl.java:73)
> > > >        at
> > > >
> > > com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl
> > > .j
> > > av
> > > a:1024)
> > > >        at
> > > >
> > > com.google.inject.internal.MembersInjectorImpl.injectAndNotify(Mem
> > > be
> > > rs
> > > InjectorImpl.java:73)
> > > >        at
> > > >
> > > com.google.inject.internal.MembersInjectorImpl.injectMembers(Membe
> > > rs
> > > In
> > > jectorImpl.java:60)
> > > >        ... 50 more
> > > > 22:52:14,167  [WicketFilter         main       ERROR]  The
> > initialization
> > > > of an application with name 'WicketFilter' has failed.
> > > > com.google.inject.ProvisionException: Guice provision errors:
> > > >
> > > >
> > > >
> > > > ________________________________
> > > >
> > > > This e-mail may contain Sprint proprietary information intended
> > > > for the sole use of the recipient(s). Any use by others is
prohibited.
> > > > If you are not the intended recipient, please contact the sender
> > > > and delete all copies of the message.
> > > >
> > > > ________________________________
> > > >
> > > > This e-mail may contain Sprint proprietary information intended
> > > > for the sole use of the recipient(s). Any use by others is
prohibited.
> > > > If you are not the intended recipient, please contact the sender
> > > > and delete all copies of the message.
> > > >
> > >
> > > ________________________________
> > >
> > > This e-mail may contain Sprint proprietary information intended
> > > for the sole use of the recipient(s). Any use by others is prohibited.
> > > If you are not the intended recipient, please contact the sender
> > > and delete all copies of the message.
> > >
> >
> > ________________________________
> >
> > This e-mail may contain Sprint proprietary information intended for
> > the sole use of the recipient(s). Any use by others is prohibited.
> > If you are not the intended recipient, please contact the sender and
> > delete all copies of the message.
> >
>
> ________________________________
>
> This e-mail may contain Sprint proprietary information intended for
> the
sole use of the recipient(s). Any use by others is prohibited. If you are not the intended recipient, please contact the sender and delete all copies of the message.
>
> ________________________________
>
> This e-mail may contain Sprint proprietary information intended for
> the
sole use of the recipient(s). Any use by others is prohibited. If you are not the intended recipient, please contact the sender and delete all copies of the message.
>
> ________________________________
>
> This e-mail may contain Sprint proprietary information intended for
> the
sole use of the recipient(s). Any use by others is prohibited. If you are not the intended recipient, please contact the sender and delete all copies of the message.

________________________________

This e-mail may contain Sprint proprietary information intended for the sole use of the recipient(s). Any use by others is prohibited. If you are not the intended recipient, please contact the sender and delete all copies of the message.

RE: Working on a branch with latest datanucleus

Posted by Martin Grigorov <mg...@apache.org>.
Hi,

On Dec 30, 2014 5:39 AM, "Branham, Jeremy [HR]" <Je...@sprint.com>
wrote:
>
> There ended up being a lot of refactoring to swap PersistenceCapable for
Persistable throughout.
>
> Currently trying to understand this -
>
> java.lang.IllegalArgumentException: mismatch in OidAdapter map: adapter's
Oid: TODO:1^1:tester:, provided adapter's OID: TODO:1^1:tester:; map's
adapter's Oid: TODO:1^1:tester:
> at
org.apache.isis.core.commons.ensure.Ensure.ensureThatArg(Ensure.java:75)
>
>
> I'm having difficulty getting MyEclipse to attach and stop at the
breakpoints during a Maven build, so this process has been needlessly
complicated.
>
> This is off topic, but I'm curious what other folks are using. Eclipse,
IDEA, other?

I'm ex-Eclipse user and now I use IDEA for 2+ years. I'm very happy with
the switch! Debugging Maven build usually is very easy by using IDEA's
Maven integration !

Some ideas:
1) use mvnDebug to start Maven on command line with remote debugging
enabled. It will suspend before starting the process so you can attach the
debugger

2) run the failing test directly from the IDE

Thanks for helping us with this!
Have fun!

>
>
> Jeremy D. Branham
> Tel: **DOTNET
>
>
> -----Original Message-----
> From: Branham, Jeremy [HR]
> Sent: Monday, December 29, 2014 4:47 PM
> To: users@isis.apache.org
> Subject: RE: Working on a branch with latest datanucleus
>
>
> I've added the factories to the ' IsisConfigurationForJdoIntegTests' and
adjusted the DataNucleus properties to match 4.x
>
> I can see the tables are getting created but there is a cast exception.
> I won't flood the email distribution again until I'm stuck for a few
hours. =] Looks like it's pretty close now.
>
>
> Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0.031 sec
<<< FAILURE! - in integration.tests.ToDoItemsIntegTest$NewToDo_and_Delete
> happyCase(integration.tests.ToDoItemsIntegTest$NewToDo_and_Delete)  Time
elapsed: 0.031 sec  <<< ERROR!
> java.lang.ClassCastException: dom.todo.ToDoItem cannot be cast to
javax.jdo.spi.PersistenceCapable
>
>
> -------------------------
> 16:35:20,986  [Schema               main       DEBUG]  CREATE TABLE
"ToDoItem"
> (
>     "id" BIGINT GENERATED BY DEFAULT AS IDENTITY,
>     "attachment_name" BLOB NULL,
>     "category" NVARCHAR(255) NOT NULL,
>     "complete" BOOLEAN NOT NULL,
>     "cost" DECIMAL(19,2) NULL,
>     "description" NVARCHAR(100) NOT NULL,
>     "doc_name" BLOB NULL,
>     "dueBy" DATE NULL,
>     "notes" NVARCHAR(400) NULL,
>     "ownedBy" NVARCHAR(255) NOT NULL,
>     "subcategory" NVARCHAR(255) NULL,
>     "version" BIGINT NOT NULL,
>     CONSTRAINT "ToDoItem_PK" PRIMARY KEY ("id")
> )
> 16:35:20,986  [Schema               main       DEBUG]  Execution Time = 0
ms
> 16:35:21,002  [Schema               main       DEBUG]  Check of existence
of "ToDoItemDependencies" returned no table
> 16:35:21,002  [Schema               main       DEBUG]  Creating table
"ToDoItemDependencies"
> 16:35:21,002  [Schema               main       DEBUG]  CREATE TABLE
"ToDoItemDependencies"
> (
>     "dependingId" BIGINT NOT NULL,
>     "dependentId" BIGINT NOT NULL,
>     CONSTRAINT "ToDoItemDependencies_PK" PRIMARY KEY
("dependingId","dependentId")
> )
>
>
>
>
>
>
> Jeremy D. Branham
> Tel: **DOTNET
>
>
> -----Original Message-----
> From: Branham, Jeremy [HR]
> Sent: Monday, December 29, 2014 3:31 PM
> To: users@isis.apache.org
> Subject: RE: Working on a branch with latest datanucleus
>
> Forgot to mention -
> I updated the 'JDOStateManagerForIsis' to use Persistable instead of
PersistanceCapable.
>
> public class JDOStateManagerForIsis extends ReferentialStateManagerImpl {
...
> }
>
>
> Jeremy D. Branham
> Tel: **DOTNET
>
>
> -----Original Message-----
> From: Branham, Jeremy [HR]
> Sent: Monday, December 29, 2014 3:26 PM
> To: users@isis.apache.org
> Subject: RE: Working on a branch with latest datanucleus
>
> Thanks, that has got me started.
> For now I am just working with the RDMS capable statemanager, and will
focus on the Neo4j compatibility later.
>
> I've added two ' AbstractRemoveMethodsFacetFactory'
>
> [Finds 25 methods]
>     public RemoveDatanucleusPersistableTypesFacetFactory() {
>         super("org.datanucleus.enhancer.Persistable");
>     }
>
> And
>
> [org.apache.isis.core.commons.factory.UnavailableClassException: The
default type 'javax.jdo.spi.Persistable' cannot be found]
>     public RemoveJdoPersistableEnhancementTypesFacetFactory() {
>         super("javax.jdo.spi.Persistable");
>     }
>
>
>
> In the 'FacetedMethodsBuilder# getActionFacetedMethods' I do see this -
[It looks like it is stripping off the dn methods, does this look right?]
>
> associationFacetMethodsCollections$UnmodifiableRandomAccessList<E>
(id=289) [PROPERTY Peer
[identifier="dom.simple.SimpleObject#name()",type=java.lang.String ]]
>
> introspectedClassClass<T> (dom.simple.SimpleObject) (id=291) class
dom.simple.SimpleObject
>
> methodsArrays$ArrayList<E>  (id=293)
> [null, null, null, null, public static java.lang.Class
dom.simple.SimpleObject.___jdo$loadClass(java.lang.String), null, null,
null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null]
>
>
> Is it ok that the 'SimpleObject.___jdo$loadClass' method is listed there?
>
>
>
> Although, this exception is getting thrown now -
>
>                 // assert is persistent
>                 if(!pojo.jdoIsPersistent()) {
>                     throw new IllegalStateException("Pojo JDO state is
not persistent! pojo dnOid: " + JDOHelper.getObjectId(pojo));
>                 }
>
>
> Is there still something wrong with the method filtering? Or is this a
different issue?
>
>
>
> Jeremy D. Branham
> Tel: **DOTNET
>
>
> -----Original Message-----
> From: Dan Haywood [mailto:dan@haywood-associates.co.uk]
> Sent: Monday, December 29, 2014 11:33 AM
> To: users
> Subject: Re: Working on a branch with latest datanucleus
>
> Hi Jeremy,
>
> Having not looked at DN 4.x at all yet, can't specfically advise; have a
few general thoughts though.
>
> Just to recap on stuff that you probably know/have figured out...
>
> * With respect to javax.jdo.spi.PersistenceCapable vs
javax.jdo.spi.Persistable, in DN 3.x I know the enhancer makes all enhanced
objects implement the javax.jdo.spi.PersistenceCapable interface.  Looking
at the javax.jdo.spi.Persistable interface for DN 3.x it seems like its a
placeholder, with a comment "Note that this is not yet used by DataNucleus,
but is intended as something for the future."
>
> * My guess for DN 4.x is that Andy Jefferson (maintainer of DN) has now
made this change, and generalized things to work with
javax.jdo.spi.Persistable instead of, or perhaps as well as,
PersistenceCapable.  (This might explain the new dnReplaceFields(...)
methods rather than jdoReplaceFields(...) methods that you saw before).
>
> * I can tell you that JDOStateManagerForIsis is kinda important, as its
the point where we tell Isis about the objects that are brought into memory
by DN, to map them and inject services into them.  So you will need to find
some sort of implementation of it.
>
> ~~~
> From its name, I'm guessing that ReferentialJDOStateManager is for RDBMS
stores, whereas of course you are using Neo4J instead.  So you probably
need to inherit from AbstractStateManager or something else higher up in
the inheritance hierarchy.
>
> In terms of getting Isis to work with your own improved version of
JdoStateManagerForIsis, it looks like the implementation is specified in
>
DataNucleusPersistenceMechanismInstaller#addDataNucleusPropertiesIfRequired(...)
>  ... so you can probably just add your impl to isis.properties.
>
> Also, I notice that there's a thread-local in JdoStateManagerForIsis that
is referenced by EventBusServiceJdo, but that could easily be moved out
into some other class.
>
> ~~
> If none of the above helps, you might want to try posting a question on
the DN forum [1], though I know that Andy does also answer DN questions on
SO also.  The question will need to be framed in terms of DN rather than
Isis though.
>
> If you get nowhere, I can ping Andy also (so long as I'm clear about what
I'm asking, which I'm not quite, at the moment).
>
> HTH
> Dan
>
>
> [1] http://www.datanucleus.org/support.html
>
>
>
> On 29 December 2014 at 16:52, Branham, Jeremy [HR] <
Jeremy.D.Branham@sprint.com> wrote:
>
> > I thought I was being clever changing over to 'Persitable' in the
> > 'JDOStateManagerForIsis', but I get errors about the 'SimpleObject'
> > not being persistable at runtime.
> >
> > ---------------
> >
> > I have a question about the ReferentialJDOStateManager in DataNucleus.
> > The JDOStateManager extended this class in DN 3.x but it is not
> > present in DN 4.x
> >
> > Affected class in Isis -
> > public class JDOStateManagerForIsis extends ReferentialJDOStateManager
> > implements StateManager, ObjectProvider
> >
> > I do see this class -
> > org.datanucleus.state.ReferentialStateManagerImpl
> >
> > I thought this might be the appropriate replacement, but if I extend
> > ReferentialStateManagerImpl, there are problems...
> >
> > The problem I encounter when extending the new class -
> > ReferentialStateManagerImpl extends StateManagerImpl. Which extends
> > AbstractStateManager<Persistable>
> >
> > The current JDOStateManagerForIsis is setup to handle
> > PersistenceCapable objects rather than Persistable objects.
> >
> > I'm not sure where to go from here.
> >
> > Also posted on SO -
> >
> > http://stackoverflow.com/questions/27692754/is-referentialjdostatemana
> > ger-not-used-in-datanucleus-4-x
> >
> >
> >
> >
> > Jeremy D. Branham
> > Tel: **DOTNET
> >
> >
> > -----Original Message-----
> > From: Dan Haywood [mailto:dan@haywood-associates.co.uk]
> > Sent: Friday, December 26, 2014 1:42 AM
> > To: users
> > Subject: Re: Working on a branch with latest datanucleus
> >
> > With Isis we have:
> >
> >
> >
> > org.apache.isis.core.metamodel.facets.object.ignore.jdo.RemoveJdoEnhan
> > cementTypesFacetFactory
> >
> > that ensures that Isis ignores all the methods in the
> > javax,jdo.spi.PersistenceCapable interface.  That interface defines a
> > bunch of methods called jdoReplaceFields(int[]) and so on.
> >
> > My guess is that with DN 4.0 that this has changed so that there is a
> > similar DN-specific interface that the enhancer makes the
> > persistence-capable objects implement.
> >
> > Have a go at writing a similar facet factory and register it in
> > isis.properties using the "isis.reflector.facets.include" property,
> > see [1]... If it works we can incorporate into Isis proper for a future
version.
> >
> > Let us know how you get on.
> >
> > Dan
> >
> >
> > [1]
> >
> > http://isis.apache.org/more-advanced-topics/metamodel-finetuning-the-p
> > rogramming-model.html
> >
> >
> > On 25 December 2014 at 00:43, Branham, Jeremy [HR] <
> > Jeremy.D.Branham@sprint.com> wrote:
> >
> > > Thanks for checking Dan.
> > > I solved that particular issue, but I'm not sure it's a valid
solution.
> > >
> > > Changed -
> > >
> > > https://github.com/jdbranham/isis/blob/DN_404/core/metamodel/src/mai
> > > n/
> > > java/org/apache/isis/core/metamodel/specloader/classsubstitutor/Clas
> > > sS
> > > ubstitutor.java#L53-L55
> > >
> > >
> > > New Issue I'm working on -
> > >
> > > Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed:
> > > 0.197 sec <<< FAILURE! - in
> > > integration.tests.ToDoItemIntegTest$Properties$Description
> > > integration.tests.ToDoItemIntegTest$Properties$Description  Time
elapsed:
> > > 0.197 sec  <<< ERROR!
> > > java.lang.RuntimeException:
> > > org.apache.isis.core.commons.exceptions.UnknownTypeException:
> > > collections not supported as parameters:
> > > dom.todo.ToDoItem#dnProvideFields([I)
> > > at
> > > org.apache.isis.core.integtestsupport.IsisSystemForTest.setUpSystem(
> > > Is
> > > isSystemForTest.java:314)
> > >
> > >
> > > Jeremy D. Branham
> > > Tel: **DOTNET
> > >
> > >
> > > -----Original Message-----
> > > From: Dan Haywood [mailto:dan@haywood-associates.co.uk]
> > > Sent: Wednesday, December 24, 2014 12:05 PM
> > > To: users
> > > Subject: Re: Working on a branch with latest datanucleus
> > >
> > > Hi Jeremy,
> > >
> > > sorry, it's not clear to me if you had an issue but then resolved
> > > it, or whether there is still an issue?
> > >
> > > With respect to moving to DN 4.0, that's certainly the intention,
> > > and is a prerequisite for us to support Java8.  Given that Java7
> > > support finishes in April 2015, it's clearly something that we need
> > > to do be tackling quite soon.
> > >
> > > Thx
> > > Dan
> > >
> > >
> > > On 24 December 2014 at 05:24, Branham, Jeremy [HR] <
> > > Jeremy.D.Branham@sprint.com> wrote:
> > >
> > > > The line numbers didn't match because a different version of the
> > > > class was being loaded.
> > > > I added a null check that solved the issue, but the code running
> > > > hadn't picked up the change yet.
> > > >
> > > >
> > > > Jeremy D. Branham
> > > > Tel: **DOTNET
> > > >
> > > >
> > > > -----Original Message-----
> > > > From: Branham, Jeremy [HR]
> > > > Sent: Tuesday, December 23, 2014 11:04 PM
> > > > To: users@isis.apache.org
> > > > Subject: Working on a branch with latest datanucleus
> > > >
> > > > Sorry for the massive stack trace, but I was looking for some
> > > > pointers on what might be happing here.
> > > > I'm having a bit of difficulty debugging because the line numbers
> > > > reported don't seem to match the source files, and even when
> > > > stepping through the code. [maybe something wrong in my dev env]
> > > >
> > > > I'm working on a branch with a newer datanucleus support [4.0.4]
> > > > and seems to be an issue with the spec loader.
> > > > I understand if there is no support for this yet.
> > > >
> > > >
> > > > 22:52:01,445  [Reflections          main       INFO ]  Reflections
took
> > > > 421 ms to scan 7 urls, producing 148 keys and 716 values
> > > > 22:52:01,523  [ServiceInstantiator  main       DEBUG]  loading class
> > for
> > > > service: dom.simple.SimpleObjects
> > > > 22:52:01,523  [ServiceInstantiator  main       DEBUG]  loading class
> > for
> > > > service: fixture.simple.SimpleObjectsFixturesService
> > > > 22:52:01,523  [ServiceInstantiator  main       DEBUG]  loading class
> > for
> > > > service: org.apache.isis.applib.annotation.Bulk$InteractionContext
> > > > 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading class
> > for
> > > > service:
> > > >
> > > org.apache.isis.applib.services.bookmark.BookmarkHolderActionContrib
> > > ut
> > > ions
> > > > 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading class
> > for
> > > > service:
> > > >
> > > org.apache.isis.applib.services.classdiscovery.ClassDiscoveryService
> > > Us
> > > ingReflections
> > > > 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading class
> > for
> > > > service: org.apache.isis.applib.services.clock.ClockService
> > > > 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading class
> > for
> > > > service: org.apache.isis.applib.services.command.CommandContext
> > > > 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading class
> > for
> > > > service:
> > > org.apache.isis.applib.services.queryresultscache.QueryResultsCache
> > > > 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading class
> > for
> > > > service: org.apache.isis.applib.services.scratchpad.Scratchpad
> > > > 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading class
> > for
> > > > service:
> > > >
> > org.apache.isis.core.metamodel.services.bookmarks.BookmarkServiceDefau
> > lt
> > > > 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading class
> > for
> > > > service:
> > > >
> > > org.apache.isis.core.metamodel.services.container.DomainObjectContai
> > > ne
> > > rDefault
> > > > 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading class
> > for
> > > > service:
> > > >
> > org.apache.isis.core.runtime.services.background.BackgroundServiceDefa
> > ult
> > > > 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading class
> > for
> > > > service:
> > > org.apache.isis.core.runtime.services.memento.MementoServiceDefault
> > > > 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading class
> > for
> > > > service:
> > > >
> > > org.apache.isis.core.runtime.services.xmlsnapshot.XmlSnapshotService
> > > De
> > > fault
> > > > 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading class
> > for
> > > > service: org.apache.isis.core.wrapper.WrapperFactoryDefault
> > > > 22:52:01,587  [ServiceInstantiator  main       DEBUG]  loading class
> > for
> > > > service:
> > > >
> > > org.apache.isis.objectstore.jdo.applib.service.exceprecog.ExceptionR
> > > ec
> > > ognizerCompositeForJdoObjectStore
> > > > 22:52:01,618  [ServiceInstantiator  main       DEBUG]  loading class
> > for
> > > > service:
> > > >
> > > org.apache.isis.objectstore.jdo.datanucleus.service.eventbus.EventBu
> > > sS
> > > erviceJdo
> > > > 22:52:01,618  [ServiceInstantiator  main       DEBUG]  loading class
> > for
> > > > service:
> > > >
> > > org.apache.isis.objectstore.jdo.datanucleus.service.support.IsisJdoS
> > > up
> > > portImpl
> > > > 22:52:01,618  [ServiceInstantiator  main       DEBUG]  loading class
> > for
> > > > service:
> > > >
> > > org.apache.isis.viewer.restfulobjects.rendering.service.Representati
> > > on
> > > ServiceForRestfulObjects
> > > > 22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected
> > > > org.apache.isis.core.metamodel.services.container.DomainObjectCont
> > > > ai
> > > > ne
> > > > rDefault@397c8a21
> > > > into SimpleObjects@529d935d[]
> > > > 22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected
> > > > org.apache.isis.core.runtime.services.memento.MementoServiceDefaul
> > > > t@ 6c dd377c into SimpleObjectsFixturesService@2f65e5ba[]
> > > > 22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected
> > > > org.apache.isis.core.metamodel.services.bookmarks.BookmarkServiceD
> > > > ef
> > > > au
> > > > lt@4acd2ea5 into SimpleObjectsFixturesService@2f65e5ba[]
> > > > 22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected
> > > > org.apache.isis.applib.services.classdiscovery.ClassDiscoveryServi
> > > > ce
> > > > Us
> > > > ingReflections@64b17900 into SimpleObjectsFixturesService@2f65e5ba[]
> > > > 22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected
> > > > org.apache.isis.core.metamodel.services.container.DomainObjectCont
> > > > ai
> > > > ne
> > > > rDefault@397c8a21 into SimpleObjectsFixturesService@2f65e5ba[]
> > > > 22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected
> > > > org.apache.isis.core.metamodel.services.bookmarks.BookmarkServiceD
> > > > ef
> > > > au
> > > > lt@4acd2ea5 into BookmarkHolderActionContributions@3f7f22a5[]
> > > > 22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected
> > > > org.apache.isis.core.metamodel.services.container.DomainObjectCont
> > > > ai
> > > > ne
> > > > rDefault@397c8a21 into
> > > > ClassDiscoveryServiceUsingReflections@64b17900[]
> > > > 22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected
> > > > org.apache.isis.core.wrapper.WrapperFactoryDefault@33bb9f34 into
> > > > BookmarkServiceDefault@4acd2ea5[]
> > > > 22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected
> > > > org.apache.isis.core.wrapper.WrapperFactoryDefault@33bb9f34 into
> > > > DomainObjectContainerDefault@397c8a21[]
> > > > 22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected
> > > > org.apache.isis.core.metamodel.services.bookmarks.BookmarkServiceD
> > > > ef
> > > > au
> > > > lt@4acd2ea5 into BackgroundServiceDefault@4898c8f9[]
> > > > 22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected
> > > > org.apache.isis.core.runtime.services.ServiceInstantiator$2@26b278
> > > > ab into BackgroundServiceDefault@4898c8f9[]
> > > > 22:52:01,727  [ObjectReflectorDefault main       DEBUG]
initialising
> > > >
> > org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault@1e614
> > 4db
> > > > 22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected
> > > > org.apache.isis.core.metamodel.services.container.DomainObjectCont
> > > > ai
> > > > ne
> > > > rDefault@397c8a21
> > > > into SimpleObjects@529d935d[]
> > > > 22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected
> > > > org.apache.isis.core.runtime.services.memento.MementoServiceDefaul
> > > > t@ 6c dd377c into SimpleObjectsFixturesService@2f65e5ba[]
> > > > 22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected
> > > > org.apache.isis.core.metamodel.services.bookmarks.BookmarkServiceD
> > > > ef
> > > > au
> > > > lt@4acd2ea5 into SimpleObjectsFixturesService@2f65e5ba[]
> > > > 22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected
> > > > org.apache.isis.applib.services.classdiscovery.ClassDiscoveryServi
> > > > ce
> > > > Us
> > > > ingReflections@64b17900 into SimpleObjectsFixturesService@2f65e5ba[]
> > > > 22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected
> > > > org.apache.isis.core.metamodel.services.container.DomainObjectCont
> > > > ai
> > > > ne
> > > > rDefault@397c8a21 into SimpleObjectsFixturesService@2f65e5ba[]
> > > > 22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected
> > > > org.apache.isis.core.metamodel.services.bookmarks.BookmarkServiceD
> > > > ef
> > > > au
> > > > lt@4acd2ea5 into BookmarkHolderActionContributions@3f7f22a5[]
> > > > 22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected
> > > > org.apache.isis.core.metamodel.services.container.DomainObjectCont
> > > > ai
> > > > ne
> > > > rDefault@397c8a21 into
> > > > ClassDiscoveryServiceUsingReflections@64b17900[]
> > > > 22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected
> > > > org.apache.isis.core.wrapper.WrapperFactoryDefault@33bb9f34 into
> > > > BookmarkServiceDefault@4acd2ea5[]
> > > > 22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected
> > > > org.apache.isis.core.wrapper.WrapperFactoryDefault@33bb9f34 into
> > > > DomainObjectContainerDefault@397c8a21[]
> > > > 22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected
> > > > org.apache.isis.core.metamodel.services.bookmarks.BookmarkServiceD
> > > > ef
> > > > au
> > > > lt@4acd2ea5 into BackgroundServiceDefault@4898c8f9[]
> > > > 22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected
> > > > org.apache.isis.core.runtime.services.ServiceInstantiator$2@26b278
> > > > ab into BackgroundServiceDefault@4898c8f9[]
> > > > 22:52:14,042  [ObjectSpecificationAbstract main       DEBUG]
> > > Superclass
> > > > java.lang.Object
> > > > 22:52:14,152  [ObjectSpecificationAbstract main       DEBUG]
> > > Superclass
> > > > java.lang.Object
> > > > 22:52:14,167  [IsisWicketApplication main       ERROR]  Failed to
> > > > initialize
> > > > com.google.inject.ProvisionException: Guice provision errors:
> > > >
> > > > 1) Error in custom provider, java.lang.NullPointerException
> > > >   at
> > > >
> > > org.apache.isis.core.runtime.runner.IsisInjectModule.provideIsisSyst
> > > em
> > > (IsisInjectModule.java:132)
> > > >   at
> > > >
> > > org.apache.isis.core.runtime.runner.IsisInjectModule.provideIsisSyst
> > > em
> > > (IsisInjectModule.java:132)
> > > >   while locating org.apache.isis.core.runtime.system.IsisSystem
> > > >     for field at
> > > >
> > > org.apache.isis.viewer.wicket.viewer.IsisWicketApplication.system(Is
> > > is
> > > WicketApplication.java:138)
> > > >   while locating webapp.SimpleApplication
> > > >
> > > > 1 error
> > > >        at
> > > >
> > > com.google.inject.internal.Errors.throwProvisionExceptionIfErrorsExi
> > > st
> > > (Errors.java:451)
> > > >        at
> > > >
> > > com.google.inject.internal.MembersInjectorImpl.injectMembers(Members
> > > In
> > > jectorImpl.java:65)
> > > >        at
> > > >
> > > com.google.inject.internal.InjectorImpl.injectMembers(InjectorImpl.j
> > > av
> > > a:944)
> > > >        at
> > > >
> > > org.apache.isis.viewer.wicket.viewer.IsisWicketApplication.init(Isis
> > > Wi
> > > cketApplication.java:248)
> > > >        at webapp.SimpleApplication.init(SimpleApplication.java:81)
> > > >        at
> > > > org.apache.wicket.Application.initApplication(Application.java:823)
> > > >        at
> > > >
> > org.apache.wicket.protocol.http.WicketFilter.init(WicketFilter.java:42
> > 4)
> > > >        at
> > > >
> > org.apache.wicket.protocol.http.WicketFilter.init(WicketFilter.java:35
> > 1)
> > > >        at
> > > > org.mortbay.jetty.servlet.FilterHolder.doStart(FilterHolder.java:97)
> > > >        at
> > > >
> > org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:5
> > 0)
> > > >        at
> > > >
> > > org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.j
> > > av
> > > a:713)
> > > >        at
> > > org.mortbay.jetty.servlet.Context.startContext(Context.java:140)
> > > >        at
> > > >
> > > org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.ja
> > > va
> > > :1282)
> > > >        at
> > > >
> > org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:5
> > 18)
> > > >        at
> > > >
org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:499)
> > > >        at
> > > >
> > > org.mortbay.jetty.plugin.Jetty6PluginWebAppContext.doStart(Jetty6Plu
> > > gi
> > > nWebAppContext.java:115)
> > > >        at
> > > >
> > org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:5
> > 0)
> > > >        at
> > > >
> > > org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.
> > > java:152)
> > > >        at
> > > >
> > > org.mortbay.jetty.handler.ContextHandlerCollection.doStart(ContextHa
> > > nd
> > > lerCollection.java:156)
> > > >        at
> > > >
> > org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:5
> > 0)
> > > >        at
> > > >
> > > org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.
> > > java:152)
> > > >        at
> > > >
> > org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:5
> > 0)
> > > >        at
> > > >
> > org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:1
> > 30)
> > > >        at org.mortbay.jetty.Server.doStart(Server.java:224)
> > > >        at
> > > >
> > org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:5
> > 0)
> > > >        at
> > > >
> > > org.mortbay.jetty.plugin.Jetty6PluginServer.start(Jetty6PluginServer
> > > .j
> > > ava:132)
> > > >        at
> > > >
> > > org.mortbay.jetty.plugin.AbstractJettyMojo.startJetty(AbstractJettyM
> > > oj
> > > o.java:454)
> > > >        at
> > > >
> > > org.mortbay.jetty.plugin.AbstractJettyMojo.execute(AbstractJettyMojo
> > > .j
> > > ava:396)
> > > >        at
> > > >
> > > org.mortbay.jetty.plugin.AbstractJettyRunMojo.execute(AbstractJettyR
> > > un
> > > Mojo.java:210)
> > > >        at
> > > >
org.mortbay.jetty.plugin.Jetty6RunMojo.execute(Jetty6RunMojo.java:184)
> > > >        at
> > > >
> > > org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(Defaul
> > > tB
> > > uildPluginManager.java:106)
> > > >        at
> > > >
> > > org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.
> > > java:208)
> > > >        at
> > > >
> > > org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.
> > > java:153)
> > > >        at
> > > >
> > > org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.
> > > java:145)
> > > >        at
> > > >
> > > org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProj
> > > ec
> > > t(LifecycleModuleBuilder.java:84)
> > > >        at
> > > >
> > > org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProj
> > > ec
> > > t(LifecycleModuleBuilder.java:59)
> > > >        at
> > > >
> > > org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedB
> > > ui
> > > ld(LifecycleStarter.java:183)
> > > >        at
> > > >
> > > org.apache.maven.lifecycle.internal.LifecycleStarter.execute(Lifecyc
> > > le
> > > Starter.java:161)
> > > >        at
> > org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:317)
> > > >        at
org.apache.maven.DefaultMaven.execute(DefaultMaven.java:152)
> > > >        at org.apache.maven.cli.MavenCli.execute(MavenCli.java:555)
> > > >        at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:214)
> > > >        at org.apache.maven.cli.MavenCli.main(MavenCli.java:158)
> > > >        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
Method)
> > > >        at
> > > >
> > > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl
> > > .j
> > > ava:57)
> > > >        at
> > > >
> > > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcce
> > > ss
> > > orImpl.java:43)
> > > >        at java.lang.reflect.Method.invoke(Method.java:606)
> > > >        at
> > > >
> > > org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Lau
> > > nc
> > > her.java:289)
> > > >        at
> > > >
> > > org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.ja
> > > va
> > > :229)
> > > >        at
> > > >
> > > org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(L
> > > au
> > > ncher.java:415)
> > > >        at
> > > >
> > org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:3
> > 56)
> > > >        at org.codehaus.classworlds.Launcher.main(Launcher.java:46)
> > > > Caused by: java.lang.NullPointerException
> > > >        at
> > > >
> > > org.apache.isis.core.metamodel.specloader.classsubstitutor.ClassSubs
> > > ti
> > > tutor.getClass(ClassSubstitutor.java:54)
> > > >        at
> > > >
> > > org.apache.isis.core.metamodel.specloader.classsubstitutor.ClassSubs
> > > ti
> > > tutor.getClass(ClassSubstitutor.java:55)
> > > >        at
> > > >
> > > org.apache.isis.core.metamodel.specloader.specimpl.dflt.ObjectSpecif
> > > ic
> > > ationDefault.introspectTypeHierarchyAndMembers(ObjectSpecificationDe
> > > fa
> > > ult.java:146)
> > > >        at
> > > >
> > > org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.int
> > > ro
> > > spectIfRequired(ObjectReflectorDefault.java:499)
> > > >        at
> > > >
> > > org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.loa
> > > dS
> > > pecificationForSubstitutedClass(ObjectReflectorDefault.java:400)
> > > >        at
> > > >
> > > org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.int
> > > er
> > > nalLoadSpecification(ObjectReflectorDefault.java:378)
> > > >        at
> > > >
> > > org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.loa
> > > dS
> > > pecifications(ObjectReflectorDefault.java:415)
> > > >        at
> > > >
> > > org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.loa
> > > dS
> > > pecifications(ObjectReflectorDefault.java:428)
> > > >        at
> > > >
> > > org.apache.isis.core.metamodel.specloader.specimpl.FacetedMethodsBui
> > > ld
> > > er.representsAction(FacetedMethodsBuilder.java:455)
> > > >        at
> > > >
> > > org.apache.isis.core.metamodel.specloader.specimpl.FacetedMethodsBui
> > > ld
> > > er.findActionFacetedMethod(FacetedMethodsBuilder.java:404)
> > > >        at
> > > >
> > > org.apache.isis.core.metamodel.specloader.specimpl.FacetedMethodsBui
> > > ld
> > > er.findActionFacetedMethods(FacetedMethodsBuilder.java:388)
> > > >        at
> > > >
> > > org.apache.isis.core.metamodel.specloader.specimpl.FacetedMethodsBui
> > > ld
> > > er.findActionFacetedMethods(FacetedMethodsBuilder.java:367)
> > > >        at
> > > >
> > > org.apache.isis.core.metamodel.specloader.specimpl.FacetedMethodsBui
> > > ld
> > > er.getActionFacetedMethods(FacetedMethodsBuilder.java:343)
> > > >        at
> > > >
> > > org.apache.isis.core.metamodel.specloader.specimpl.dflt.ObjectSpecif
> > > ic
> > > ationDefault.createActions(ObjectSpecificationDefault.java:222)
> > > >        at
> > > >
> > > org.apache.isis.core.metamodel.specloader.specimpl.dflt.ObjectSpecif
> > > ic
> > > ationDefault.introspectTypeHierarchyAndMembers(ObjectSpecificationDe
> > > fa
> > > ult.java:167)
> > > >        at
> > > >
> > > org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.int
> > > ro
> > > spectIfRequired(ObjectReflectorDefault.java:499)
> > > >        at
> > > >
> > > org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.loa
> > > dS
> > > pecificationForSubstitutedClass(ObjectReflectorDefault.java:400)
> > > >        at
> > > >
> > > org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.int
> > > er
> > > nalLoadSpecification(ObjectReflectorDefault.java:378)
> > > >        at
> > > >
> > > org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.pri
> > > me
> > > Cache(ObjectReflectorDefault.java:269)
> > > >        at
> > > >
> > > org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.ini
> > > tA
> > > ndValidate(ObjectReflectorDefault.java:244)
> > > >        at
> > > >
> > > org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.ini
> > > t(
> > > ObjectReflectorDefault.java:205)
> > > >        at
> > > >
> > > org.apache.isis.core.runtime.system.session.IsisSessionFactoryDefault.
> > > init(IsisSessionFactoryDefault.java:192)
> > > >        at
> > > >
> > > org.apache.isis.core.runtime.system.IsisSystemFixturesHookAbstract.i
> > > ni
> > > t(IsisSystemFixturesHookAbstract.java:120)
> > > >        at
> > > >
> > > org.apache.isis.core.runtime.runner.IsisInjectModule.provideIsisSyst
> > > em
> > > (IsisInjectModule.java:133)
> > > >        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
Method)
> > > >        at
> > > >
> > > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl
> > > .j
> > > ava:57)
> > > >        at
> > > >
> > > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcce
> > > ss
> > > orImpl.java:43)
> > > >        at java.lang.reflect.Method.invoke(Method.java:606)
> > > >        at
> > > >
com.google.inject.internal.ProviderMethod.get(ProviderMethod.java:104)
> > > >        at
> > > >
> > > com.google.inject.internal.InternalFactoryToProviderAdapter.get(Inte
> > > rn
> > > alFactoryToProviderAdapter.java:40)
> > > >        at
> > > >
> > > com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(P
> > > ro
> > > viderToInternalFactoryAdapter.java:46)
> > > >        at
> > > >
> > > com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.j
> > > av
> > > a:1031)
> > > >        at
> > > >
> > > com.google.inject.internal.ProviderToInternalFactoryAdapter.get(Prov
> > > id
> > > erToInternalFactoryAdapter.java:40)
> > > >        at com.google.inject.Scopes$1$1.get(Scopes.java:65)
> > > >        at
> > > >
> > > com.google.inject.internal.InternalFactoryToProviderAdapter.get(Inte
> > > rn
> > > alFactoryToProviderAdapter.java:40)
> > > >        at
> > > >
> > > com.google.inject.internal.SingleFieldInjector.inject(SingleFieldInj
> > > ec
> > > tor.java:53)
> > > >        at
> > > >
> > > com.google.inject.internal.MembersInjectorImpl.injectMembers(Members
> > > In
> > > jectorImpl.java:110)
> > > >        at
> > > >
> > > com.google.inject.internal.MembersInjectorImpl$1.call(MembersInjecto
> > > rI
> > > mpl.java:75)
> > > >        at
> > > >
> > > com.google.inject.internal.MembersInjectorImpl$1.call(MembersInjecto
> > > rI
> > > mpl.java:73)
> > > >        at
> > > >
> > > com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.j
> > > av
> > > a:1024)
> > > >        at
> > > >
> > > com.google.inject.internal.MembersInjectorImpl.injectAndNotify(Membe
> > > rs
> > > InjectorImpl.java:73)
> > > >        at
> > > >
> > > com.google.inject.internal.MembersInjectorImpl.injectMembers(Members
> > > In
> > > jectorImpl.java:60)
> > > >        ... 50 more
> > > > 22:52:14,167  [WicketFilter         main       ERROR]  The
> > initialization
> > > > of an application with name 'WicketFilter' has failed.
> > > > com.google.inject.ProvisionException: Guice provision errors:
> > > >
> > > >
> > > >
> > > > ________________________________
> > > >
> > > > This e-mail may contain Sprint proprietary information intended
> > > > for the sole use of the recipient(s). Any use by others is
prohibited.
> > > > If you are not the intended recipient, please contact the sender
> > > > and delete all copies of the message.
> > > >
> > > > ________________________________
> > > >
> > > > This e-mail may contain Sprint proprietary information intended
> > > > for the sole use of the recipient(s). Any use by others is
prohibited.
> > > > If you are not the intended recipient, please contact the sender
> > > > and delete all copies of the message.
> > > >
> > >
> > > ________________________________
> > >
> > > This e-mail may contain Sprint proprietary information intended for
> > > the sole use of the recipient(s). Any use by others is prohibited.
> > > If you are not the intended recipient, please contact the sender and
> > > delete all copies of the message.
> > >
> >
> > ________________________________
> >
> > This e-mail may contain Sprint proprietary information intended for
> > the sole use of the recipient(s). Any use by others is prohibited. If
> > you are not the intended recipient, please contact the sender and
> > delete all copies of the message.
> >
>
> ________________________________
>
> This e-mail may contain Sprint proprietary information intended for the
sole use of the recipient(s). Any use by others is prohibited. If you are
not the intended recipient, please contact the sender and delete all copies
of the message.
>
> ________________________________
>
> This e-mail may contain Sprint proprietary information intended for the
sole use of the recipient(s). Any use by others is prohibited. If you are
not the intended recipient, please contact the sender and delete all copies
of the message.
>
> ________________________________
>
> This e-mail may contain Sprint proprietary information intended for the
sole use of the recipient(s). Any use by others is prohibited. If you are
not the intended recipient, please contact the sender and delete all copies
of the message.

RE: Working on a branch with latest datanucleus

Posted by "Branham, Jeremy [HR]" <Je...@sprint.com>.
There ended up being a lot of refactoring to swap PersistenceCapable for Persistable throughout.

Currently trying to understand this -

java.lang.IllegalArgumentException: mismatch in OidAdapter map: adapter's Oid: TODO:1^1:tester:, provided adapter's OID: TODO:1^1:tester:; map's adapter's Oid: TODO:1^1:tester:
at org.apache.isis.core.commons.ensure.Ensure.ensureThatArg(Ensure.java:75)


I'm having difficulty getting MyEclipse to attach and stop at the breakpoints during a Maven build, so this process has been needlessly complicated.

This is off topic, but I'm curious what other folks are using. Eclipse, IDEA, other?


Jeremy D. Branham
Tel: **DOTNET


-----Original Message-----
From: Branham, Jeremy [HR]
Sent: Monday, December 29, 2014 4:47 PM
To: users@isis.apache.org
Subject: RE: Working on a branch with latest datanucleus


I've added the factories to the ' IsisConfigurationForJdoIntegTests' and adjusted the DataNucleus properties to match 4.x

I can see the tables are getting created but there is a cast exception.
I won't flood the email distribution again until I'm stuck for a few hours. =] Looks like it's pretty close now.


Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0.031 sec <<< FAILURE! - in integration.tests.ToDoItemsIntegTest$NewToDo_and_Delete
happyCase(integration.tests.ToDoItemsIntegTest$NewToDo_and_Delete)  Time elapsed: 0.031 sec  <<< ERROR!
java.lang.ClassCastException: dom.todo.ToDoItem cannot be cast to javax.jdo.spi.PersistenceCapable


-------------------------
16:35:20,986  [Schema               main       DEBUG]  CREATE TABLE "ToDoItem"
(
    "id" BIGINT GENERATED BY DEFAULT AS IDENTITY,
    "attachment_name" BLOB NULL,
    "category" NVARCHAR(255) NOT NULL,
    "complete" BOOLEAN NOT NULL,
    "cost" DECIMAL(19,2) NULL,
    "description" NVARCHAR(100) NOT NULL,
    "doc_name" BLOB NULL,
    "dueBy" DATE NULL,
    "notes" NVARCHAR(400) NULL,
    "ownedBy" NVARCHAR(255) NOT NULL,
    "subcategory" NVARCHAR(255) NULL,
    "version" BIGINT NOT NULL,
    CONSTRAINT "ToDoItem_PK" PRIMARY KEY ("id")
)
16:35:20,986  [Schema               main       DEBUG]  Execution Time = 0 ms
16:35:21,002  [Schema               main       DEBUG]  Check of existence of "ToDoItemDependencies" returned no table
16:35:21,002  [Schema               main       DEBUG]  Creating table "ToDoItemDependencies"
16:35:21,002  [Schema               main       DEBUG]  CREATE TABLE "ToDoItemDependencies"
(
    "dependingId" BIGINT NOT NULL,
    "dependentId" BIGINT NOT NULL,
    CONSTRAINT "ToDoItemDependencies_PK" PRIMARY KEY ("dependingId","dependentId")
)






Jeremy D. Branham
Tel: **DOTNET


-----Original Message-----
From: Branham, Jeremy [HR]
Sent: Monday, December 29, 2014 3:31 PM
To: users@isis.apache.org
Subject: RE: Working on a branch with latest datanucleus

Forgot to mention -
I updated the 'JDOStateManagerForIsis' to use Persistable instead of PersistanceCapable.

public class JDOStateManagerForIsis extends ReferentialStateManagerImpl { ...
}


Jeremy D. Branham
Tel: **DOTNET


-----Original Message-----
From: Branham, Jeremy [HR]
Sent: Monday, December 29, 2014 3:26 PM
To: users@isis.apache.org
Subject: RE: Working on a branch with latest datanucleus

Thanks, that has got me started.
For now I am just working with the RDMS capable statemanager, and will focus on the Neo4j compatibility later.

I've added two ' AbstractRemoveMethodsFacetFactory'

[Finds 25 methods]
    public RemoveDatanucleusPersistableTypesFacetFactory() {
        super("org.datanucleus.enhancer.Persistable");
    }

And

[org.apache.isis.core.commons.factory.UnavailableClassException: The default type 'javax.jdo.spi.Persistable' cannot be found]
    public RemoveJdoPersistableEnhancementTypesFacetFactory() {
        super("javax.jdo.spi.Persistable");
    }



In the 'FacetedMethodsBuilder# getActionFacetedMethods' I do see this - [It looks like it is stripping off the dn methods, does this look right?]

associationFacetMethodsCollections$UnmodifiableRandomAccessList<E>  (id=289) [PROPERTY Peer [identifier="dom.simple.SimpleObject#name()",type=java.lang.String ]]

introspectedClassClass<T> (dom.simple.SimpleObject) (id=291) class dom.simple.SimpleObject

methodsArrays$ArrayList<E>  (id=293)
[null, null, null, null, public static java.lang.Class dom.simple.SimpleObject.___jdo$loadClass(java.lang.String), null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null]


Is it ok that the 'SimpleObject.___jdo$loadClass' method is listed there?



Although, this exception is getting thrown now -

                // assert is persistent
                if(!pojo.jdoIsPersistent()) {
                    throw new IllegalStateException("Pojo JDO state is not persistent! pojo dnOid: " + JDOHelper.getObjectId(pojo));
                }


Is there still something wrong with the method filtering? Or is this a different issue?



Jeremy D. Branham
Tel: **DOTNET


-----Original Message-----
From: Dan Haywood [mailto:dan@haywood-associates.co.uk]
Sent: Monday, December 29, 2014 11:33 AM
To: users
Subject: Re: Working on a branch with latest datanucleus

Hi Jeremy,

Having not looked at DN 4.x at all yet, can't specfically advise; have a few general thoughts though.

Just to recap on stuff that you probably know/have figured out...

* With respect to javax.jdo.spi.PersistenceCapable vs javax.jdo.spi.Persistable, in DN 3.x I know the enhancer makes all enhanced objects implement the javax.jdo.spi.PersistenceCapable interface.  Looking at the javax.jdo.spi.Persistable interface for DN 3.x it seems like its a placeholder, with a comment "Note that this is not yet used by DataNucleus, but is intended as something for the future."

* My guess for DN 4.x is that Andy Jefferson (maintainer of DN) has now made this change, and generalized things to work with javax.jdo.spi.Persistable instead of, or perhaps as well as, PersistenceCapable.  (This might explain the new dnReplaceFields(...) methods rather than jdoReplaceFields(...) methods that you saw before).

* I can tell you that JDOStateManagerForIsis is kinda important, as its the point where we tell Isis about the objects that are brought into memory by DN, to map them and inject services into them.  So you will need to find some sort of implementation of it.

~~~
From its name, I'm guessing that ReferentialJDOStateManager is for RDBMS stores, whereas of course you are using Neo4J instead.  So you probably need to inherit from AbstractStateManager or something else higher up in the inheritance hierarchy.

In terms of getting Isis to work with your own improved version of JdoStateManagerForIsis, it looks like the implementation is specified in
DataNucleusPersistenceMechanismInstaller#addDataNucleusPropertiesIfRequired(...)
 ... so you can probably just add your impl to isis.properties.

Also, I notice that there's a thread-local in JdoStateManagerForIsis that is referenced by EventBusServiceJdo, but that could easily be moved out into some other class.

~~
If none of the above helps, you might want to try posting a question on the DN forum [1], though I know that Andy does also answer DN questions on SO also.  The question will need to be framed in terms of DN rather than Isis though.

If you get nowhere, I can ping Andy also (so long as I'm clear about what I'm asking, which I'm not quite, at the moment).

HTH
Dan


[1] http://www.datanucleus.org/support.html



On 29 December 2014 at 16:52, Branham, Jeremy [HR] < Jeremy.D.Branham@sprint.com> wrote:

> I thought I was being clever changing over to 'Persitable' in the
> 'JDOStateManagerForIsis', but I get errors about the 'SimpleObject'
> not being persistable at runtime.
>
> ---------------
>
> I have a question about the ReferentialJDOStateManager in DataNucleus.
> The JDOStateManager extended this class in DN 3.x but it is not
> present in DN 4.x
>
> Affected class in Isis -
> public class JDOStateManagerForIsis extends ReferentialJDOStateManager
> implements StateManager, ObjectProvider
>
> I do see this class -
> org.datanucleus.state.ReferentialStateManagerImpl
>
> I thought this might be the appropriate replacement, but if I extend
> ReferentialStateManagerImpl, there are problems...
>
> The problem I encounter when extending the new class -
> ReferentialStateManagerImpl extends StateManagerImpl. Which extends
> AbstractStateManager<Persistable>
>
> The current JDOStateManagerForIsis is setup to handle
> PersistenceCapable objects rather than Persistable objects.
>
> I'm not sure where to go from here.
>
> Also posted on SO -
>
> http://stackoverflow.com/questions/27692754/is-referentialjdostatemana
> ger-not-used-in-datanucleus-4-x
>
>
>
>
> Jeremy D. Branham
> Tel: **DOTNET
>
>
> -----Original Message-----
> From: Dan Haywood [mailto:dan@haywood-associates.co.uk]
> Sent: Friday, December 26, 2014 1:42 AM
> To: users
> Subject: Re: Working on a branch with latest datanucleus
>
> With Isis we have:
>
>
>
> org.apache.isis.core.metamodel.facets.object.ignore.jdo.RemoveJdoEnhan
> cementTypesFacetFactory
>
> that ensures that Isis ignores all the methods in the
> javax,jdo.spi.PersistenceCapable interface.  That interface defines a
> bunch of methods called jdoReplaceFields(int[]) and so on.
>
> My guess is that with DN 4.0 that this has changed so that there is a
> similar DN-specific interface that the enhancer makes the
> persistence-capable objects implement.
>
> Have a go at writing a similar facet factory and register it in
> isis.properties using the "isis.reflector.facets.include" property,
> see [1]... If it works we can incorporate into Isis proper for a future version.
>
> Let us know how you get on.
>
> Dan
>
>
> [1]
>
> http://isis.apache.org/more-advanced-topics/metamodel-finetuning-the-p
> rogramming-model.html
>
>
> On 25 December 2014 at 00:43, Branham, Jeremy [HR] <
> Jeremy.D.Branham@sprint.com> wrote:
>
> > Thanks for checking Dan.
> > I solved that particular issue, but I'm not sure it's a valid solution.
> >
> > Changed -
> >
> > https://github.com/jdbranham/isis/blob/DN_404/core/metamodel/src/mai
> > n/
> > java/org/apache/isis/core/metamodel/specloader/classsubstitutor/Clas
> > sS
> > ubstitutor.java#L53-L55
> >
> >
> > New Issue I'm working on -
> >
> > Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed:
> > 0.197 sec <<< FAILURE! - in
> > integration.tests.ToDoItemIntegTest$Properties$Description
> > integration.tests.ToDoItemIntegTest$Properties$Description  Time elapsed:
> > 0.197 sec  <<< ERROR!
> > java.lang.RuntimeException:
> > org.apache.isis.core.commons.exceptions.UnknownTypeException:
> > collections not supported as parameters:
> > dom.todo.ToDoItem#dnProvideFields([I)
> > at
> > org.apache.isis.core.integtestsupport.IsisSystemForTest.setUpSystem(
> > Is
> > isSystemForTest.java:314)
> >
> >
> > Jeremy D. Branham
> > Tel: **DOTNET
> >
> >
> > -----Original Message-----
> > From: Dan Haywood [mailto:dan@haywood-associates.co.uk]
> > Sent: Wednesday, December 24, 2014 12:05 PM
> > To: users
> > Subject: Re: Working on a branch with latest datanucleus
> >
> > Hi Jeremy,
> >
> > sorry, it's not clear to me if you had an issue but then resolved
> > it, or whether there is still an issue?
> >
> > With respect to moving to DN 4.0, that's certainly the intention,
> > and is a prerequisite for us to support Java8.  Given that Java7
> > support finishes in April 2015, it's clearly something that we need
> > to do be tackling quite soon.
> >
> > Thx
> > Dan
> >
> >
> > On 24 December 2014 at 05:24, Branham, Jeremy [HR] <
> > Jeremy.D.Branham@sprint.com> wrote:
> >
> > > The line numbers didn't match because a different version of the
> > > class was being loaded.
> > > I added a null check that solved the issue, but the code running
> > > hadn't picked up the change yet.
> > >
> > >
> > > Jeremy D. Branham
> > > Tel: **DOTNET
> > >
> > >
> > > -----Original Message-----
> > > From: Branham, Jeremy [HR]
> > > Sent: Tuesday, December 23, 2014 11:04 PM
> > > To: users@isis.apache.org
> > > Subject: Working on a branch with latest datanucleus
> > >
> > > Sorry for the massive stack trace, but I was looking for some
> > > pointers on what might be happing here.
> > > I'm having a bit of difficulty debugging because the line numbers
> > > reported don't seem to match the source files, and even when
> > > stepping through the code. [maybe something wrong in my dev env]
> > >
> > > I'm working on a branch with a newer datanucleus support [4.0.4]
> > > and seems to be an issue with the spec loader.
> > > I understand if there is no support for this yet.
> > >
> > >
> > > 22:52:01,445  [Reflections          main       INFO ]  Reflections took
> > > 421 ms to scan 7 urls, producing 148 keys and 716 values
> > > 22:52:01,523  [ServiceInstantiator  main       DEBUG]  loading class
> for
> > > service: dom.simple.SimpleObjects
> > > 22:52:01,523  [ServiceInstantiator  main       DEBUG]  loading class
> for
> > > service: fixture.simple.SimpleObjectsFixturesService
> > > 22:52:01,523  [ServiceInstantiator  main       DEBUG]  loading class
> for
> > > service: org.apache.isis.applib.annotation.Bulk$InteractionContext
> > > 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading class
> for
> > > service:
> > >
> > org.apache.isis.applib.services.bookmark.BookmarkHolderActionContrib
> > ut
> > ions
> > > 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading class
> for
> > > service:
> > >
> > org.apache.isis.applib.services.classdiscovery.ClassDiscoveryService
> > Us
> > ingReflections
> > > 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading class
> for
> > > service: org.apache.isis.applib.services.clock.ClockService
> > > 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading class
> for
> > > service: org.apache.isis.applib.services.command.CommandContext
> > > 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading class
> for
> > > service:
> > org.apache.isis.applib.services.queryresultscache.QueryResultsCache
> > > 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading class
> for
> > > service: org.apache.isis.applib.services.scratchpad.Scratchpad
> > > 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading class
> for
> > > service:
> > >
> org.apache.isis.core.metamodel.services.bookmarks.BookmarkServiceDefau
> lt
> > > 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading class
> for
> > > service:
> > >
> > org.apache.isis.core.metamodel.services.container.DomainObjectContai
> > ne
> > rDefault
> > > 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading class
> for
> > > service:
> > >
> org.apache.isis.core.runtime.services.background.BackgroundServiceDefa
> ult
> > > 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading class
> for
> > > service:
> > org.apache.isis.core.runtime.services.memento.MementoServiceDefault
> > > 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading class
> for
> > > service:
> > >
> > org.apache.isis.core.runtime.services.xmlsnapshot.XmlSnapshotService
> > De
> > fault
> > > 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading class
> for
> > > service: org.apache.isis.core.wrapper.WrapperFactoryDefault
> > > 22:52:01,587  [ServiceInstantiator  main       DEBUG]  loading class
> for
> > > service:
> > >
> > org.apache.isis.objectstore.jdo.applib.service.exceprecog.ExceptionR
> > ec
> > ognizerCompositeForJdoObjectStore
> > > 22:52:01,618  [ServiceInstantiator  main       DEBUG]  loading class
> for
> > > service:
> > >
> > org.apache.isis.objectstore.jdo.datanucleus.service.eventbus.EventBu
> > sS
> > erviceJdo
> > > 22:52:01,618  [ServiceInstantiator  main       DEBUG]  loading class
> for
> > > service:
> > >
> > org.apache.isis.objectstore.jdo.datanucleus.service.support.IsisJdoS
> > up
> > portImpl
> > > 22:52:01,618  [ServiceInstantiator  main       DEBUG]  loading class
> for
> > > service:
> > >
> > org.apache.isis.viewer.restfulobjects.rendering.service.Representati
> > on
> > ServiceForRestfulObjects
> > > 22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected
> > > org.apache.isis.core.metamodel.services.container.DomainObjectCont
> > > ai
> > > ne
> > > rDefault@397c8a21
> > > into SimpleObjects@529d935d[]
> > > 22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected
> > > org.apache.isis.core.runtime.services.memento.MementoServiceDefaul
> > > t@ 6c dd377c into SimpleObjectsFixturesService@2f65e5ba[]
> > > 22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected
> > > org.apache.isis.core.metamodel.services.bookmarks.BookmarkServiceD
> > > ef
> > > au
> > > lt@4acd2ea5 into SimpleObjectsFixturesService@2f65e5ba[]
> > > 22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected
> > > org.apache.isis.applib.services.classdiscovery.ClassDiscoveryServi
> > > ce
> > > Us
> > > ingReflections@64b17900 into SimpleObjectsFixturesService@2f65e5ba[]
> > > 22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected
> > > org.apache.isis.core.metamodel.services.container.DomainObjectCont
> > > ai
> > > ne
> > > rDefault@397c8a21 into SimpleObjectsFixturesService@2f65e5ba[]
> > > 22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected
> > > org.apache.isis.core.metamodel.services.bookmarks.BookmarkServiceD
> > > ef
> > > au
> > > lt@4acd2ea5 into BookmarkHolderActionContributions@3f7f22a5[]
> > > 22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected
> > > org.apache.isis.core.metamodel.services.container.DomainObjectCont
> > > ai
> > > ne
> > > rDefault@397c8a21 into
> > > ClassDiscoveryServiceUsingReflections@64b17900[]
> > > 22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected
> > > org.apache.isis.core.wrapper.WrapperFactoryDefault@33bb9f34 into
> > > BookmarkServiceDefault@4acd2ea5[]
> > > 22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected
> > > org.apache.isis.core.wrapper.WrapperFactoryDefault@33bb9f34 into
> > > DomainObjectContainerDefault@397c8a21[]
> > > 22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected
> > > org.apache.isis.core.metamodel.services.bookmarks.BookmarkServiceD
> > > ef
> > > au
> > > lt@4acd2ea5 into BackgroundServiceDefault@4898c8f9[]
> > > 22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected
> > > org.apache.isis.core.runtime.services.ServiceInstantiator$2@26b278
> > > ab into BackgroundServiceDefault@4898c8f9[]
> > > 22:52:01,727  [ObjectReflectorDefault main       DEBUG]  initialising
> > >
> org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault@1e614
> 4db
> > > 22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected
> > > org.apache.isis.core.metamodel.services.container.DomainObjectCont
> > > ai
> > > ne
> > > rDefault@397c8a21
> > > into SimpleObjects@529d935d[]
> > > 22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected
> > > org.apache.isis.core.runtime.services.memento.MementoServiceDefaul
> > > t@ 6c dd377c into SimpleObjectsFixturesService@2f65e5ba[]
> > > 22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected
> > > org.apache.isis.core.metamodel.services.bookmarks.BookmarkServiceD
> > > ef
> > > au
> > > lt@4acd2ea5 into SimpleObjectsFixturesService@2f65e5ba[]
> > > 22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected
> > > org.apache.isis.applib.services.classdiscovery.ClassDiscoveryServi
> > > ce
> > > Us
> > > ingReflections@64b17900 into SimpleObjectsFixturesService@2f65e5ba[]
> > > 22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected
> > > org.apache.isis.core.metamodel.services.container.DomainObjectCont
> > > ai
> > > ne
> > > rDefault@397c8a21 into SimpleObjectsFixturesService@2f65e5ba[]
> > > 22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected
> > > org.apache.isis.core.metamodel.services.bookmarks.BookmarkServiceD
> > > ef
> > > au
> > > lt@4acd2ea5 into BookmarkHolderActionContributions@3f7f22a5[]
> > > 22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected
> > > org.apache.isis.core.metamodel.services.container.DomainObjectCont
> > > ai
> > > ne
> > > rDefault@397c8a21 into
> > > ClassDiscoveryServiceUsingReflections@64b17900[]
> > > 22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected
> > > org.apache.isis.core.wrapper.WrapperFactoryDefault@33bb9f34 into
> > > BookmarkServiceDefault@4acd2ea5[]
> > > 22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected
> > > org.apache.isis.core.wrapper.WrapperFactoryDefault@33bb9f34 into
> > > DomainObjectContainerDefault@397c8a21[]
> > > 22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected
> > > org.apache.isis.core.metamodel.services.bookmarks.BookmarkServiceD
> > > ef
> > > au
> > > lt@4acd2ea5 into BackgroundServiceDefault@4898c8f9[]
> > > 22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected
> > > org.apache.isis.core.runtime.services.ServiceInstantiator$2@26b278
> > > ab into BackgroundServiceDefault@4898c8f9[]
> > > 22:52:14,042  [ObjectSpecificationAbstract main       DEBUG]
> > Superclass
> > > java.lang.Object
> > > 22:52:14,152  [ObjectSpecificationAbstract main       DEBUG]
> > Superclass
> > > java.lang.Object
> > > 22:52:14,167  [IsisWicketApplication main       ERROR]  Failed to
> > > initialize
> > > com.google.inject.ProvisionException: Guice provision errors:
> > >
> > > 1) Error in custom provider, java.lang.NullPointerException
> > >   at
> > >
> > org.apache.isis.core.runtime.runner.IsisInjectModule.provideIsisSyst
> > em
> > (IsisInjectModule.java:132)
> > >   at
> > >
> > org.apache.isis.core.runtime.runner.IsisInjectModule.provideIsisSyst
> > em
> > (IsisInjectModule.java:132)
> > >   while locating org.apache.isis.core.runtime.system.IsisSystem
> > >     for field at
> > >
> > org.apache.isis.viewer.wicket.viewer.IsisWicketApplication.system(Is
> > is
> > WicketApplication.java:138)
> > >   while locating webapp.SimpleApplication
> > >
> > > 1 error
> > >        at
> > >
> > com.google.inject.internal.Errors.throwProvisionExceptionIfErrorsExi
> > st
> > (Errors.java:451)
> > >        at
> > >
> > com.google.inject.internal.MembersInjectorImpl.injectMembers(Members
> > In
> > jectorImpl.java:65)
> > >        at
> > >
> > com.google.inject.internal.InjectorImpl.injectMembers(InjectorImpl.j
> > av
> > a:944)
> > >        at
> > >
> > org.apache.isis.viewer.wicket.viewer.IsisWicketApplication.init(Isis
> > Wi
> > cketApplication.java:248)
> > >        at webapp.SimpleApplication.init(SimpleApplication.java:81)
> > >        at
> > > org.apache.wicket.Application.initApplication(Application.java:823)
> > >        at
> > >
> org.apache.wicket.protocol.http.WicketFilter.init(WicketFilter.java:42
> 4)
> > >        at
> > >
> org.apache.wicket.protocol.http.WicketFilter.init(WicketFilter.java:35
> 1)
> > >        at
> > > org.mortbay.jetty.servlet.FilterHolder.doStart(FilterHolder.java:97)
> > >        at
> > >
> org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:5
> 0)
> > >        at
> > >
> > org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.j
> > av
> > a:713)
> > >        at
> > org.mortbay.jetty.servlet.Context.startContext(Context.java:140)
> > >        at
> > >
> > org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.ja
> > va
> > :1282)
> > >        at
> > >
> org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:5
> 18)
> > >        at
> > > org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:499)
> > >        at
> > >
> > org.mortbay.jetty.plugin.Jetty6PluginWebAppContext.doStart(Jetty6Plu
> > gi
> > nWebAppContext.java:115)
> > >        at
> > >
> org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:5
> 0)
> > >        at
> > >
> > org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.
> > java:152)
> > >        at
> > >
> > org.mortbay.jetty.handler.ContextHandlerCollection.doStart(ContextHa
> > nd
> > lerCollection.java:156)
> > >        at
> > >
> org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:5
> 0)
> > >        at
> > >
> > org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.
> > java:152)
> > >        at
> > >
> org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:5
> 0)
> > >        at
> > >
> org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:1
> 30)
> > >        at org.mortbay.jetty.Server.doStart(Server.java:224)
> > >        at
> > >
> org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:5
> 0)
> > >        at
> > >
> > org.mortbay.jetty.plugin.Jetty6PluginServer.start(Jetty6PluginServer
> > .j
> > ava:132)
> > >        at
> > >
> > org.mortbay.jetty.plugin.AbstractJettyMojo.startJetty(AbstractJettyM
> > oj
> > o.java:454)
> > >        at
> > >
> > org.mortbay.jetty.plugin.AbstractJettyMojo.execute(AbstractJettyMojo
> > .j
> > ava:396)
> > >        at
> > >
> > org.mortbay.jetty.plugin.AbstractJettyRunMojo.execute(AbstractJettyR
> > un
> > Mojo.java:210)
> > >        at
> > > org.mortbay.jetty.plugin.Jetty6RunMojo.execute(Jetty6RunMojo.java:184)
> > >        at
> > >
> > org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(Defaul
> > tB
> > uildPluginManager.java:106)
> > >        at
> > >
> > org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.
> > java:208)
> > >        at
> > >
> > org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.
> > java:153)
> > >        at
> > >
> > org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.
> > java:145)
> > >        at
> > >
> > org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProj
> > ec
> > t(LifecycleModuleBuilder.java:84)
> > >        at
> > >
> > org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProj
> > ec
> > t(LifecycleModuleBuilder.java:59)
> > >        at
> > >
> > org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedB
> > ui
> > ld(LifecycleStarter.java:183)
> > >        at
> > >
> > org.apache.maven.lifecycle.internal.LifecycleStarter.execute(Lifecyc
> > le
> > Starter.java:161)
> > >        at
> org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:317)
> > >        at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:152)
> > >        at org.apache.maven.cli.MavenCli.execute(MavenCli.java:555)
> > >        at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:214)
> > >        at org.apache.maven.cli.MavenCli.main(MavenCli.java:158)
> > >        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> > >        at
> > >
> > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl
> > .j
> > ava:57)
> > >        at
> > >
> > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcce
> > ss
> > orImpl.java:43)
> > >        at java.lang.reflect.Method.invoke(Method.java:606)
> > >        at
> > >
> > org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Lau
> > nc
> > her.java:289)
> > >        at
> > >
> > org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.ja
> > va
> > :229)
> > >        at
> > >
> > org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(L
> > au
> > ncher.java:415)
> > >        at
> > >
> org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:3
> 56)
> > >        at org.codehaus.classworlds.Launcher.main(Launcher.java:46)
> > > Caused by: java.lang.NullPointerException
> > >        at
> > >
> > org.apache.isis.core.metamodel.specloader.classsubstitutor.ClassSubs
> > ti
> > tutor.getClass(ClassSubstitutor.java:54)
> > >        at
> > >
> > org.apache.isis.core.metamodel.specloader.classsubstitutor.ClassSubs
> > ti
> > tutor.getClass(ClassSubstitutor.java:55)
> > >        at
> > >
> > org.apache.isis.core.metamodel.specloader.specimpl.dflt.ObjectSpecif
> > ic
> > ationDefault.introspectTypeHierarchyAndMembers(ObjectSpecificationDe
> > fa
> > ult.java:146)
> > >        at
> > >
> > org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.int
> > ro
> > spectIfRequired(ObjectReflectorDefault.java:499)
> > >        at
> > >
> > org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.loa
> > dS
> > pecificationForSubstitutedClass(ObjectReflectorDefault.java:400)
> > >        at
> > >
> > org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.int
> > er
> > nalLoadSpecification(ObjectReflectorDefault.java:378)
> > >        at
> > >
> > org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.loa
> > dS
> > pecifications(ObjectReflectorDefault.java:415)
> > >        at
> > >
> > org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.loa
> > dS
> > pecifications(ObjectReflectorDefault.java:428)
> > >        at
> > >
> > org.apache.isis.core.metamodel.specloader.specimpl.FacetedMethodsBui
> > ld
> > er.representsAction(FacetedMethodsBuilder.java:455)
> > >        at
> > >
> > org.apache.isis.core.metamodel.specloader.specimpl.FacetedMethodsBui
> > ld
> > er.findActionFacetedMethod(FacetedMethodsBuilder.java:404)
> > >        at
> > >
> > org.apache.isis.core.metamodel.specloader.specimpl.FacetedMethodsBui
> > ld
> > er.findActionFacetedMethods(FacetedMethodsBuilder.java:388)
> > >        at
> > >
> > org.apache.isis.core.metamodel.specloader.specimpl.FacetedMethodsBui
> > ld
> > er.findActionFacetedMethods(FacetedMethodsBuilder.java:367)
> > >        at
> > >
> > org.apache.isis.core.metamodel.specloader.specimpl.FacetedMethodsBui
> > ld
> > er.getActionFacetedMethods(FacetedMethodsBuilder.java:343)
> > >        at
> > >
> > org.apache.isis.core.metamodel.specloader.specimpl.dflt.ObjectSpecif
> > ic
> > ationDefault.createActions(ObjectSpecificationDefault.java:222)
> > >        at
> > >
> > org.apache.isis.core.metamodel.specloader.specimpl.dflt.ObjectSpecif
> > ic
> > ationDefault.introspectTypeHierarchyAndMembers(ObjectSpecificationDe
> > fa
> > ult.java:167)
> > >        at
> > >
> > org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.int
> > ro
> > spectIfRequired(ObjectReflectorDefault.java:499)
> > >        at
> > >
> > org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.loa
> > dS
> > pecificationForSubstitutedClass(ObjectReflectorDefault.java:400)
> > >        at
> > >
> > org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.int
> > er
> > nalLoadSpecification(ObjectReflectorDefault.java:378)
> > >        at
> > >
> > org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.pri
> > me
> > Cache(ObjectReflectorDefault.java:269)
> > >        at
> > >
> > org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.ini
> > tA
> > ndValidate(ObjectReflectorDefault.java:244)
> > >        at
> > >
> > org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.ini
> > t(
> > ObjectReflectorDefault.java:205)
> > >        at
> > >
> > org.apache.isis.core.runtime.system.session.IsisSessionFactoryDefault.
> > init(IsisSessionFactoryDefault.java:192)
> > >        at
> > >
> > org.apache.isis.core.runtime.system.IsisSystemFixturesHookAbstract.i
> > ni
> > t(IsisSystemFixturesHookAbstract.java:120)
> > >        at
> > >
> > org.apache.isis.core.runtime.runner.IsisInjectModule.provideIsisSyst
> > em
> > (IsisInjectModule.java:133)
> > >        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> > >        at
> > >
> > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl
> > .j
> > ava:57)
> > >        at
> > >
> > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcce
> > ss
> > orImpl.java:43)
> > >        at java.lang.reflect.Method.invoke(Method.java:606)
> > >        at
> > > com.google.inject.internal.ProviderMethod.get(ProviderMethod.java:104)
> > >        at
> > >
> > com.google.inject.internal.InternalFactoryToProviderAdapter.get(Inte
> > rn
> > alFactoryToProviderAdapter.java:40)
> > >        at
> > >
> > com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(P
> > ro
> > viderToInternalFactoryAdapter.java:46)
> > >        at
> > >
> > com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.j
> > av
> > a:1031)
> > >        at
> > >
> > com.google.inject.internal.ProviderToInternalFactoryAdapter.get(Prov
> > id
> > erToInternalFactoryAdapter.java:40)
> > >        at com.google.inject.Scopes$1$1.get(Scopes.java:65)
> > >        at
> > >
> > com.google.inject.internal.InternalFactoryToProviderAdapter.get(Inte
> > rn
> > alFactoryToProviderAdapter.java:40)
> > >        at
> > >
> > com.google.inject.internal.SingleFieldInjector.inject(SingleFieldInj
> > ec
> > tor.java:53)
> > >        at
> > >
> > com.google.inject.internal.MembersInjectorImpl.injectMembers(Members
> > In
> > jectorImpl.java:110)
> > >        at
> > >
> > com.google.inject.internal.MembersInjectorImpl$1.call(MembersInjecto
> > rI
> > mpl.java:75)
> > >        at
> > >
> > com.google.inject.internal.MembersInjectorImpl$1.call(MembersInjecto
> > rI
> > mpl.java:73)
> > >        at
> > >
> > com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.j
> > av
> > a:1024)
> > >        at
> > >
> > com.google.inject.internal.MembersInjectorImpl.injectAndNotify(Membe
> > rs
> > InjectorImpl.java:73)
> > >        at
> > >
> > com.google.inject.internal.MembersInjectorImpl.injectMembers(Members
> > In
> > jectorImpl.java:60)
> > >        ... 50 more
> > > 22:52:14,167  [WicketFilter         main       ERROR]  The
> initialization
> > > of an application with name 'WicketFilter' has failed.
> > > com.google.inject.ProvisionException: Guice provision errors:
> > >
> > >
> > >
> > > ________________________________
> > >
> > > This e-mail may contain Sprint proprietary information intended
> > > for the sole use of the recipient(s). Any use by others is prohibited.
> > > If you are not the intended recipient, please contact the sender
> > > and delete all copies of the message.
> > >
> > > ________________________________
> > >
> > > This e-mail may contain Sprint proprietary information intended
> > > for the sole use of the recipient(s). Any use by others is prohibited.
> > > If you are not the intended recipient, please contact the sender
> > > and delete all copies of the message.
> > >
> >
> > ________________________________
> >
> > This e-mail may contain Sprint proprietary information intended for
> > the sole use of the recipient(s). Any use by others is prohibited.
> > If you are not the intended recipient, please contact the sender and
> > delete all copies of the message.
> >
>
> ________________________________
>
> This e-mail may contain Sprint proprietary information intended for
> the sole use of the recipient(s). Any use by others is prohibited. If
> you are not the intended recipient, please contact the sender and
> delete all copies of the message.
>

________________________________

This e-mail may contain Sprint proprietary information intended for the sole use of the recipient(s). Any use by others is prohibited. If you are not the intended recipient, please contact the sender and delete all copies of the message.

________________________________

This e-mail may contain Sprint proprietary information intended for the sole use of the recipient(s). Any use by others is prohibited. If you are not the intended recipient, please contact the sender and delete all copies of the message.

________________________________

This e-mail may contain Sprint proprietary information intended for the sole use of the recipient(s). Any use by others is prohibited. If you are not the intended recipient, please contact the sender and delete all copies of the message.

RE: Working on a branch with latest datanucleus

Posted by "Branham, Jeremy [HR]" <Je...@sprint.com>.
I've added the factories to the ' IsisConfigurationForJdoIntegTests' and adjusted the DataNucleus properties to match 4.x

I can see the tables are getting created but there is a cast exception.
I won't flood the email distribution again until I'm stuck for a few hours. =]
Looks like it's pretty close now.


Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0.031 sec <<< FAILURE! - in integration.tests.ToDoItemsIntegTest$NewToDo_and_Delete
happyCase(integration.tests.ToDoItemsIntegTest$NewToDo_and_Delete)  Time elapsed: 0.031 sec  <<< ERROR!
java.lang.ClassCastException: dom.todo.ToDoItem cannot be cast to javax.jdo.spi.PersistenceCapable


-------------------------
16:35:20,986  [Schema               main       DEBUG]  CREATE TABLE "ToDoItem"
(
    "id" BIGINT GENERATED BY DEFAULT AS IDENTITY,
    "attachment_name" BLOB NULL,
    "category" NVARCHAR(255) NOT NULL,
    "complete" BOOLEAN NOT NULL,
    "cost" DECIMAL(19,2) NULL,
    "description" NVARCHAR(100) NOT NULL,
    "doc_name" BLOB NULL,
    "dueBy" DATE NULL,
    "notes" NVARCHAR(400) NULL,
    "ownedBy" NVARCHAR(255) NOT NULL,
    "subcategory" NVARCHAR(255) NULL,
    "version" BIGINT NOT NULL,
    CONSTRAINT "ToDoItem_PK" PRIMARY KEY ("id")
)
16:35:20,986  [Schema               main       DEBUG]  Execution Time = 0 ms
16:35:21,002  [Schema               main       DEBUG]  Check of existence of "ToDoItemDependencies" returned no table
16:35:21,002  [Schema               main       DEBUG]  Creating table "ToDoItemDependencies"
16:35:21,002  [Schema               main       DEBUG]  CREATE TABLE "ToDoItemDependencies"
(
    "dependingId" BIGINT NOT NULL,
    "dependentId" BIGINT NOT NULL,
    CONSTRAINT "ToDoItemDependencies_PK" PRIMARY KEY ("dependingId","dependentId")
)






Jeremy D. Branham
Tel: **DOTNET


-----Original Message-----
From: Branham, Jeremy [HR]
Sent: Monday, December 29, 2014 3:31 PM
To: users@isis.apache.org
Subject: RE: Working on a branch with latest datanucleus

Forgot to mention -
I updated the 'JDOStateManagerForIsis' to use Persistable instead of PersistanceCapable.

public class JDOStateManagerForIsis extends ReferentialStateManagerImpl { ...
}


Jeremy D. Branham
Tel: **DOTNET


-----Original Message-----
From: Branham, Jeremy [HR]
Sent: Monday, December 29, 2014 3:26 PM
To: users@isis.apache.org
Subject: RE: Working on a branch with latest datanucleus

Thanks, that has got me started.
For now I am just working with the RDMS capable statemanager, and will focus on the Neo4j compatibility later.

I've added two ' AbstractRemoveMethodsFacetFactory'

[Finds 25 methods]
    public RemoveDatanucleusPersistableTypesFacetFactory() {
        super("org.datanucleus.enhancer.Persistable");
    }

And

[org.apache.isis.core.commons.factory.UnavailableClassException: The default type 'javax.jdo.spi.Persistable' cannot be found]
    public RemoveJdoPersistableEnhancementTypesFacetFactory() {
        super("javax.jdo.spi.Persistable");
    }



In the 'FacetedMethodsBuilder# getActionFacetedMethods' I do see this - [It looks like it is stripping off the dn methods, does this look right?]

associationFacetMethodsCollections$UnmodifiableRandomAccessList<E>  (id=289) [PROPERTY Peer [identifier="dom.simple.SimpleObject#name()",type=java.lang.String ]]

introspectedClassClass<T> (dom.simple.SimpleObject) (id=291) class dom.simple.SimpleObject

methodsArrays$ArrayList<E>  (id=293)
[null, null, null, null, public static java.lang.Class dom.simple.SimpleObject.___jdo$loadClass(java.lang.String), null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null]


Is it ok that the 'SimpleObject.___jdo$loadClass' method is listed there?



Although, this exception is getting thrown now -

                // assert is persistent
                if(!pojo.jdoIsPersistent()) {
                    throw new IllegalStateException("Pojo JDO state is not persistent! pojo dnOid: " + JDOHelper.getObjectId(pojo));
                }


Is there still something wrong with the method filtering? Or is this a different issue?



Jeremy D. Branham
Tel: **DOTNET


-----Original Message-----
From: Dan Haywood [mailto:dan@haywood-associates.co.uk]
Sent: Monday, December 29, 2014 11:33 AM
To: users
Subject: Re: Working on a branch with latest datanucleus

Hi Jeremy,

Having not looked at DN 4.x at all yet, can't specfically advise; have a few general thoughts though.

Just to recap on stuff that you probably know/have figured out...

* With respect to javax.jdo.spi.PersistenceCapable vs javax.jdo.spi.Persistable, in DN 3.x I know the enhancer makes all enhanced objects implement the javax.jdo.spi.PersistenceCapable interface.  Looking at the javax.jdo.spi.Persistable interface for DN 3.x it seems like its a placeholder, with a comment "Note that this is not yet used by DataNucleus, but is intended as something for the future."

* My guess for DN 4.x is that Andy Jefferson (maintainer of DN) has now made this change, and generalized things to work with javax.jdo.spi.Persistable instead of, or perhaps as well as, PersistenceCapable.  (This might explain the new dnReplaceFields(...) methods rather than jdoReplaceFields(...) methods that you saw before).

* I can tell you that JDOStateManagerForIsis is kinda important, as its the point where we tell Isis about the objects that are brought into memory by DN, to map them and inject services into them.  So you will need to find some sort of implementation of it.

~~~
From its name, I'm guessing that ReferentialJDOStateManager is for RDBMS stores, whereas of course you are using Neo4J instead.  So you probably need to inherit from AbstractStateManager or something else higher up in the inheritance hierarchy.

In terms of getting Isis to work with your own improved version of JdoStateManagerForIsis, it looks like the implementation is specified in
DataNucleusPersistenceMechanismInstaller#addDataNucleusPropertiesIfRequired(...)
 ... so you can probably just add your impl to isis.properties.

Also, I notice that there's a thread-local in JdoStateManagerForIsis that is referenced by EventBusServiceJdo, but that could easily be moved out into some other class.

~~
If none of the above helps, you might want to try posting a question on the DN forum [1], though I know that Andy does also answer DN questions on SO also.  The question will need to be framed in terms of DN rather than Isis though.

If you get nowhere, I can ping Andy also (so long as I'm clear about what I'm asking, which I'm not quite, at the moment).

HTH
Dan


[1] http://www.datanucleus.org/support.html



On 29 December 2014 at 16:52, Branham, Jeremy [HR] < Jeremy.D.Branham@sprint.com> wrote:

> I thought I was being clever changing over to 'Persitable' in the
> 'JDOStateManagerForIsis', but I get errors about the 'SimpleObject'
> not being persistable at runtime.
>
> ---------------
>
> I have a question about the ReferentialJDOStateManager in DataNucleus.
> The JDOStateManager extended this class in DN 3.x but it is not
> present in DN 4.x
>
> Affected class in Isis -
> public class JDOStateManagerForIsis extends ReferentialJDOStateManager
> implements StateManager, ObjectProvider
>
> I do see this class -
> org.datanucleus.state.ReferentialStateManagerImpl
>
> I thought this might be the appropriate replacement, but if I extend
> ReferentialStateManagerImpl, there are problems...
>
> The problem I encounter when extending the new class -
> ReferentialStateManagerImpl extends StateManagerImpl. Which extends
> AbstractStateManager<Persistable>
>
> The current JDOStateManagerForIsis is setup to handle
> PersistenceCapable objects rather than Persistable objects.
>
> I'm not sure where to go from here.
>
> Also posted on SO -
>
> http://stackoverflow.com/questions/27692754/is-referentialjdostatemana
> ger-not-used-in-datanucleus-4-x
>
>
>
>
> Jeremy D. Branham
> Tel: **DOTNET
>
>
> -----Original Message-----
> From: Dan Haywood [mailto:dan@haywood-associates.co.uk]
> Sent: Friday, December 26, 2014 1:42 AM
> To: users
> Subject: Re: Working on a branch with latest datanucleus
>
> With Isis we have:
>
>
>
> org.apache.isis.core.metamodel.facets.object.ignore.jdo.RemoveJdoEnhan
> cementTypesFacetFactory
>
> that ensures that Isis ignores all the methods in the
> javax,jdo.spi.PersistenceCapable interface.  That interface defines a
> bunch of methods called jdoReplaceFields(int[]) and so on.
>
> My guess is that with DN 4.0 that this has changed so that there is a
> similar DN-specific interface that the enhancer makes the
> persistence-capable objects implement.
>
> Have a go at writing a similar facet factory and register it in
> isis.properties using the "isis.reflector.facets.include" property,
> see [1]... If it works we can incorporate into Isis proper for a future version.
>
> Let us know how you get on.
>
> Dan
>
>
> [1]
>
> http://isis.apache.org/more-advanced-topics/metamodel-finetuning-the-p
> rogramming-model.html
>
>
> On 25 December 2014 at 00:43, Branham, Jeremy [HR] <
> Jeremy.D.Branham@sprint.com> wrote:
>
> > Thanks for checking Dan.
> > I solved that particular issue, but I'm not sure it's a valid solution.
> >
> > Changed -
> >
> > https://github.com/jdbranham/isis/blob/DN_404/core/metamodel/src/mai
> > n/
> > java/org/apache/isis/core/metamodel/specloader/classsubstitutor/Clas
> > sS
> > ubstitutor.java#L53-L55
> >
> >
> > New Issue I'm working on -
> >
> > Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed:
> > 0.197 sec <<< FAILURE! - in
> > integration.tests.ToDoItemIntegTest$Properties$Description
> > integration.tests.ToDoItemIntegTest$Properties$Description  Time elapsed:
> > 0.197 sec  <<< ERROR!
> > java.lang.RuntimeException:
> > org.apache.isis.core.commons.exceptions.UnknownTypeException:
> > collections not supported as parameters:
> > dom.todo.ToDoItem#dnProvideFields([I)
> > at
> > org.apache.isis.core.integtestsupport.IsisSystemForTest.setUpSystem(
> > Is
> > isSystemForTest.java:314)
> >
> >
> > Jeremy D. Branham
> > Tel: **DOTNET
> >
> >
> > -----Original Message-----
> > From: Dan Haywood [mailto:dan@haywood-associates.co.uk]
> > Sent: Wednesday, December 24, 2014 12:05 PM
> > To: users
> > Subject: Re: Working on a branch with latest datanucleus
> >
> > Hi Jeremy,
> >
> > sorry, it's not clear to me if you had an issue but then resolved
> > it, or whether there is still an issue?
> >
> > With respect to moving to DN 4.0, that's certainly the intention,
> > and is a prerequisite for us to support Java8.  Given that Java7
> > support finishes in April 2015, it's clearly something that we need
> > to do be tackling quite soon.
> >
> > Thx
> > Dan
> >
> >
> > On 24 December 2014 at 05:24, Branham, Jeremy [HR] <
> > Jeremy.D.Branham@sprint.com> wrote:
> >
> > > The line numbers didn't match because a different version of the
> > > class was being loaded.
> > > I added a null check that solved the issue, but the code running
> > > hadn't picked up the change yet.
> > >
> > >
> > > Jeremy D. Branham
> > > Tel: **DOTNET
> > >
> > >
> > > -----Original Message-----
> > > From: Branham, Jeremy [HR]
> > > Sent: Tuesday, December 23, 2014 11:04 PM
> > > To: users@isis.apache.org
> > > Subject: Working on a branch with latest datanucleus
> > >
> > > Sorry for the massive stack trace, but I was looking for some
> > > pointers on what might be happing here.
> > > I'm having a bit of difficulty debugging because the line numbers
> > > reported don't seem to match the source files, and even when
> > > stepping through the code. [maybe something wrong in my dev env]
> > >
> > > I'm working on a branch with a newer datanucleus support [4.0.4]
> > > and seems to be an issue with the spec loader.
> > > I understand if there is no support for this yet.
> > >
> > >
> > > 22:52:01,445  [Reflections          main       INFO ]  Reflections took
> > > 421 ms to scan 7 urls, producing 148 keys and 716 values
> > > 22:52:01,523  [ServiceInstantiator  main       DEBUG]  loading class
> for
> > > service: dom.simple.SimpleObjects
> > > 22:52:01,523  [ServiceInstantiator  main       DEBUG]  loading class
> for
> > > service: fixture.simple.SimpleObjectsFixturesService
> > > 22:52:01,523  [ServiceInstantiator  main       DEBUG]  loading class
> for
> > > service: org.apache.isis.applib.annotation.Bulk$InteractionContext
> > > 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading class
> for
> > > service:
> > >
> > org.apache.isis.applib.services.bookmark.BookmarkHolderActionContrib
> > ut
> > ions
> > > 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading class
> for
> > > service:
> > >
> > org.apache.isis.applib.services.classdiscovery.ClassDiscoveryService
> > Us
> > ingReflections
> > > 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading class
> for
> > > service: org.apache.isis.applib.services.clock.ClockService
> > > 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading class
> for
> > > service: org.apache.isis.applib.services.command.CommandContext
> > > 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading class
> for
> > > service:
> > org.apache.isis.applib.services.queryresultscache.QueryResultsCache
> > > 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading class
> for
> > > service: org.apache.isis.applib.services.scratchpad.Scratchpad
> > > 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading class
> for
> > > service:
> > >
> org.apache.isis.core.metamodel.services.bookmarks.BookmarkServiceDefau
> lt
> > > 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading class
> for
> > > service:
> > >
> > org.apache.isis.core.metamodel.services.container.DomainObjectContai
> > ne
> > rDefault
> > > 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading class
> for
> > > service:
> > >
> org.apache.isis.core.runtime.services.background.BackgroundServiceDefa
> ult
> > > 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading class
> for
> > > service:
> > org.apache.isis.core.runtime.services.memento.MementoServiceDefault
> > > 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading class
> for
> > > service:
> > >
> > org.apache.isis.core.runtime.services.xmlsnapshot.XmlSnapshotService
> > De
> > fault
> > > 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading class
> for
> > > service: org.apache.isis.core.wrapper.WrapperFactoryDefault
> > > 22:52:01,587  [ServiceInstantiator  main       DEBUG]  loading class
> for
> > > service:
> > >
> > org.apache.isis.objectstore.jdo.applib.service.exceprecog.ExceptionR
> > ec
> > ognizerCompositeForJdoObjectStore
> > > 22:52:01,618  [ServiceInstantiator  main       DEBUG]  loading class
> for
> > > service:
> > >
> > org.apache.isis.objectstore.jdo.datanucleus.service.eventbus.EventBu
> > sS
> > erviceJdo
> > > 22:52:01,618  [ServiceInstantiator  main       DEBUG]  loading class
> for
> > > service:
> > >
> > org.apache.isis.objectstore.jdo.datanucleus.service.support.IsisJdoS
> > up
> > portImpl
> > > 22:52:01,618  [ServiceInstantiator  main       DEBUG]  loading class
> for
> > > service:
> > >
> > org.apache.isis.viewer.restfulobjects.rendering.service.Representati
> > on
> > ServiceForRestfulObjects
> > > 22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected
> > > org.apache.isis.core.metamodel.services.container.DomainObjectCont
> > > ai
> > > ne
> > > rDefault@397c8a21
> > > into SimpleObjects@529d935d[]
> > > 22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected
> > > org.apache.isis.core.runtime.services.memento.MementoServiceDefaul
> > > t@ 6c dd377c into SimpleObjectsFixturesService@2f65e5ba[]
> > > 22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected
> > > org.apache.isis.core.metamodel.services.bookmarks.BookmarkServiceD
> > > ef
> > > au
> > > lt@4acd2ea5 into SimpleObjectsFixturesService@2f65e5ba[]
> > > 22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected
> > > org.apache.isis.applib.services.classdiscovery.ClassDiscoveryServi
> > > ce
> > > Us
> > > ingReflections@64b17900 into SimpleObjectsFixturesService@2f65e5ba[]
> > > 22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected
> > > org.apache.isis.core.metamodel.services.container.DomainObjectCont
> > > ai
> > > ne
> > > rDefault@397c8a21 into SimpleObjectsFixturesService@2f65e5ba[]
> > > 22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected
> > > org.apache.isis.core.metamodel.services.bookmarks.BookmarkServiceD
> > > ef
> > > au
> > > lt@4acd2ea5 into BookmarkHolderActionContributions@3f7f22a5[]
> > > 22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected
> > > org.apache.isis.core.metamodel.services.container.DomainObjectCont
> > > ai
> > > ne
> > > rDefault@397c8a21 into
> > > ClassDiscoveryServiceUsingReflections@64b17900[]
> > > 22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected
> > > org.apache.isis.core.wrapper.WrapperFactoryDefault@33bb9f34 into
> > > BookmarkServiceDefault@4acd2ea5[]
> > > 22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected
> > > org.apache.isis.core.wrapper.WrapperFactoryDefault@33bb9f34 into
> > > DomainObjectContainerDefault@397c8a21[]
> > > 22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected
> > > org.apache.isis.core.metamodel.services.bookmarks.BookmarkServiceD
> > > ef
> > > au
> > > lt@4acd2ea5 into BackgroundServiceDefault@4898c8f9[]
> > > 22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected
> > > org.apache.isis.core.runtime.services.ServiceInstantiator$2@26b278
> > > ab into BackgroundServiceDefault@4898c8f9[]
> > > 22:52:01,727  [ObjectReflectorDefault main       DEBUG]  initialising
> > >
> org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault@1e614
> 4db
> > > 22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected
> > > org.apache.isis.core.metamodel.services.container.DomainObjectCont
> > > ai
> > > ne
> > > rDefault@397c8a21
> > > into SimpleObjects@529d935d[]
> > > 22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected
> > > org.apache.isis.core.runtime.services.memento.MementoServiceDefaul
> > > t@ 6c dd377c into SimpleObjectsFixturesService@2f65e5ba[]
> > > 22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected
> > > org.apache.isis.core.metamodel.services.bookmarks.BookmarkServiceD
> > > ef
> > > au
> > > lt@4acd2ea5 into SimpleObjectsFixturesService@2f65e5ba[]
> > > 22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected
> > > org.apache.isis.applib.services.classdiscovery.ClassDiscoveryServi
> > > ce
> > > Us
> > > ingReflections@64b17900 into SimpleObjectsFixturesService@2f65e5ba[]
> > > 22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected
> > > org.apache.isis.core.metamodel.services.container.DomainObjectCont
> > > ai
> > > ne
> > > rDefault@397c8a21 into SimpleObjectsFixturesService@2f65e5ba[]
> > > 22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected
> > > org.apache.isis.core.metamodel.services.bookmarks.BookmarkServiceD
> > > ef
> > > au
> > > lt@4acd2ea5 into BookmarkHolderActionContributions@3f7f22a5[]
> > > 22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected
> > > org.apache.isis.core.metamodel.services.container.DomainObjectCont
> > > ai
> > > ne
> > > rDefault@397c8a21 into
> > > ClassDiscoveryServiceUsingReflections@64b17900[]
> > > 22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected
> > > org.apache.isis.core.wrapper.WrapperFactoryDefault@33bb9f34 into
> > > BookmarkServiceDefault@4acd2ea5[]
> > > 22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected
> > > org.apache.isis.core.wrapper.WrapperFactoryDefault@33bb9f34 into
> > > DomainObjectContainerDefault@397c8a21[]
> > > 22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected
> > > org.apache.isis.core.metamodel.services.bookmarks.BookmarkServiceD
> > > ef
> > > au
> > > lt@4acd2ea5 into BackgroundServiceDefault@4898c8f9[]
> > > 22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected
> > > org.apache.isis.core.runtime.services.ServiceInstantiator$2@26b278
> > > ab into BackgroundServiceDefault@4898c8f9[]
> > > 22:52:14,042  [ObjectSpecificationAbstract main       DEBUG]
> > Superclass
> > > java.lang.Object
> > > 22:52:14,152  [ObjectSpecificationAbstract main       DEBUG]
> > Superclass
> > > java.lang.Object
> > > 22:52:14,167  [IsisWicketApplication main       ERROR]  Failed to
> > > initialize
> > > com.google.inject.ProvisionException: Guice provision errors:
> > >
> > > 1) Error in custom provider, java.lang.NullPointerException
> > >   at
> > >
> > org.apache.isis.core.runtime.runner.IsisInjectModule.provideIsisSyst
> > em
> > (IsisInjectModule.java:132)
> > >   at
> > >
> > org.apache.isis.core.runtime.runner.IsisInjectModule.provideIsisSyst
> > em
> > (IsisInjectModule.java:132)
> > >   while locating org.apache.isis.core.runtime.system.IsisSystem
> > >     for field at
> > >
> > org.apache.isis.viewer.wicket.viewer.IsisWicketApplication.system(Is
> > is
> > WicketApplication.java:138)
> > >   while locating webapp.SimpleApplication
> > >
> > > 1 error
> > >        at
> > >
> > com.google.inject.internal.Errors.throwProvisionExceptionIfErrorsExi
> > st
> > (Errors.java:451)
> > >        at
> > >
> > com.google.inject.internal.MembersInjectorImpl.injectMembers(Members
> > In
> > jectorImpl.java:65)
> > >        at
> > >
> > com.google.inject.internal.InjectorImpl.injectMembers(InjectorImpl.j
> > av
> > a:944)
> > >        at
> > >
> > org.apache.isis.viewer.wicket.viewer.IsisWicketApplication.init(Isis
> > Wi
> > cketApplication.java:248)
> > >        at webapp.SimpleApplication.init(SimpleApplication.java:81)
> > >        at
> > > org.apache.wicket.Application.initApplication(Application.java:823)
> > >        at
> > >
> org.apache.wicket.protocol.http.WicketFilter.init(WicketFilter.java:42
> 4)
> > >        at
> > >
> org.apache.wicket.protocol.http.WicketFilter.init(WicketFilter.java:35
> 1)
> > >        at
> > > org.mortbay.jetty.servlet.FilterHolder.doStart(FilterHolder.java:97)
> > >        at
> > >
> org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:5
> 0)
> > >        at
> > >
> > org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.j
> > av
> > a:713)
> > >        at
> > org.mortbay.jetty.servlet.Context.startContext(Context.java:140)
> > >        at
> > >
> > org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.ja
> > va
> > :1282)
> > >        at
> > >
> org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:5
> 18)
> > >        at
> > > org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:499)
> > >        at
> > >
> > org.mortbay.jetty.plugin.Jetty6PluginWebAppContext.doStart(Jetty6Plu
> > gi
> > nWebAppContext.java:115)
> > >        at
> > >
> org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:5
> 0)
> > >        at
> > >
> > org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.
> > java:152)
> > >        at
> > >
> > org.mortbay.jetty.handler.ContextHandlerCollection.doStart(ContextHa
> > nd
> > lerCollection.java:156)
> > >        at
> > >
> org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:5
> 0)
> > >        at
> > >
> > org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.
> > java:152)
> > >        at
> > >
> org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:5
> 0)
> > >        at
> > >
> org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:1
> 30)
> > >        at org.mortbay.jetty.Server.doStart(Server.java:224)
> > >        at
> > >
> org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:5
> 0)
> > >        at
> > >
> > org.mortbay.jetty.plugin.Jetty6PluginServer.start(Jetty6PluginServer
> > .j
> > ava:132)
> > >        at
> > >
> > org.mortbay.jetty.plugin.AbstractJettyMojo.startJetty(AbstractJettyM
> > oj
> > o.java:454)
> > >        at
> > >
> > org.mortbay.jetty.plugin.AbstractJettyMojo.execute(AbstractJettyMojo
> > .j
> > ava:396)
> > >        at
> > >
> > org.mortbay.jetty.plugin.AbstractJettyRunMojo.execute(AbstractJettyR
> > un
> > Mojo.java:210)
> > >        at
> > > org.mortbay.jetty.plugin.Jetty6RunMojo.execute(Jetty6RunMojo.java:184)
> > >        at
> > >
> > org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(Defaul
> > tB
> > uildPluginManager.java:106)
> > >        at
> > >
> > org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.
> > java:208)
> > >        at
> > >
> > org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.
> > java:153)
> > >        at
> > >
> > org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.
> > java:145)
> > >        at
> > >
> > org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProj
> > ec
> > t(LifecycleModuleBuilder.java:84)
> > >        at
> > >
> > org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProj
> > ec
> > t(LifecycleModuleBuilder.java:59)
> > >        at
> > >
> > org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedB
> > ui
> > ld(LifecycleStarter.java:183)
> > >        at
> > >
> > org.apache.maven.lifecycle.internal.LifecycleStarter.execute(Lifecyc
> > le
> > Starter.java:161)
> > >        at
> org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:317)
> > >        at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:152)
> > >        at org.apache.maven.cli.MavenCli.execute(MavenCli.java:555)
> > >        at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:214)
> > >        at org.apache.maven.cli.MavenCli.main(MavenCli.java:158)
> > >        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> > >        at
> > >
> > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl
> > .j
> > ava:57)
> > >        at
> > >
> > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcce
> > ss
> > orImpl.java:43)
> > >        at java.lang.reflect.Method.invoke(Method.java:606)
> > >        at
> > >
> > org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Lau
> > nc
> > her.java:289)
> > >        at
> > >
> > org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.ja
> > va
> > :229)
> > >        at
> > >
> > org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(L
> > au
> > ncher.java:415)
> > >        at
> > >
> org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:3
> 56)
> > >        at org.codehaus.classworlds.Launcher.main(Launcher.java:46)
> > > Caused by: java.lang.NullPointerException
> > >        at
> > >
> > org.apache.isis.core.metamodel.specloader.classsubstitutor.ClassSubs
> > ti
> > tutor.getClass(ClassSubstitutor.java:54)
> > >        at
> > >
> > org.apache.isis.core.metamodel.specloader.classsubstitutor.ClassSubs
> > ti
> > tutor.getClass(ClassSubstitutor.java:55)
> > >        at
> > >
> > org.apache.isis.core.metamodel.specloader.specimpl.dflt.ObjectSpecif
> > ic
> > ationDefault.introspectTypeHierarchyAndMembers(ObjectSpecificationDe
> > fa
> > ult.java:146)
> > >        at
> > >
> > org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.int
> > ro
> > spectIfRequired(ObjectReflectorDefault.java:499)
> > >        at
> > >
> > org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.loa
> > dS
> > pecificationForSubstitutedClass(ObjectReflectorDefault.java:400)
> > >        at
> > >
> > org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.int
> > er
> > nalLoadSpecification(ObjectReflectorDefault.java:378)
> > >        at
> > >
> > org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.loa
> > dS
> > pecifications(ObjectReflectorDefault.java:415)
> > >        at
> > >
> > org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.loa
> > dS
> > pecifications(ObjectReflectorDefault.java:428)
> > >        at
> > >
> > org.apache.isis.core.metamodel.specloader.specimpl.FacetedMethodsBui
> > ld
> > er.representsAction(FacetedMethodsBuilder.java:455)
> > >        at
> > >
> > org.apache.isis.core.metamodel.specloader.specimpl.FacetedMethodsBui
> > ld
> > er.findActionFacetedMethod(FacetedMethodsBuilder.java:404)
> > >        at
> > >
> > org.apache.isis.core.metamodel.specloader.specimpl.FacetedMethodsBui
> > ld
> > er.findActionFacetedMethods(FacetedMethodsBuilder.java:388)
> > >        at
> > >
> > org.apache.isis.core.metamodel.specloader.specimpl.FacetedMethodsBui
> > ld
> > er.findActionFacetedMethods(FacetedMethodsBuilder.java:367)
> > >        at
> > >
> > org.apache.isis.core.metamodel.specloader.specimpl.FacetedMethodsBui
> > ld
> > er.getActionFacetedMethods(FacetedMethodsBuilder.java:343)
> > >        at
> > >
> > org.apache.isis.core.metamodel.specloader.specimpl.dflt.ObjectSpecif
> > ic
> > ationDefault.createActions(ObjectSpecificationDefault.java:222)
> > >        at
> > >
> > org.apache.isis.core.metamodel.specloader.specimpl.dflt.ObjectSpecif
> > ic
> > ationDefault.introspectTypeHierarchyAndMembers(ObjectSpecificationDe
> > fa
> > ult.java:167)
> > >        at
> > >
> > org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.int
> > ro
> > spectIfRequired(ObjectReflectorDefault.java:499)
> > >        at
> > >
> > org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.loa
> > dS
> > pecificationForSubstitutedClass(ObjectReflectorDefault.java:400)
> > >        at
> > >
> > org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.int
> > er
> > nalLoadSpecification(ObjectReflectorDefault.java:378)
> > >        at
> > >
> > org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.pri
> > me
> > Cache(ObjectReflectorDefault.java:269)
> > >        at
> > >
> > org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.ini
> > tA
> > ndValidate(ObjectReflectorDefault.java:244)
> > >        at
> > >
> > org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.ini
> > t(
> > ObjectReflectorDefault.java:205)
> > >        at
> > >
> > org.apache.isis.core.runtime.system.session.IsisSessionFactoryDefault.
> > init(IsisSessionFactoryDefault.java:192)
> > >        at
> > >
> > org.apache.isis.core.runtime.system.IsisSystemFixturesHookAbstract.i
> > ni
> > t(IsisSystemFixturesHookAbstract.java:120)
> > >        at
> > >
> > org.apache.isis.core.runtime.runner.IsisInjectModule.provideIsisSyst
> > em
> > (IsisInjectModule.java:133)
> > >        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> > >        at
> > >
> > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl
> > .j
> > ava:57)
> > >        at
> > >
> > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcce
> > ss
> > orImpl.java:43)
> > >        at java.lang.reflect.Method.invoke(Method.java:606)
> > >        at
> > > com.google.inject.internal.ProviderMethod.get(ProviderMethod.java:104)
> > >        at
> > >
> > com.google.inject.internal.InternalFactoryToProviderAdapter.get(Inte
> > rn
> > alFactoryToProviderAdapter.java:40)
> > >        at
> > >
> > com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(P
> > ro
> > viderToInternalFactoryAdapter.java:46)
> > >        at
> > >
> > com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.j
> > av
> > a:1031)
> > >        at
> > >
> > com.google.inject.internal.ProviderToInternalFactoryAdapter.get(Prov
> > id
> > erToInternalFactoryAdapter.java:40)
> > >        at com.google.inject.Scopes$1$1.get(Scopes.java:65)
> > >        at
> > >
> > com.google.inject.internal.InternalFactoryToProviderAdapter.get(Inte
> > rn
> > alFactoryToProviderAdapter.java:40)
> > >        at
> > >
> > com.google.inject.internal.SingleFieldInjector.inject(SingleFieldInj
> > ec
> > tor.java:53)
> > >        at
> > >
> > com.google.inject.internal.MembersInjectorImpl.injectMembers(Members
> > In
> > jectorImpl.java:110)
> > >        at
> > >
> > com.google.inject.internal.MembersInjectorImpl$1.call(MembersInjecto
> > rI
> > mpl.java:75)
> > >        at
> > >
> > com.google.inject.internal.MembersInjectorImpl$1.call(MembersInjecto
> > rI
> > mpl.java:73)
> > >        at
> > >
> > com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.j
> > av
> > a:1024)
> > >        at
> > >
> > com.google.inject.internal.MembersInjectorImpl.injectAndNotify(Membe
> > rs
> > InjectorImpl.java:73)
> > >        at
> > >
> > com.google.inject.internal.MembersInjectorImpl.injectMembers(Members
> > In
> > jectorImpl.java:60)
> > >        ... 50 more
> > > 22:52:14,167  [WicketFilter         main       ERROR]  The
> initialization
> > > of an application with name 'WicketFilter' has failed.
> > > com.google.inject.ProvisionException: Guice provision errors:
> > >
> > >
> > >
> > > ________________________________
> > >
> > > This e-mail may contain Sprint proprietary information intended
> > > for the sole use of the recipient(s). Any use by others is prohibited.
> > > If you are not the intended recipient, please contact the sender
> > > and delete all copies of the message.
> > >
> > > ________________________________
> > >
> > > This e-mail may contain Sprint proprietary information intended
> > > for the sole use of the recipient(s). Any use by others is prohibited.
> > > If you are not the intended recipient, please contact the sender
> > > and delete all copies of the message.
> > >
> >
> > ________________________________
> >
> > This e-mail may contain Sprint proprietary information intended for
> > the sole use of the recipient(s). Any use by others is prohibited.
> > If you are not the intended recipient, please contact the sender and
> > delete all copies of the message.
> >
>
> ________________________________
>
> This e-mail may contain Sprint proprietary information intended for
> the sole use of the recipient(s). Any use by others is prohibited. If
> you are not the intended recipient, please contact the sender and
> delete all copies of the message.
>

________________________________

This e-mail may contain Sprint proprietary information intended for the sole use of the recipient(s). Any use by others is prohibited. If you are not the intended recipient, please contact the sender and delete all copies of the message.

________________________________

This e-mail may contain Sprint proprietary information intended for the sole use of the recipient(s). Any use by others is prohibited. If you are not the intended recipient, please contact the sender and delete all copies of the message.

________________________________

This e-mail may contain Sprint proprietary information intended for the sole use of the recipient(s). Any use by others is prohibited. If you are not the intended recipient, please contact the sender and delete all copies of the message.

RE: Working on a branch with latest datanucleus

Posted by "Branham, Jeremy [HR]" <Je...@sprint.com>.
Forgot to mention -
I updated the 'JDOStateManagerForIsis' to use Persistable instead of PersistanceCapable.

public class JDOStateManagerForIsis extends ReferentialStateManagerImpl {
...
}


Jeremy D. Branham
Tel: **DOTNET


-----Original Message-----
From: Branham, Jeremy [HR]
Sent: Monday, December 29, 2014 3:26 PM
To: users@isis.apache.org
Subject: RE: Working on a branch with latest datanucleus

Thanks, that has got me started.
For now I am just working with the RDMS capable statemanager, and will focus on the Neo4j compatibility later.

I've added two ' AbstractRemoveMethodsFacetFactory'

[Finds 25 methods]
    public RemoveDatanucleusPersistableTypesFacetFactory() {
        super("org.datanucleus.enhancer.Persistable");
    }

And

[org.apache.isis.core.commons.factory.UnavailableClassException: The default type 'javax.jdo.spi.Persistable' cannot be found]
    public RemoveJdoPersistableEnhancementTypesFacetFactory() {
        super("javax.jdo.spi.Persistable");
    }



In the 'FacetedMethodsBuilder# getActionFacetedMethods' I do see this - [It looks like it is stripping off the dn methods, does this look right?]

associationFacetMethodsCollections$UnmodifiableRandomAccessList<E>  (id=289) [PROPERTY Peer [identifier="dom.simple.SimpleObject#name()",type=java.lang.String ]]

introspectedClassClass<T> (dom.simple.SimpleObject) (id=291) class dom.simple.SimpleObject

methodsArrays$ArrayList<E>  (id=293)
[null, null, null, null, public static java.lang.Class dom.simple.SimpleObject.___jdo$loadClass(java.lang.String), null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null]


Is it ok that the 'SimpleObject.___jdo$loadClass' method is listed there?



Although, this exception is getting thrown now -

                // assert is persistent
                if(!pojo.jdoIsPersistent()) {
                    throw new IllegalStateException("Pojo JDO state is not persistent! pojo dnOid: " + JDOHelper.getObjectId(pojo));
                }


Is there still something wrong with the method filtering? Or is this a different issue?



Jeremy D. Branham
Tel: **DOTNET


-----Original Message-----
From: Dan Haywood [mailto:dan@haywood-associates.co.uk]
Sent: Monday, December 29, 2014 11:33 AM
To: users
Subject: Re: Working on a branch with latest datanucleus

Hi Jeremy,

Having not looked at DN 4.x at all yet, can't specfically advise; have a few general thoughts though.

Just to recap on stuff that you probably know/have figured out...

* With respect to javax.jdo.spi.PersistenceCapable vs javax.jdo.spi.Persistable, in DN 3.x I know the enhancer makes all enhanced objects implement the javax.jdo.spi.PersistenceCapable interface.  Looking at the javax.jdo.spi.Persistable interface for DN 3.x it seems like its a placeholder, with a comment "Note that this is not yet used by DataNucleus, but is intended as something for the future."

* My guess for DN 4.x is that Andy Jefferson (maintainer of DN) has now made this change, and generalized things to work with javax.jdo.spi.Persistable instead of, or perhaps as well as, PersistenceCapable.  (This might explain the new dnReplaceFields(...) methods rather than jdoReplaceFields(...) methods that you saw before).

* I can tell you that JDOStateManagerForIsis is kinda important, as its the point where we tell Isis about the objects that are brought into memory by DN, to map them and inject services into them.  So you will need to find some sort of implementation of it.

~~~
From its name, I'm guessing that ReferentialJDOStateManager is for RDBMS stores, whereas of course you are using Neo4J instead.  So you probably need to inherit from AbstractStateManager or something else higher up in the inheritance hierarchy.

In terms of getting Isis to work with your own improved version of JdoStateManagerForIsis, it looks like the implementation is specified in
DataNucleusPersistenceMechanismInstaller#addDataNucleusPropertiesIfRequired(...)
 ... so you can probably just add your impl to isis.properties.

Also, I notice that there's a thread-local in JdoStateManagerForIsis that is referenced by EventBusServiceJdo, but that could easily be moved out into some other class.

~~
If none of the above helps, you might want to try posting a question on the DN forum [1], though I know that Andy does also answer DN questions on SO also.  The question will need to be framed in terms of DN rather than Isis though.

If you get nowhere, I can ping Andy also (so long as I'm clear about what I'm asking, which I'm not quite, at the moment).

HTH
Dan


[1] http://www.datanucleus.org/support.html



On 29 December 2014 at 16:52, Branham, Jeremy [HR] < Jeremy.D.Branham@sprint.com> wrote:

> I thought I was being clever changing over to 'Persitable' in the
> 'JDOStateManagerForIsis', but I get errors about the 'SimpleObject'
> not being persistable at runtime.
>
> ---------------
>
> I have a question about the ReferentialJDOStateManager in DataNucleus.
> The JDOStateManager extended this class in DN 3.x but it is not
> present in DN 4.x
>
> Affected class in Isis -
> public class JDOStateManagerForIsis extends ReferentialJDOStateManager
> implements StateManager, ObjectProvider
>
> I do see this class -
> org.datanucleus.state.ReferentialStateManagerImpl
>
> I thought this might be the appropriate replacement, but if I extend
> ReferentialStateManagerImpl, there are problems...
>
> The problem I encounter when extending the new class -
> ReferentialStateManagerImpl extends StateManagerImpl. Which extends
> AbstractStateManager<Persistable>
>
> The current JDOStateManagerForIsis is setup to handle
> PersistenceCapable objects rather than Persistable objects.
>
> I'm not sure where to go from here.
>
> Also posted on SO -
>
> http://stackoverflow.com/questions/27692754/is-referentialjdostatemana
> ger-not-used-in-datanucleus-4-x
>
>
>
>
> Jeremy D. Branham
> Tel: **DOTNET
>
>
> -----Original Message-----
> From: Dan Haywood [mailto:dan@haywood-associates.co.uk]
> Sent: Friday, December 26, 2014 1:42 AM
> To: users
> Subject: Re: Working on a branch with latest datanucleus
>
> With Isis we have:
>
>
>
> org.apache.isis.core.metamodel.facets.object.ignore.jdo.RemoveJdoEnhan
> cementTypesFacetFactory
>
> that ensures that Isis ignores all the methods in the
> javax,jdo.spi.PersistenceCapable interface.  That interface defines a
> bunch of methods called jdoReplaceFields(int[]) and so on.
>
> My guess is that with DN 4.0 that this has changed so that there is a
> similar DN-specific interface that the enhancer makes the
> persistence-capable objects implement.
>
> Have a go at writing a similar facet factory and register it in
> isis.properties using the "isis.reflector.facets.include" property,
> see [1]... If it works we can incorporate into Isis proper for a future version.
>
> Let us know how you get on.
>
> Dan
>
>
> [1]
>
> http://isis.apache.org/more-advanced-topics/metamodel-finetuning-the-p
> rogramming-model.html
>
>
> On 25 December 2014 at 00:43, Branham, Jeremy [HR] <
> Jeremy.D.Branham@sprint.com> wrote:
>
> > Thanks for checking Dan.
> > I solved that particular issue, but I'm not sure it's a valid solution.
> >
> > Changed -
> >
> > https://github.com/jdbranham/isis/blob/DN_404/core/metamodel/src/mai
> > n/
> > java/org/apache/isis/core/metamodel/specloader/classsubstitutor/Clas
> > sS
> > ubstitutor.java#L53-L55
> >
> >
> > New Issue I'm working on -
> >
> > Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed:
> > 0.197 sec <<< FAILURE! - in
> > integration.tests.ToDoItemIntegTest$Properties$Description
> > integration.tests.ToDoItemIntegTest$Properties$Description  Time elapsed:
> > 0.197 sec  <<< ERROR!
> > java.lang.RuntimeException:
> > org.apache.isis.core.commons.exceptions.UnknownTypeException:
> > collections not supported as parameters:
> > dom.todo.ToDoItem#dnProvideFields([I)
> > at
> > org.apache.isis.core.integtestsupport.IsisSystemForTest.setUpSystem(
> > Is
> > isSystemForTest.java:314)
> >
> >
> > Jeremy D. Branham
> > Tel: **DOTNET
> >
> >
> > -----Original Message-----
> > From: Dan Haywood [mailto:dan@haywood-associates.co.uk]
> > Sent: Wednesday, December 24, 2014 12:05 PM
> > To: users
> > Subject: Re: Working on a branch with latest datanucleus
> >
> > Hi Jeremy,
> >
> > sorry, it's not clear to me if you had an issue but then resolved
> > it, or whether there is still an issue?
> >
> > With respect to moving to DN 4.0, that's certainly the intention,
> > and is a prerequisite for us to support Java8.  Given that Java7
> > support finishes in April 2015, it's clearly something that we need
> > to do be tackling quite soon.
> >
> > Thx
> > Dan
> >
> >
> > On 24 December 2014 at 05:24, Branham, Jeremy [HR] <
> > Jeremy.D.Branham@sprint.com> wrote:
> >
> > > The line numbers didn't match because a different version of the
> > > class was being loaded.
> > > I added a null check that solved the issue, but the code running
> > > hadn't picked up the change yet.
> > >
> > >
> > > Jeremy D. Branham
> > > Tel: **DOTNET
> > >
> > >
> > > -----Original Message-----
> > > From: Branham, Jeremy [HR]
> > > Sent: Tuesday, December 23, 2014 11:04 PM
> > > To: users@isis.apache.org
> > > Subject: Working on a branch with latest datanucleus
> > >
> > > Sorry for the massive stack trace, but I was looking for some
> > > pointers on what might be happing here.
> > > I'm having a bit of difficulty debugging because the line numbers
> > > reported don't seem to match the source files, and even when
> > > stepping through the code. [maybe something wrong in my dev env]
> > >
> > > I'm working on a branch with a newer datanucleus support [4.0.4]
> > > and seems to be an issue with the spec loader.
> > > I understand if there is no support for this yet.
> > >
> > >
> > > 22:52:01,445  [Reflections          main       INFO ]  Reflections took
> > > 421 ms to scan 7 urls, producing 148 keys and 716 values
> > > 22:52:01,523  [ServiceInstantiator  main       DEBUG]  loading class
> for
> > > service: dom.simple.SimpleObjects
> > > 22:52:01,523  [ServiceInstantiator  main       DEBUG]  loading class
> for
> > > service: fixture.simple.SimpleObjectsFixturesService
> > > 22:52:01,523  [ServiceInstantiator  main       DEBUG]  loading class
> for
> > > service: org.apache.isis.applib.annotation.Bulk$InteractionContext
> > > 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading class
> for
> > > service:
> > >
> > org.apache.isis.applib.services.bookmark.BookmarkHolderActionContrib
> > ut
> > ions
> > > 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading class
> for
> > > service:
> > >
> > org.apache.isis.applib.services.classdiscovery.ClassDiscoveryService
> > Us
> > ingReflections
> > > 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading class
> for
> > > service: org.apache.isis.applib.services.clock.ClockService
> > > 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading class
> for
> > > service: org.apache.isis.applib.services.command.CommandContext
> > > 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading class
> for
> > > service:
> > org.apache.isis.applib.services.queryresultscache.QueryResultsCache
> > > 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading class
> for
> > > service: org.apache.isis.applib.services.scratchpad.Scratchpad
> > > 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading class
> for
> > > service:
> > >
> org.apache.isis.core.metamodel.services.bookmarks.BookmarkServiceDefau
> lt
> > > 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading class
> for
> > > service:
> > >
> > org.apache.isis.core.metamodel.services.container.DomainObjectContai
> > ne
> > rDefault
> > > 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading class
> for
> > > service:
> > >
> org.apache.isis.core.runtime.services.background.BackgroundServiceDefa
> ult
> > > 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading class
> for
> > > service:
> > org.apache.isis.core.runtime.services.memento.MementoServiceDefault
> > > 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading class
> for
> > > service:
> > >
> > org.apache.isis.core.runtime.services.xmlsnapshot.XmlSnapshotService
> > De
> > fault
> > > 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading class
> for
> > > service: org.apache.isis.core.wrapper.WrapperFactoryDefault
> > > 22:52:01,587  [ServiceInstantiator  main       DEBUG]  loading class
> for
> > > service:
> > >
> > org.apache.isis.objectstore.jdo.applib.service.exceprecog.ExceptionR
> > ec
> > ognizerCompositeForJdoObjectStore
> > > 22:52:01,618  [ServiceInstantiator  main       DEBUG]  loading class
> for
> > > service:
> > >
> > org.apache.isis.objectstore.jdo.datanucleus.service.eventbus.EventBu
> > sS
> > erviceJdo
> > > 22:52:01,618  [ServiceInstantiator  main       DEBUG]  loading class
> for
> > > service:
> > >
> > org.apache.isis.objectstore.jdo.datanucleus.service.support.IsisJdoS
> > up
> > portImpl
> > > 22:52:01,618  [ServiceInstantiator  main       DEBUG]  loading class
> for
> > > service:
> > >
> > org.apache.isis.viewer.restfulobjects.rendering.service.Representati
> > on
> > ServiceForRestfulObjects
> > > 22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected
> > > org.apache.isis.core.metamodel.services.container.DomainObjectCont
> > > ai
> > > ne
> > > rDefault@397c8a21
> > > into SimpleObjects@529d935d[]
> > > 22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected
> > > org.apache.isis.core.runtime.services.memento.MementoServiceDefaul
> > > t@ 6c dd377c into SimpleObjectsFixturesService@2f65e5ba[]
> > > 22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected
> > > org.apache.isis.core.metamodel.services.bookmarks.BookmarkServiceD
> > > ef
> > > au
> > > lt@4acd2ea5 into SimpleObjectsFixturesService@2f65e5ba[]
> > > 22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected
> > > org.apache.isis.applib.services.classdiscovery.ClassDiscoveryServi
> > > ce
> > > Us
> > > ingReflections@64b17900 into SimpleObjectsFixturesService@2f65e5ba[]
> > > 22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected
> > > org.apache.isis.core.metamodel.services.container.DomainObjectCont
> > > ai
> > > ne
> > > rDefault@397c8a21 into SimpleObjectsFixturesService@2f65e5ba[]
> > > 22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected
> > > org.apache.isis.core.metamodel.services.bookmarks.BookmarkServiceD
> > > ef
> > > au
> > > lt@4acd2ea5 into BookmarkHolderActionContributions@3f7f22a5[]
> > > 22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected
> > > org.apache.isis.core.metamodel.services.container.DomainObjectCont
> > > ai
> > > ne
> > > rDefault@397c8a21 into
> > > ClassDiscoveryServiceUsingReflections@64b17900[]
> > > 22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected
> > > org.apache.isis.core.wrapper.WrapperFactoryDefault@33bb9f34 into
> > > BookmarkServiceDefault@4acd2ea5[]
> > > 22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected
> > > org.apache.isis.core.wrapper.WrapperFactoryDefault@33bb9f34 into
> > > DomainObjectContainerDefault@397c8a21[]
> > > 22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected
> > > org.apache.isis.core.metamodel.services.bookmarks.BookmarkServiceD
> > > ef
> > > au
> > > lt@4acd2ea5 into BackgroundServiceDefault@4898c8f9[]
> > > 22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected
> > > org.apache.isis.core.runtime.services.ServiceInstantiator$2@26b278
> > > ab into BackgroundServiceDefault@4898c8f9[]
> > > 22:52:01,727  [ObjectReflectorDefault main       DEBUG]  initialising
> > >
> org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault@1e614
> 4db
> > > 22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected
> > > org.apache.isis.core.metamodel.services.container.DomainObjectCont
> > > ai
> > > ne
> > > rDefault@397c8a21
> > > into SimpleObjects@529d935d[]
> > > 22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected
> > > org.apache.isis.core.runtime.services.memento.MementoServiceDefaul
> > > t@ 6c dd377c into SimpleObjectsFixturesService@2f65e5ba[]
> > > 22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected
> > > org.apache.isis.core.metamodel.services.bookmarks.BookmarkServiceD
> > > ef
> > > au
> > > lt@4acd2ea5 into SimpleObjectsFixturesService@2f65e5ba[]
> > > 22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected
> > > org.apache.isis.applib.services.classdiscovery.ClassDiscoveryServi
> > > ce
> > > Us
> > > ingReflections@64b17900 into SimpleObjectsFixturesService@2f65e5ba[]
> > > 22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected
> > > org.apache.isis.core.metamodel.services.container.DomainObjectCont
> > > ai
> > > ne
> > > rDefault@397c8a21 into SimpleObjectsFixturesService@2f65e5ba[]
> > > 22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected
> > > org.apache.isis.core.metamodel.services.bookmarks.BookmarkServiceD
> > > ef
> > > au
> > > lt@4acd2ea5 into BookmarkHolderActionContributions@3f7f22a5[]
> > > 22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected
> > > org.apache.isis.core.metamodel.services.container.DomainObjectCont
> > > ai
> > > ne
> > > rDefault@397c8a21 into
> > > ClassDiscoveryServiceUsingReflections@64b17900[]
> > > 22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected
> > > org.apache.isis.core.wrapper.WrapperFactoryDefault@33bb9f34 into
> > > BookmarkServiceDefault@4acd2ea5[]
> > > 22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected
> > > org.apache.isis.core.wrapper.WrapperFactoryDefault@33bb9f34 into
> > > DomainObjectContainerDefault@397c8a21[]
> > > 22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected
> > > org.apache.isis.core.metamodel.services.bookmarks.BookmarkServiceD
> > > ef
> > > au
> > > lt@4acd2ea5 into BackgroundServiceDefault@4898c8f9[]
> > > 22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected
> > > org.apache.isis.core.runtime.services.ServiceInstantiator$2@26b278
> > > ab into BackgroundServiceDefault@4898c8f9[]
> > > 22:52:14,042  [ObjectSpecificationAbstract main       DEBUG]
> > Superclass
> > > java.lang.Object
> > > 22:52:14,152  [ObjectSpecificationAbstract main       DEBUG]
> > Superclass
> > > java.lang.Object
> > > 22:52:14,167  [IsisWicketApplication main       ERROR]  Failed to
> > > initialize
> > > com.google.inject.ProvisionException: Guice provision errors:
> > >
> > > 1) Error in custom provider, java.lang.NullPointerException
> > >   at
> > >
> > org.apache.isis.core.runtime.runner.IsisInjectModule.provideIsisSyst
> > em
> > (IsisInjectModule.java:132)
> > >   at
> > >
> > org.apache.isis.core.runtime.runner.IsisInjectModule.provideIsisSyst
> > em
> > (IsisInjectModule.java:132)
> > >   while locating org.apache.isis.core.runtime.system.IsisSystem
> > >     for field at
> > >
> > org.apache.isis.viewer.wicket.viewer.IsisWicketApplication.system(Is
> > is
> > WicketApplication.java:138)
> > >   while locating webapp.SimpleApplication
> > >
> > > 1 error
> > >        at
> > >
> > com.google.inject.internal.Errors.throwProvisionExceptionIfErrorsExi
> > st
> > (Errors.java:451)
> > >        at
> > >
> > com.google.inject.internal.MembersInjectorImpl.injectMembers(Members
> > In
> > jectorImpl.java:65)
> > >        at
> > >
> > com.google.inject.internal.InjectorImpl.injectMembers(InjectorImpl.j
> > av
> > a:944)
> > >        at
> > >
> > org.apache.isis.viewer.wicket.viewer.IsisWicketApplication.init(Isis
> > Wi
> > cketApplication.java:248)
> > >        at webapp.SimpleApplication.init(SimpleApplication.java:81)
> > >        at
> > > org.apache.wicket.Application.initApplication(Application.java:823)
> > >        at
> > >
> org.apache.wicket.protocol.http.WicketFilter.init(WicketFilter.java:42
> 4)
> > >        at
> > >
> org.apache.wicket.protocol.http.WicketFilter.init(WicketFilter.java:35
> 1)
> > >        at
> > > org.mortbay.jetty.servlet.FilterHolder.doStart(FilterHolder.java:97)
> > >        at
> > >
> org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:5
> 0)
> > >        at
> > >
> > org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.j
> > av
> > a:713)
> > >        at
> > org.mortbay.jetty.servlet.Context.startContext(Context.java:140)
> > >        at
> > >
> > org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.ja
> > va
> > :1282)
> > >        at
> > >
> org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:5
> 18)
> > >        at
> > > org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:499)
> > >        at
> > >
> > org.mortbay.jetty.plugin.Jetty6PluginWebAppContext.doStart(Jetty6Plu
> > gi
> > nWebAppContext.java:115)
> > >        at
> > >
> org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:5
> 0)
> > >        at
> > >
> > org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.
> > java:152)
> > >        at
> > >
> > org.mortbay.jetty.handler.ContextHandlerCollection.doStart(ContextHa
> > nd
> > lerCollection.java:156)
> > >        at
> > >
> org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:5
> 0)
> > >        at
> > >
> > org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.
> > java:152)
> > >        at
> > >
> org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:5
> 0)
> > >        at
> > >
> org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:1
> 30)
> > >        at org.mortbay.jetty.Server.doStart(Server.java:224)
> > >        at
> > >
> org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:5
> 0)
> > >        at
> > >
> > org.mortbay.jetty.plugin.Jetty6PluginServer.start(Jetty6PluginServer
> > .j
> > ava:132)
> > >        at
> > >
> > org.mortbay.jetty.plugin.AbstractJettyMojo.startJetty(AbstractJettyM
> > oj
> > o.java:454)
> > >        at
> > >
> > org.mortbay.jetty.plugin.AbstractJettyMojo.execute(AbstractJettyMojo
> > .j
> > ava:396)
> > >        at
> > >
> > org.mortbay.jetty.plugin.AbstractJettyRunMojo.execute(AbstractJettyR
> > un
> > Mojo.java:210)
> > >        at
> > > org.mortbay.jetty.plugin.Jetty6RunMojo.execute(Jetty6RunMojo.java:184)
> > >        at
> > >
> > org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(Defaul
> > tB
> > uildPluginManager.java:106)
> > >        at
> > >
> > org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.
> > java:208)
> > >        at
> > >
> > org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.
> > java:153)
> > >        at
> > >
> > org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.
> > java:145)
> > >        at
> > >
> > org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProj
> > ec
> > t(LifecycleModuleBuilder.java:84)
> > >        at
> > >
> > org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProj
> > ec
> > t(LifecycleModuleBuilder.java:59)
> > >        at
> > >
> > org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedB
> > ui
> > ld(LifecycleStarter.java:183)
> > >        at
> > >
> > org.apache.maven.lifecycle.internal.LifecycleStarter.execute(Lifecyc
> > le
> > Starter.java:161)
> > >        at
> org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:317)
> > >        at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:152)
> > >        at org.apache.maven.cli.MavenCli.execute(MavenCli.java:555)
> > >        at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:214)
> > >        at org.apache.maven.cli.MavenCli.main(MavenCli.java:158)
> > >        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> > >        at
> > >
> > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl
> > .j
> > ava:57)
> > >        at
> > >
> > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcce
> > ss
> > orImpl.java:43)
> > >        at java.lang.reflect.Method.invoke(Method.java:606)
> > >        at
> > >
> > org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Lau
> > nc
> > her.java:289)
> > >        at
> > >
> > org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.ja
> > va
> > :229)
> > >        at
> > >
> > org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(L
> > au
> > ncher.java:415)
> > >        at
> > >
> org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:3
> 56)
> > >        at org.codehaus.classworlds.Launcher.main(Launcher.java:46)
> > > Caused by: java.lang.NullPointerException
> > >        at
> > >
> > org.apache.isis.core.metamodel.specloader.classsubstitutor.ClassSubs
> > ti
> > tutor.getClass(ClassSubstitutor.java:54)
> > >        at
> > >
> > org.apache.isis.core.metamodel.specloader.classsubstitutor.ClassSubs
> > ti
> > tutor.getClass(ClassSubstitutor.java:55)
> > >        at
> > >
> > org.apache.isis.core.metamodel.specloader.specimpl.dflt.ObjectSpecif
> > ic
> > ationDefault.introspectTypeHierarchyAndMembers(ObjectSpecificationDe
> > fa
> > ult.java:146)
> > >        at
> > >
> > org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.int
> > ro
> > spectIfRequired(ObjectReflectorDefault.java:499)
> > >        at
> > >
> > org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.loa
> > dS
> > pecificationForSubstitutedClass(ObjectReflectorDefault.java:400)
> > >        at
> > >
> > org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.int
> > er
> > nalLoadSpecification(ObjectReflectorDefault.java:378)
> > >        at
> > >
> > org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.loa
> > dS
> > pecifications(ObjectReflectorDefault.java:415)
> > >        at
> > >
> > org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.loa
> > dS
> > pecifications(ObjectReflectorDefault.java:428)
> > >        at
> > >
> > org.apache.isis.core.metamodel.specloader.specimpl.FacetedMethodsBui
> > ld
> > er.representsAction(FacetedMethodsBuilder.java:455)
> > >        at
> > >
> > org.apache.isis.core.metamodel.specloader.specimpl.FacetedMethodsBui
> > ld
> > er.findActionFacetedMethod(FacetedMethodsBuilder.java:404)
> > >        at
> > >
> > org.apache.isis.core.metamodel.specloader.specimpl.FacetedMethodsBui
> > ld
> > er.findActionFacetedMethods(FacetedMethodsBuilder.java:388)
> > >        at
> > >
> > org.apache.isis.core.metamodel.specloader.specimpl.FacetedMethodsBui
> > ld
> > er.findActionFacetedMethods(FacetedMethodsBuilder.java:367)
> > >        at
> > >
> > org.apache.isis.core.metamodel.specloader.specimpl.FacetedMethodsBui
> > ld
> > er.getActionFacetedMethods(FacetedMethodsBuilder.java:343)
> > >        at
> > >
> > org.apache.isis.core.metamodel.specloader.specimpl.dflt.ObjectSpecif
> > ic
> > ationDefault.createActions(ObjectSpecificationDefault.java:222)
> > >        at
> > >
> > org.apache.isis.core.metamodel.specloader.specimpl.dflt.ObjectSpecif
> > ic
> > ationDefault.introspectTypeHierarchyAndMembers(ObjectSpecificationDe
> > fa
> > ult.java:167)
> > >        at
> > >
> > org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.int
> > ro
> > spectIfRequired(ObjectReflectorDefault.java:499)
> > >        at
> > >
> > org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.loa
> > dS
> > pecificationForSubstitutedClass(ObjectReflectorDefault.java:400)
> > >        at
> > >
> > org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.int
> > er
> > nalLoadSpecification(ObjectReflectorDefault.java:378)
> > >        at
> > >
> > org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.pri
> > me
> > Cache(ObjectReflectorDefault.java:269)
> > >        at
> > >
> > org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.ini
> > tA
> > ndValidate(ObjectReflectorDefault.java:244)
> > >        at
> > >
> > org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.ini
> > t(
> > ObjectReflectorDefault.java:205)
> > >        at
> > >
> > org.apache.isis.core.runtime.system.session.IsisSessionFactoryDefault.
> > init(IsisSessionFactoryDefault.java:192)
> > >        at
> > >
> > org.apache.isis.core.runtime.system.IsisSystemFixturesHookAbstract.i
> > ni
> > t(IsisSystemFixturesHookAbstract.java:120)
> > >        at
> > >
> > org.apache.isis.core.runtime.runner.IsisInjectModule.provideIsisSyst
> > em
> > (IsisInjectModule.java:133)
> > >        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> > >        at
> > >
> > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl
> > .j
> > ava:57)
> > >        at
> > >
> > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcce
> > ss
> > orImpl.java:43)
> > >        at java.lang.reflect.Method.invoke(Method.java:606)
> > >        at
> > > com.google.inject.internal.ProviderMethod.get(ProviderMethod.java:104)
> > >        at
> > >
> > com.google.inject.internal.InternalFactoryToProviderAdapter.get(Inte
> > rn
> > alFactoryToProviderAdapter.java:40)
> > >        at
> > >
> > com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(P
> > ro
> > viderToInternalFactoryAdapter.java:46)
> > >        at
> > >
> > com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.j
> > av
> > a:1031)
> > >        at
> > >
> > com.google.inject.internal.ProviderToInternalFactoryAdapter.get(Prov
> > id
> > erToInternalFactoryAdapter.java:40)
> > >        at com.google.inject.Scopes$1$1.get(Scopes.java:65)
> > >        at
> > >
> > com.google.inject.internal.InternalFactoryToProviderAdapter.get(Inte
> > rn
> > alFactoryToProviderAdapter.java:40)
> > >        at
> > >
> > com.google.inject.internal.SingleFieldInjector.inject(SingleFieldInj
> > ec
> > tor.java:53)
> > >        at
> > >
> > com.google.inject.internal.MembersInjectorImpl.injectMembers(Members
> > In
> > jectorImpl.java:110)
> > >        at
> > >
> > com.google.inject.internal.MembersInjectorImpl$1.call(MembersInjecto
> > rI
> > mpl.java:75)
> > >        at
> > >
> > com.google.inject.internal.MembersInjectorImpl$1.call(MembersInjecto
> > rI
> > mpl.java:73)
> > >        at
> > >
> > com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.j
> > av
> > a:1024)
> > >        at
> > >
> > com.google.inject.internal.MembersInjectorImpl.injectAndNotify(Membe
> > rs
> > InjectorImpl.java:73)
> > >        at
> > >
> > com.google.inject.internal.MembersInjectorImpl.injectMembers(Members
> > In
> > jectorImpl.java:60)
> > >        ... 50 more
> > > 22:52:14,167  [WicketFilter         main       ERROR]  The
> initialization
> > > of an application with name 'WicketFilter' has failed.
> > > com.google.inject.ProvisionException: Guice provision errors:
> > >
> > >
> > >
> > > ________________________________
> > >
> > > This e-mail may contain Sprint proprietary information intended
> > > for the sole use of the recipient(s). Any use by others is prohibited.
> > > If you are not the intended recipient, please contact the sender
> > > and delete all copies of the message.
> > >
> > > ________________________________
> > >
> > > This e-mail may contain Sprint proprietary information intended
> > > for the sole use of the recipient(s). Any use by others is prohibited.
> > > If you are not the intended recipient, please contact the sender
> > > and delete all copies of the message.
> > >
> >
> > ________________________________
> >
> > This e-mail may contain Sprint proprietary information intended for
> > the sole use of the recipient(s). Any use by others is prohibited.
> > If you are not the intended recipient, please contact the sender and
> > delete all copies of the message.
> >
>
> ________________________________
>
> This e-mail may contain Sprint proprietary information intended for
> the sole use of the recipient(s). Any use by others is prohibited. If
> you are not the intended recipient, please contact the sender and
> delete all copies of the message.
>

________________________________

This e-mail may contain Sprint proprietary information intended for the sole use of the recipient(s). Any use by others is prohibited. If you are not the intended recipient, please contact the sender and delete all copies of the message.

________________________________

This e-mail may contain Sprint proprietary information intended for the sole use of the recipient(s). Any use by others is prohibited. If you are not the intended recipient, please contact the sender and delete all copies of the message.

RE: Working on a branch with latest datanucleus

Posted by "Branham, Jeremy [HR]" <Je...@sprint.com>.
Thanks, that has got me started.
For now I am just working with the RDMS capable statemanager, and will focus on the Neo4j compatibility later.

I've added two ' AbstractRemoveMethodsFacetFactory'

[Finds 25 methods]
    public RemoveDatanucleusPersistableTypesFacetFactory() {
        super("org.datanucleus.enhancer.Persistable");
    }

And

[org.apache.isis.core.commons.factory.UnavailableClassException: The default type 'javax.jdo.spi.Persistable' cannot be found]
    public RemoveJdoPersistableEnhancementTypesFacetFactory() {
        super("javax.jdo.spi.Persistable");
    }



In the 'FacetedMethodsBuilder# getActionFacetedMethods' I do see this - [It looks like it is stripping off the dn methods, does this look right?]

associationFacetMethodsCollections$UnmodifiableRandomAccessList<E>  (id=289)
[PROPERTY Peer [identifier="dom.simple.SimpleObject#name()",type=java.lang.String ]]

introspectedClassClass<T> (dom.simple.SimpleObject) (id=291)
class dom.simple.SimpleObject

methodsArrays$ArrayList<E>  (id=293)
[null, null, null, null, public static java.lang.Class dom.simple.SimpleObject.___jdo$loadClass(java.lang.String), null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null]


Is it ok that the 'SimpleObject.___jdo$loadClass' method is listed there?



Although, this exception is getting thrown now -

                // assert is persistent
                if(!pojo.jdoIsPersistent()) {
                    throw new IllegalStateException("Pojo JDO state is not persistent! pojo dnOid: " + JDOHelper.getObjectId(pojo));
                }


Is there still something wrong with the method filtering? Or is this a different issue?



Jeremy D. Branham
Tel: **DOTNET


-----Original Message-----
From: Dan Haywood [mailto:dan@haywood-associates.co.uk]
Sent: Monday, December 29, 2014 11:33 AM
To: users
Subject: Re: Working on a branch with latest datanucleus

Hi Jeremy,

Having not looked at DN 4.x at all yet, can't specfically advise; have a few general thoughts though.

Just to recap on stuff that you probably know/have figured out...

* With respect to javax.jdo.spi.PersistenceCapable vs javax.jdo.spi.Persistable, in DN 3.x I know the enhancer makes all enhanced objects implement the javax.jdo.spi.PersistenceCapable interface.  Looking at the javax.jdo.spi.Persistable interface for DN 3.x it seems like its a placeholder, with a comment "Note that this is not yet used by DataNucleus, but is intended as something for the future."

* My guess for DN 4.x is that Andy Jefferson (maintainer of DN) has now made this change, and generalized things to work with javax.jdo.spi.Persistable instead of, or perhaps as well as, PersistenceCapable.  (This might explain the new dnReplaceFields(...) methods rather than jdoReplaceFields(...) methods that you saw before).

* I can tell you that JDOStateManagerForIsis is kinda important, as its the point where we tell Isis about the objects that are brought into memory by DN, to map them and inject services into them.  So you will need to find some sort of implementation of it.

~~~
From its name, I'm guessing that ReferentialJDOStateManager is for RDBMS stores, whereas of course you are using Neo4J instead.  So you probably need to inherit from AbstractStateManager or something else higher up in the inheritance hierarchy.

In terms of getting Isis to work with your own improved version of JdoStateManagerForIsis, it looks like the implementation is specified in
DataNucleusPersistenceMechanismInstaller#addDataNucleusPropertiesIfRequired(...)
 ... so you can probably just add your impl to isis.properties.

Also, I notice that there's a thread-local in JdoStateManagerForIsis that is referenced by EventBusServiceJdo, but that could easily be moved out into some other class.

~~
If none of the above helps, you might want to try posting a question on the DN forum [1], though I know that Andy does also answer DN questions on SO also.  The question will need to be framed in terms of DN rather than Isis though.

If you get nowhere, I can ping Andy also (so long as I'm clear about what I'm asking, which I'm not quite, at the moment).

HTH
Dan


[1] http://www.datanucleus.org/support.html



On 29 December 2014 at 16:52, Branham, Jeremy [HR] < Jeremy.D.Branham@sprint.com> wrote:

> I thought I was being clever changing over to 'Persitable' in the
> 'JDOStateManagerForIsis', but I get errors about the 'SimpleObject'
> not being persistable at runtime.
>
> ---------------
>
> I have a question about the ReferentialJDOStateManager in DataNucleus.
> The JDOStateManager extended this class in DN 3.x but it is not
> present in DN 4.x
>
> Affected class in Isis -
> public class JDOStateManagerForIsis extends ReferentialJDOStateManager
> implements StateManager, ObjectProvider
>
> I do see this class -
> org.datanucleus.state.ReferentialStateManagerImpl
>
> I thought this might be the appropriate replacement, but if I extend
> ReferentialStateManagerImpl, there are problems...
>
> The problem I encounter when extending the new class -
> ReferentialStateManagerImpl extends StateManagerImpl. Which extends
> AbstractStateManager<Persistable>
>
> The current JDOStateManagerForIsis is setup to handle
> PersistenceCapable objects rather than Persistable objects.
>
> I'm not sure where to go from here.
>
> Also posted on SO -
>
> http://stackoverflow.com/questions/27692754/is-referentialjdostatemana
> ger-not-used-in-datanucleus-4-x
>
>
>
>
> Jeremy D. Branham
> Tel: **DOTNET
>
>
> -----Original Message-----
> From: Dan Haywood [mailto:dan@haywood-associates.co.uk]
> Sent: Friday, December 26, 2014 1:42 AM
> To: users
> Subject: Re: Working on a branch with latest datanucleus
>
> With Isis we have:
>
>
>
> org.apache.isis.core.metamodel.facets.object.ignore.jdo.RemoveJdoEnhan
> cementTypesFacetFactory
>
> that ensures that Isis ignores all the methods in the
> javax,jdo.spi.PersistenceCapable interface.  That interface defines a
> bunch of methods called jdoReplaceFields(int[]) and so on.
>
> My guess is that with DN 4.0 that this has changed so that there is a
> similar DN-specific interface that the enhancer makes the
> persistence-capable objects implement.
>
> Have a go at writing a similar facet factory and register it in
> isis.properties using the "isis.reflector.facets.include" property,
> see [1]... If it works we can incorporate into Isis proper for a future version.
>
> Let us know how you get on.
>
> Dan
>
>
> [1]
>
> http://isis.apache.org/more-advanced-topics/metamodel-finetuning-the-p
> rogramming-model.html
>
>
> On 25 December 2014 at 00:43, Branham, Jeremy [HR] <
> Jeremy.D.Branham@sprint.com> wrote:
>
> > Thanks for checking Dan.
> > I solved that particular issue, but I'm not sure it's a valid solution.
> >
> > Changed -
> >
> > https://github.com/jdbranham/isis/blob/DN_404/core/metamodel/src/mai
> > n/
> > java/org/apache/isis/core/metamodel/specloader/classsubstitutor/Clas
> > sS
> > ubstitutor.java#L53-L55
> >
> >
> > New Issue I'm working on -
> >
> > Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed:
> > 0.197 sec <<< FAILURE! - in
> > integration.tests.ToDoItemIntegTest$Properties$Description
> > integration.tests.ToDoItemIntegTest$Properties$Description  Time elapsed:
> > 0.197 sec  <<< ERROR!
> > java.lang.RuntimeException:
> > org.apache.isis.core.commons.exceptions.UnknownTypeException:
> > collections not supported as parameters:
> > dom.todo.ToDoItem#dnProvideFields([I)
> > at
> > org.apache.isis.core.integtestsupport.IsisSystemForTest.setUpSystem(
> > Is
> > isSystemForTest.java:314)
> >
> >
> > Jeremy D. Branham
> > Tel: **DOTNET
> >
> >
> > -----Original Message-----
> > From: Dan Haywood [mailto:dan@haywood-associates.co.uk]
> > Sent: Wednesday, December 24, 2014 12:05 PM
> > To: users
> > Subject: Re: Working on a branch with latest datanucleus
> >
> > Hi Jeremy,
> >
> > sorry, it's not clear to me if you had an issue but then resolved
> > it, or whether there is still an issue?
> >
> > With respect to moving to DN 4.0, that's certainly the intention,
> > and is a prerequisite for us to support Java8.  Given that Java7
> > support finishes in April 2015, it's clearly something that we need
> > to do be tackling quite soon.
> >
> > Thx
> > Dan
> >
> >
> > On 24 December 2014 at 05:24, Branham, Jeremy [HR] <
> > Jeremy.D.Branham@sprint.com> wrote:
> >
> > > The line numbers didn't match because a different version of the
> > > class was being loaded.
> > > I added a null check that solved the issue, but the code running
> > > hadn't picked up the change yet.
> > >
> > >
> > > Jeremy D. Branham
> > > Tel: **DOTNET
> > >
> > >
> > > -----Original Message-----
> > > From: Branham, Jeremy [HR]
> > > Sent: Tuesday, December 23, 2014 11:04 PM
> > > To: users@isis.apache.org
> > > Subject: Working on a branch with latest datanucleus
> > >
> > > Sorry for the massive stack trace, but I was looking for some
> > > pointers on what might be happing here.
> > > I'm having a bit of difficulty debugging because the line numbers
> > > reported don't seem to match the source files, and even when
> > > stepping through the code. [maybe something wrong in my dev env]
> > >
> > > I'm working on a branch with a newer datanucleus support [4.0.4]
> > > and seems to be an issue with the spec loader.
> > > I understand if there is no support for this yet.
> > >
> > >
> > > 22:52:01,445  [Reflections          main       INFO ]  Reflections took
> > > 421 ms to scan 7 urls, producing 148 keys and 716 values
> > > 22:52:01,523  [ServiceInstantiator  main       DEBUG]  loading class
> for
> > > service: dom.simple.SimpleObjects
> > > 22:52:01,523  [ServiceInstantiator  main       DEBUG]  loading class
> for
> > > service: fixture.simple.SimpleObjectsFixturesService
> > > 22:52:01,523  [ServiceInstantiator  main       DEBUG]  loading class
> for
> > > service: org.apache.isis.applib.annotation.Bulk$InteractionContext
> > > 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading class
> for
> > > service:
> > >
> > org.apache.isis.applib.services.bookmark.BookmarkHolderActionContrib
> > ut
> > ions
> > > 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading class
> for
> > > service:
> > >
> > org.apache.isis.applib.services.classdiscovery.ClassDiscoveryService
> > Us
> > ingReflections
> > > 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading class
> for
> > > service: org.apache.isis.applib.services.clock.ClockService
> > > 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading class
> for
> > > service: org.apache.isis.applib.services.command.CommandContext
> > > 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading class
> for
> > > service:
> > org.apache.isis.applib.services.queryresultscache.QueryResultsCache
> > > 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading class
> for
> > > service: org.apache.isis.applib.services.scratchpad.Scratchpad
> > > 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading class
> for
> > > service:
> > >
> org.apache.isis.core.metamodel.services.bookmarks.BookmarkServiceDefau
> lt
> > > 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading class
> for
> > > service:
> > >
> > org.apache.isis.core.metamodel.services.container.DomainObjectContai
> > ne
> > rDefault
> > > 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading class
> for
> > > service:
> > >
> org.apache.isis.core.runtime.services.background.BackgroundServiceDefa
> ult
> > > 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading class
> for
> > > service:
> > org.apache.isis.core.runtime.services.memento.MementoServiceDefault
> > > 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading class
> for
> > > service:
> > >
> > org.apache.isis.core.runtime.services.xmlsnapshot.XmlSnapshotService
> > De
> > fault
> > > 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading class
> for
> > > service: org.apache.isis.core.wrapper.WrapperFactoryDefault
> > > 22:52:01,587  [ServiceInstantiator  main       DEBUG]  loading class
> for
> > > service:
> > >
> > org.apache.isis.objectstore.jdo.applib.service.exceprecog.ExceptionR
> > ec
> > ognizerCompositeForJdoObjectStore
> > > 22:52:01,618  [ServiceInstantiator  main       DEBUG]  loading class
> for
> > > service:
> > >
> > org.apache.isis.objectstore.jdo.datanucleus.service.eventbus.EventBu
> > sS
> > erviceJdo
> > > 22:52:01,618  [ServiceInstantiator  main       DEBUG]  loading class
> for
> > > service:
> > >
> > org.apache.isis.objectstore.jdo.datanucleus.service.support.IsisJdoS
> > up
> > portImpl
> > > 22:52:01,618  [ServiceInstantiator  main       DEBUG]  loading class
> for
> > > service:
> > >
> > org.apache.isis.viewer.restfulobjects.rendering.service.Representati
> > on
> > ServiceForRestfulObjects
> > > 22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected
> > > org.apache.isis.core.metamodel.services.container.DomainObjectCont
> > > ai
> > > ne
> > > rDefault@397c8a21
> > > into SimpleObjects@529d935d[]
> > > 22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected
> > > org.apache.isis.core.runtime.services.memento.MementoServiceDefaul
> > > t@ 6c dd377c into SimpleObjectsFixturesService@2f65e5ba[]
> > > 22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected
> > > org.apache.isis.core.metamodel.services.bookmarks.BookmarkServiceD
> > > ef
> > > au
> > > lt@4acd2ea5 into SimpleObjectsFixturesService@2f65e5ba[]
> > > 22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected
> > > org.apache.isis.applib.services.classdiscovery.ClassDiscoveryServi
> > > ce
> > > Us
> > > ingReflections@64b17900 into SimpleObjectsFixturesService@2f65e5ba[]
> > > 22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected
> > > org.apache.isis.core.metamodel.services.container.DomainObjectCont
> > > ai
> > > ne
> > > rDefault@397c8a21 into SimpleObjectsFixturesService@2f65e5ba[]
> > > 22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected
> > > org.apache.isis.core.metamodel.services.bookmarks.BookmarkServiceD
> > > ef
> > > au
> > > lt@4acd2ea5 into BookmarkHolderActionContributions@3f7f22a5[]
> > > 22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected
> > > org.apache.isis.core.metamodel.services.container.DomainObjectCont
> > > ai
> > > ne
> > > rDefault@397c8a21 into
> > > ClassDiscoveryServiceUsingReflections@64b17900[]
> > > 22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected
> > > org.apache.isis.core.wrapper.WrapperFactoryDefault@33bb9f34 into
> > > BookmarkServiceDefault@4acd2ea5[]
> > > 22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected
> > > org.apache.isis.core.wrapper.WrapperFactoryDefault@33bb9f34 into
> > > DomainObjectContainerDefault@397c8a21[]
> > > 22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected
> > > org.apache.isis.core.metamodel.services.bookmarks.BookmarkServiceD
> > > ef
> > > au
> > > lt@4acd2ea5 into BackgroundServiceDefault@4898c8f9[]
> > > 22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected
> > > org.apache.isis.core.runtime.services.ServiceInstantiator$2@26b278
> > > ab into BackgroundServiceDefault@4898c8f9[]
> > > 22:52:01,727  [ObjectReflectorDefault main       DEBUG]  initialising
> > >
> org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault@1e614
> 4db
> > > 22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected
> > > org.apache.isis.core.metamodel.services.container.DomainObjectCont
> > > ai
> > > ne
> > > rDefault@397c8a21
> > > into SimpleObjects@529d935d[]
> > > 22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected
> > > org.apache.isis.core.runtime.services.memento.MementoServiceDefaul
> > > t@ 6c dd377c into SimpleObjectsFixturesService@2f65e5ba[]
> > > 22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected
> > > org.apache.isis.core.metamodel.services.bookmarks.BookmarkServiceD
> > > ef
> > > au
> > > lt@4acd2ea5 into SimpleObjectsFixturesService@2f65e5ba[]
> > > 22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected
> > > org.apache.isis.applib.services.classdiscovery.ClassDiscoveryServi
> > > ce
> > > Us
> > > ingReflections@64b17900 into SimpleObjectsFixturesService@2f65e5ba[]
> > > 22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected
> > > org.apache.isis.core.metamodel.services.container.DomainObjectCont
> > > ai
> > > ne
> > > rDefault@397c8a21 into SimpleObjectsFixturesService@2f65e5ba[]
> > > 22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected
> > > org.apache.isis.core.metamodel.services.bookmarks.BookmarkServiceD
> > > ef
> > > au
> > > lt@4acd2ea5 into BookmarkHolderActionContributions@3f7f22a5[]
> > > 22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected
> > > org.apache.isis.core.metamodel.services.container.DomainObjectCont
> > > ai
> > > ne
> > > rDefault@397c8a21 into
> > > ClassDiscoveryServiceUsingReflections@64b17900[]
> > > 22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected
> > > org.apache.isis.core.wrapper.WrapperFactoryDefault@33bb9f34 into
> > > BookmarkServiceDefault@4acd2ea5[]
> > > 22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected
> > > org.apache.isis.core.wrapper.WrapperFactoryDefault@33bb9f34 into
> > > DomainObjectContainerDefault@397c8a21[]
> > > 22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected
> > > org.apache.isis.core.metamodel.services.bookmarks.BookmarkServiceD
> > > ef
> > > au
> > > lt@4acd2ea5 into BackgroundServiceDefault@4898c8f9[]
> > > 22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected
> > > org.apache.isis.core.runtime.services.ServiceInstantiator$2@26b278
> > > ab into BackgroundServiceDefault@4898c8f9[]
> > > 22:52:14,042  [ObjectSpecificationAbstract main       DEBUG]
> > Superclass
> > > java.lang.Object
> > > 22:52:14,152  [ObjectSpecificationAbstract main       DEBUG]
> > Superclass
> > > java.lang.Object
> > > 22:52:14,167  [IsisWicketApplication main       ERROR]  Failed to
> > > initialize
> > > com.google.inject.ProvisionException: Guice provision errors:
> > >
> > > 1) Error in custom provider, java.lang.NullPointerException
> > >   at
> > >
> > org.apache.isis.core.runtime.runner.IsisInjectModule.provideIsisSyst
> > em
> > (IsisInjectModule.java:132)
> > >   at
> > >
> > org.apache.isis.core.runtime.runner.IsisInjectModule.provideIsisSyst
> > em
> > (IsisInjectModule.java:132)
> > >   while locating org.apache.isis.core.runtime.system.IsisSystem
> > >     for field at
> > >
> > org.apache.isis.viewer.wicket.viewer.IsisWicketApplication.system(Is
> > is
> > WicketApplication.java:138)
> > >   while locating webapp.SimpleApplication
> > >
> > > 1 error
> > >        at
> > >
> > com.google.inject.internal.Errors.throwProvisionExceptionIfErrorsExi
> > st
> > (Errors.java:451)
> > >        at
> > >
> > com.google.inject.internal.MembersInjectorImpl.injectMembers(Members
> > In
> > jectorImpl.java:65)
> > >        at
> > >
> > com.google.inject.internal.InjectorImpl.injectMembers(InjectorImpl.j
> > av
> > a:944)
> > >        at
> > >
> > org.apache.isis.viewer.wicket.viewer.IsisWicketApplication.init(Isis
> > Wi
> > cketApplication.java:248)
> > >        at webapp.SimpleApplication.init(SimpleApplication.java:81)
> > >        at
> > > org.apache.wicket.Application.initApplication(Application.java:823)
> > >        at
> > >
> org.apache.wicket.protocol.http.WicketFilter.init(WicketFilter.java:42
> 4)
> > >        at
> > >
> org.apache.wicket.protocol.http.WicketFilter.init(WicketFilter.java:35
> 1)
> > >        at
> > > org.mortbay.jetty.servlet.FilterHolder.doStart(FilterHolder.java:97)
> > >        at
> > >
> org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:5
> 0)
> > >        at
> > >
> > org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.j
> > av
> > a:713)
> > >        at
> > org.mortbay.jetty.servlet.Context.startContext(Context.java:140)
> > >        at
> > >
> > org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.ja
> > va
> > :1282)
> > >        at
> > >
> org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:5
> 18)
> > >        at
> > > org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:499)
> > >        at
> > >
> > org.mortbay.jetty.plugin.Jetty6PluginWebAppContext.doStart(Jetty6Plu
> > gi
> > nWebAppContext.java:115)
> > >        at
> > >
> org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:5
> 0)
> > >        at
> > >
> > org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.
> > java:152)
> > >        at
> > >
> > org.mortbay.jetty.handler.ContextHandlerCollection.doStart(ContextHa
> > nd
> > lerCollection.java:156)
> > >        at
> > >
> org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:5
> 0)
> > >        at
> > >
> > org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.
> > java:152)
> > >        at
> > >
> org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:5
> 0)
> > >        at
> > >
> org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:1
> 30)
> > >        at org.mortbay.jetty.Server.doStart(Server.java:224)
> > >        at
> > >
> org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:5
> 0)
> > >        at
> > >
> > org.mortbay.jetty.plugin.Jetty6PluginServer.start(Jetty6PluginServer
> > .j
> > ava:132)
> > >        at
> > >
> > org.mortbay.jetty.plugin.AbstractJettyMojo.startJetty(AbstractJettyM
> > oj
> > o.java:454)
> > >        at
> > >
> > org.mortbay.jetty.plugin.AbstractJettyMojo.execute(AbstractJettyMojo
> > .j
> > ava:396)
> > >        at
> > >
> > org.mortbay.jetty.plugin.AbstractJettyRunMojo.execute(AbstractJettyR
> > un
> > Mojo.java:210)
> > >        at
> > > org.mortbay.jetty.plugin.Jetty6RunMojo.execute(Jetty6RunMojo.java:184)
> > >        at
> > >
> > org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(Defaul
> > tB
> > uildPluginManager.java:106)
> > >        at
> > >
> > org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.
> > java:208)
> > >        at
> > >
> > org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.
> > java:153)
> > >        at
> > >
> > org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.
> > java:145)
> > >        at
> > >
> > org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProj
> > ec
> > t(LifecycleModuleBuilder.java:84)
> > >        at
> > >
> > org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProj
> > ec
> > t(LifecycleModuleBuilder.java:59)
> > >        at
> > >
> > org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedB
> > ui
> > ld(LifecycleStarter.java:183)
> > >        at
> > >
> > org.apache.maven.lifecycle.internal.LifecycleStarter.execute(Lifecyc
> > le
> > Starter.java:161)
> > >        at
> org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:317)
> > >        at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:152)
> > >        at org.apache.maven.cli.MavenCli.execute(MavenCli.java:555)
> > >        at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:214)
> > >        at org.apache.maven.cli.MavenCli.main(MavenCli.java:158)
> > >        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> > >        at
> > >
> > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl
> > .j
> > ava:57)
> > >        at
> > >
> > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcce
> > ss
> > orImpl.java:43)
> > >        at java.lang.reflect.Method.invoke(Method.java:606)
> > >        at
> > >
> > org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Lau
> > nc
> > her.java:289)
> > >        at
> > >
> > org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.ja
> > va
> > :229)
> > >        at
> > >
> > org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(L
> > au
> > ncher.java:415)
> > >        at
> > >
> org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:3
> 56)
> > >        at org.codehaus.classworlds.Launcher.main(Launcher.java:46)
> > > Caused by: java.lang.NullPointerException
> > >        at
> > >
> > org.apache.isis.core.metamodel.specloader.classsubstitutor.ClassSubs
> > ti
> > tutor.getClass(ClassSubstitutor.java:54)
> > >        at
> > >
> > org.apache.isis.core.metamodel.specloader.classsubstitutor.ClassSubs
> > ti
> > tutor.getClass(ClassSubstitutor.java:55)
> > >        at
> > >
> > org.apache.isis.core.metamodel.specloader.specimpl.dflt.ObjectSpecif
> > ic
> > ationDefault.introspectTypeHierarchyAndMembers(ObjectSpecificationDe
> > fa
> > ult.java:146)
> > >        at
> > >
> > org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.int
> > ro
> > spectIfRequired(ObjectReflectorDefault.java:499)
> > >        at
> > >
> > org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.loa
> > dS
> > pecificationForSubstitutedClass(ObjectReflectorDefault.java:400)
> > >        at
> > >
> > org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.int
> > er
> > nalLoadSpecification(ObjectReflectorDefault.java:378)
> > >        at
> > >
> > org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.loa
> > dS
> > pecifications(ObjectReflectorDefault.java:415)
> > >        at
> > >
> > org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.loa
> > dS
> > pecifications(ObjectReflectorDefault.java:428)
> > >        at
> > >
> > org.apache.isis.core.metamodel.specloader.specimpl.FacetedMethodsBui
> > ld
> > er.representsAction(FacetedMethodsBuilder.java:455)
> > >        at
> > >
> > org.apache.isis.core.metamodel.specloader.specimpl.FacetedMethodsBui
> > ld
> > er.findActionFacetedMethod(FacetedMethodsBuilder.java:404)
> > >        at
> > >
> > org.apache.isis.core.metamodel.specloader.specimpl.FacetedMethodsBui
> > ld
> > er.findActionFacetedMethods(FacetedMethodsBuilder.java:388)
> > >        at
> > >
> > org.apache.isis.core.metamodel.specloader.specimpl.FacetedMethodsBui
> > ld
> > er.findActionFacetedMethods(FacetedMethodsBuilder.java:367)
> > >        at
> > >
> > org.apache.isis.core.metamodel.specloader.specimpl.FacetedMethodsBui
> > ld
> > er.getActionFacetedMethods(FacetedMethodsBuilder.java:343)
> > >        at
> > >
> > org.apache.isis.core.metamodel.specloader.specimpl.dflt.ObjectSpecif
> > ic
> > ationDefault.createActions(ObjectSpecificationDefault.java:222)
> > >        at
> > >
> > org.apache.isis.core.metamodel.specloader.specimpl.dflt.ObjectSpecif
> > ic
> > ationDefault.introspectTypeHierarchyAndMembers(ObjectSpecificationDe
> > fa
> > ult.java:167)
> > >        at
> > >
> > org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.int
> > ro
> > spectIfRequired(ObjectReflectorDefault.java:499)
> > >        at
> > >
> > org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.loa
> > dS
> > pecificationForSubstitutedClass(ObjectReflectorDefault.java:400)
> > >        at
> > >
> > org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.int
> > er
> > nalLoadSpecification(ObjectReflectorDefault.java:378)
> > >        at
> > >
> > org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.pri
> > me
> > Cache(ObjectReflectorDefault.java:269)
> > >        at
> > >
> > org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.ini
> > tA
> > ndValidate(ObjectReflectorDefault.java:244)
> > >        at
> > >
> > org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.ini
> > t(
> > ObjectReflectorDefault.java:205)
> > >        at
> > >
> > org.apache.isis.core.runtime.system.session.IsisSessionFactoryDefault.
> > init(IsisSessionFactoryDefault.java:192)
> > >        at
> > >
> > org.apache.isis.core.runtime.system.IsisSystemFixturesHookAbstract.i
> > ni
> > t(IsisSystemFixturesHookAbstract.java:120)
> > >        at
> > >
> > org.apache.isis.core.runtime.runner.IsisInjectModule.provideIsisSyst
> > em
> > (IsisInjectModule.java:133)
> > >        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> > >        at
> > >
> > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl
> > .j
> > ava:57)
> > >        at
> > >
> > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcce
> > ss
> > orImpl.java:43)
> > >        at java.lang.reflect.Method.invoke(Method.java:606)
> > >        at
> > > com.google.inject.internal.ProviderMethod.get(ProviderMethod.java:104)
> > >        at
> > >
> > com.google.inject.internal.InternalFactoryToProviderAdapter.get(Inte
> > rn
> > alFactoryToProviderAdapter.java:40)
> > >        at
> > >
> > com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(P
> > ro
> > viderToInternalFactoryAdapter.java:46)
> > >        at
> > >
> > com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.j
> > av
> > a:1031)
> > >        at
> > >
> > com.google.inject.internal.ProviderToInternalFactoryAdapter.get(Prov
> > id
> > erToInternalFactoryAdapter.java:40)
> > >        at com.google.inject.Scopes$1$1.get(Scopes.java:65)
> > >        at
> > >
> > com.google.inject.internal.InternalFactoryToProviderAdapter.get(Inte
> > rn
> > alFactoryToProviderAdapter.java:40)
> > >        at
> > >
> > com.google.inject.internal.SingleFieldInjector.inject(SingleFieldInj
> > ec
> > tor.java:53)
> > >        at
> > >
> > com.google.inject.internal.MembersInjectorImpl.injectMembers(Members
> > In
> > jectorImpl.java:110)
> > >        at
> > >
> > com.google.inject.internal.MembersInjectorImpl$1.call(MembersInjecto
> > rI
> > mpl.java:75)
> > >        at
> > >
> > com.google.inject.internal.MembersInjectorImpl$1.call(MembersInjecto
> > rI
> > mpl.java:73)
> > >        at
> > >
> > com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.j
> > av
> > a:1024)
> > >        at
> > >
> > com.google.inject.internal.MembersInjectorImpl.injectAndNotify(Membe
> > rs
> > InjectorImpl.java:73)
> > >        at
> > >
> > com.google.inject.internal.MembersInjectorImpl.injectMembers(Members
> > In
> > jectorImpl.java:60)
> > >        ... 50 more
> > > 22:52:14,167  [WicketFilter         main       ERROR]  The
> initialization
> > > of an application with name 'WicketFilter' has failed.
> > > com.google.inject.ProvisionException: Guice provision errors:
> > >
> > >
> > >
> > > ________________________________
> > >
> > > This e-mail may contain Sprint proprietary information intended
> > > for the sole use of the recipient(s). Any use by others is prohibited.
> > > If you are not the intended recipient, please contact the sender
> > > and delete all copies of the message.
> > >
> > > ________________________________
> > >
> > > This e-mail may contain Sprint proprietary information intended
> > > for the sole use of the recipient(s). Any use by others is prohibited.
> > > If you are not the intended recipient, please contact the sender
> > > and delete all copies of the message.
> > >
> >
> > ________________________________
> >
> > This e-mail may contain Sprint proprietary information intended for
> > the sole use of the recipient(s). Any use by others is prohibited.
> > If you are not the intended recipient, please contact the sender and
> > delete all copies of the message.
> >
>
> ________________________________
>
> This e-mail may contain Sprint proprietary information intended for
> the sole use of the recipient(s). Any use by others is prohibited. If
> you are not the intended recipient, please contact the sender and
> delete all copies of the message.
>

________________________________

This e-mail may contain Sprint proprietary information intended for the sole use of the recipient(s). Any use by others is prohibited. If you are not the intended recipient, please contact the sender and delete all copies of the message.

Re: Working on a branch with latest datanucleus

Posted by Dan Haywood <da...@haywood-associates.co.uk>.
Hi Jeremy,

Having not looked at DN 4.x at all yet, can't specfically advise; have a
few general thoughts though.

Just to recap on stuff that you probably know/have figured out...

* With respect to javax.jdo.spi.PersistenceCapable vs
javax.jdo.spi.Persistable, in DN 3.x I know the enhancer makes all enhanced
objects implement the javax.jdo.spi.PersistenceCapable interface.  Looking
at the javax.jdo.spi.Persistable interface for DN 3.x it seems like its a
placeholder, with a comment "Note that this is not yet used by DataNucleus,
but is intended as something for the future."

* My guess for DN 4.x is that Andy Jefferson (maintainer of DN) has now
made this change, and generalized things to work with
javax.jdo.spi.Persistable instead of, or perhaps as well as,
PersistenceCapable.  (This might explain the new dnReplaceFields(...)
methods rather than jdoReplaceFields(...) methods that you saw before).

* I can tell you that JDOStateManagerForIsis is kinda important, as its the
point where we tell Isis about the objects that are brought into memory by
DN, to map them and inject services into them.  So you will need to find
some sort of implementation of it.

~~~
>From its name, I'm guessing that ReferentialJDOStateManager is for RDBMS
stores, whereas of course you are using Neo4J instead.  So you probably
need to inherit from AbstractStateManager or something else higher up in
the inheritance hierarchy.

In terms of getting Isis to work with your own improved version of
JdoStateManagerForIsis, it looks like the implementation is specified in
DataNucleusPersistenceMechanismInstaller#addDataNucleusPropertiesIfRequired(...)
 ... so you can probably just add your impl to isis.properties.

Also, I notice that there's a thread-local in JdoStateManagerForIsis that
is referenced by EventBusServiceJdo, but that could easily be moved out
into some other class.

~~
If none of the above helps, you might want to try posting a question on the
DN forum [1], though I know that Andy does also answer DN questions on SO
also.  The question will need to be framed in terms of DN rather than Isis
though.

If you get nowhere, I can ping Andy also (so long as I'm clear about what
I'm asking, which I'm not quite, at the moment).

HTH
Dan


[1] http://www.datanucleus.org/support.html



On 29 December 2014 at 16:52, Branham, Jeremy [HR] <
Jeremy.D.Branham@sprint.com> wrote:

> I thought I was being clever changing over to 'Persitable' in the
> 'JDOStateManagerForIsis', but I get errors about the 'SimpleObject' not
> being persistable at runtime.
>
> ---------------
>
> I have a question about the ReferentialJDOStateManager in DataNucleus.
> The JDOStateManager extended this class in DN 3.x but it is not present in
> DN 4.x
>
> Affected class in Isis -
> public class JDOStateManagerForIsis extends ReferentialJDOStateManager
> implements StateManager, ObjectProvider
>
> I do see this class -
> org.datanucleus.state.ReferentialStateManagerImpl
>
> I thought this might be the appropriate replacement, but if I extend
> ReferentialStateManagerImpl, there are problems...
>
> The problem I encounter when extending the new class -
> ReferentialStateManagerImpl extends StateManagerImpl. Which extends
> AbstractStateManager<Persistable>
>
> The current JDOStateManagerForIsis is setup to handle PersistenceCapable
> objects rather than Persistable objects.
>
> I'm not sure where to go from here.
>
> Also posted on SO -
>
> http://stackoverflow.com/questions/27692754/is-referentialjdostatemanager-not-used-in-datanucleus-4-x
>
>
>
>
> Jeremy D. Branham
> Tel: **DOTNET
>
>
> -----Original Message-----
> From: Dan Haywood [mailto:dan@haywood-associates.co.uk]
> Sent: Friday, December 26, 2014 1:42 AM
> To: users
> Subject: Re: Working on a branch with latest datanucleus
>
> With Isis we have:
>
>
>
> org.apache.isis.core.metamodel.facets.object.ignore.jdo.RemoveJdoEnhancementTypesFacetFactory
>
> that ensures that Isis ignores all the methods in the
> javax,jdo.spi.PersistenceCapable interface.  That interface defines a bunch
> of methods called jdoReplaceFields(int[]) and so on.
>
> My guess is that with DN 4.0 that this has changed so that there is a
> similar DN-specific interface that the enhancer makes the
> persistence-capable objects implement.
>
> Have a go at writing a similar facet factory and register it in
> isis.properties using the "isis.reflector.facets.include" property, see
> [1]... If it works we can incorporate into Isis proper for a future version.
>
> Let us know how you get on.
>
> Dan
>
>
> [1]
>
> http://isis.apache.org/more-advanced-topics/metamodel-finetuning-the-programming-model.html
>
>
> On 25 December 2014 at 00:43, Branham, Jeremy [HR] <
> Jeremy.D.Branham@sprint.com> wrote:
>
> > Thanks for checking Dan.
> > I solved that particular issue, but I'm not sure it's a valid solution.
> >
> > Changed -
> >
> > https://github.com/jdbranham/isis/blob/DN_404/core/metamodel/src/main/
> > java/org/apache/isis/core/metamodel/specloader/classsubstitutor/ClassS
> > ubstitutor.java#L53-L55
> >
> >
> > New Issue I'm working on -
> >
> > Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0.197
> > sec <<< FAILURE! - in
> > integration.tests.ToDoItemIntegTest$Properties$Description
> > integration.tests.ToDoItemIntegTest$Properties$Description  Time elapsed:
> > 0.197 sec  <<< ERROR!
> > java.lang.RuntimeException:
> > org.apache.isis.core.commons.exceptions.UnknownTypeException:
> > collections not supported as parameters:
> > dom.todo.ToDoItem#dnProvideFields([I)
> > at
> > org.apache.isis.core.integtestsupport.IsisSystemForTest.setUpSystem(Is
> > isSystemForTest.java:314)
> >
> >
> > Jeremy D. Branham
> > Tel: **DOTNET
> >
> >
> > -----Original Message-----
> > From: Dan Haywood [mailto:dan@haywood-associates.co.uk]
> > Sent: Wednesday, December 24, 2014 12:05 PM
> > To: users
> > Subject: Re: Working on a branch with latest datanucleus
> >
> > Hi Jeremy,
> >
> > sorry, it's not clear to me if you had an issue but then resolved it,
> > or whether there is still an issue?
> >
> > With respect to moving to DN 4.0, that's certainly the intention, and
> > is a prerequisite for us to support Java8.  Given that Java7 support
> > finishes in April 2015, it's clearly something that we need to do be
> > tackling quite soon.
> >
> > Thx
> > Dan
> >
> >
> > On 24 December 2014 at 05:24, Branham, Jeremy [HR] <
> > Jeremy.D.Branham@sprint.com> wrote:
> >
> > > The line numbers didn't match because a different version of the
> > > class was being loaded.
> > > I added a null check that solved the issue, but the code running
> > > hadn't picked up the change yet.
> > >
> > >
> > > Jeremy D. Branham
> > > Tel: **DOTNET
> > >
> > >
> > > -----Original Message-----
> > > From: Branham, Jeremy [HR]
> > > Sent: Tuesday, December 23, 2014 11:04 PM
> > > To: users@isis.apache.org
> > > Subject: Working on a branch with latest datanucleus
> > >
> > > Sorry for the massive stack trace, but I was looking for some
> > > pointers on what might be happing here.
> > > I'm having a bit of difficulty debugging because the line numbers
> > > reported don't seem to match the source files, and even when
> > > stepping through the code. [maybe something wrong in my dev env]
> > >
> > > I'm working on a branch with a newer datanucleus support [4.0.4] and
> > > seems to be an issue with the spec loader.
> > > I understand if there is no support for this yet.
> > >
> > >
> > > 22:52:01,445  [Reflections          main       INFO ]  Reflections took
> > > 421 ms to scan 7 urls, producing 148 keys and 716 values
> > > 22:52:01,523  [ServiceInstantiator  main       DEBUG]  loading class
> for
> > > service: dom.simple.SimpleObjects
> > > 22:52:01,523  [ServiceInstantiator  main       DEBUG]  loading class
> for
> > > service: fixture.simple.SimpleObjectsFixturesService
> > > 22:52:01,523  [ServiceInstantiator  main       DEBUG]  loading class
> for
> > > service: org.apache.isis.applib.annotation.Bulk$InteractionContext
> > > 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading class
> for
> > > service:
> > >
> > org.apache.isis.applib.services.bookmark.BookmarkHolderActionContribut
> > ions
> > > 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading class
> for
> > > service:
> > >
> > org.apache.isis.applib.services.classdiscovery.ClassDiscoveryServiceUs
> > ingReflections
> > > 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading class
> for
> > > service: org.apache.isis.applib.services.clock.ClockService
> > > 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading class
> for
> > > service: org.apache.isis.applib.services.command.CommandContext
> > > 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading class
> for
> > > service:
> > org.apache.isis.applib.services.queryresultscache.QueryResultsCache
> > > 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading class
> for
> > > service: org.apache.isis.applib.services.scratchpad.Scratchpad
> > > 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading class
> for
> > > service:
> > >
> org.apache.isis.core.metamodel.services.bookmarks.BookmarkServiceDefault
> > > 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading class
> for
> > > service:
> > >
> > org.apache.isis.core.metamodel.services.container.DomainObjectContaine
> > rDefault
> > > 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading class
> for
> > > service:
> > >
> org.apache.isis.core.runtime.services.background.BackgroundServiceDefault
> > > 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading class
> for
> > > service:
> > org.apache.isis.core.runtime.services.memento.MementoServiceDefault
> > > 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading class
> for
> > > service:
> > >
> > org.apache.isis.core.runtime.services.xmlsnapshot.XmlSnapshotServiceDe
> > fault
> > > 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading class
> for
> > > service: org.apache.isis.core.wrapper.WrapperFactoryDefault
> > > 22:52:01,587  [ServiceInstantiator  main       DEBUG]  loading class
> for
> > > service:
> > >
> > org.apache.isis.objectstore.jdo.applib.service.exceprecog.ExceptionRec
> > ognizerCompositeForJdoObjectStore
> > > 22:52:01,618  [ServiceInstantiator  main       DEBUG]  loading class
> for
> > > service:
> > >
> > org.apache.isis.objectstore.jdo.datanucleus.service.eventbus.EventBusS
> > erviceJdo
> > > 22:52:01,618  [ServiceInstantiator  main       DEBUG]  loading class
> for
> > > service:
> > >
> > org.apache.isis.objectstore.jdo.datanucleus.service.support.IsisJdoSup
> > portImpl
> > > 22:52:01,618  [ServiceInstantiator  main       DEBUG]  loading class
> for
> > > service:
> > >
> > org.apache.isis.viewer.restfulobjects.rendering.service.Representation
> > ServiceForRestfulObjects
> > > 22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected
> > > org.apache.isis.core.metamodel.services.container.DomainObjectContai
> > > ne
> > > rDefault@397c8a21
> > > into SimpleObjects@529d935d[]
> > > 22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected
> > > org.apache.isis.core.runtime.services.memento.MementoServiceDefault@
> > > 6c dd377c into SimpleObjectsFixturesService@2f65e5ba[]
> > > 22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected
> > > org.apache.isis.core.metamodel.services.bookmarks.BookmarkServiceDef
> > > au
> > > lt@4acd2ea5 into SimpleObjectsFixturesService@2f65e5ba[]
> > > 22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected
> > > org.apache.isis.applib.services.classdiscovery.ClassDiscoveryService
> > > Us
> > > ingReflections@64b17900 into SimpleObjectsFixturesService@2f65e5ba[]
> > > 22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected
> > > org.apache.isis.core.metamodel.services.container.DomainObjectContai
> > > ne
> > > rDefault@397c8a21 into SimpleObjectsFixturesService@2f65e5ba[]
> > > 22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected
> > > org.apache.isis.core.metamodel.services.bookmarks.BookmarkServiceDef
> > > au
> > > lt@4acd2ea5 into BookmarkHolderActionContributions@3f7f22a5[]
> > > 22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected
> > > org.apache.isis.core.metamodel.services.container.DomainObjectContai
> > > ne
> > > rDefault@397c8a21 into
> > > ClassDiscoveryServiceUsingReflections@64b17900[]
> > > 22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected
> > > org.apache.isis.core.wrapper.WrapperFactoryDefault@33bb9f34 into
> > > BookmarkServiceDefault@4acd2ea5[]
> > > 22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected
> > > org.apache.isis.core.wrapper.WrapperFactoryDefault@33bb9f34 into
> > > DomainObjectContainerDefault@397c8a21[]
> > > 22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected
> > > org.apache.isis.core.metamodel.services.bookmarks.BookmarkServiceDef
> > > au
> > > lt@4acd2ea5 into BackgroundServiceDefault@4898c8f9[]
> > > 22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected
> > > org.apache.isis.core.runtime.services.ServiceInstantiator$2@26b278ab
> > > into BackgroundServiceDefault@4898c8f9[]
> > > 22:52:01,727  [ObjectReflectorDefault main       DEBUG]  initialising
> > >
> org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault@1e6144db
> > > 22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected
> > > org.apache.isis.core.metamodel.services.container.DomainObjectContai
> > > ne
> > > rDefault@397c8a21
> > > into SimpleObjects@529d935d[]
> > > 22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected
> > > org.apache.isis.core.runtime.services.memento.MementoServiceDefault@
> > > 6c dd377c into SimpleObjectsFixturesService@2f65e5ba[]
> > > 22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected
> > > org.apache.isis.core.metamodel.services.bookmarks.BookmarkServiceDef
> > > au
> > > lt@4acd2ea5 into SimpleObjectsFixturesService@2f65e5ba[]
> > > 22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected
> > > org.apache.isis.applib.services.classdiscovery.ClassDiscoveryService
> > > Us
> > > ingReflections@64b17900 into SimpleObjectsFixturesService@2f65e5ba[]
> > > 22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected
> > > org.apache.isis.core.metamodel.services.container.DomainObjectContai
> > > ne
> > > rDefault@397c8a21 into SimpleObjectsFixturesService@2f65e5ba[]
> > > 22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected
> > > org.apache.isis.core.metamodel.services.bookmarks.BookmarkServiceDef
> > > au
> > > lt@4acd2ea5 into BookmarkHolderActionContributions@3f7f22a5[]
> > > 22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected
> > > org.apache.isis.core.metamodel.services.container.DomainObjectContai
> > > ne
> > > rDefault@397c8a21 into
> > > ClassDiscoveryServiceUsingReflections@64b17900[]
> > > 22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected
> > > org.apache.isis.core.wrapper.WrapperFactoryDefault@33bb9f34 into
> > > BookmarkServiceDefault@4acd2ea5[]
> > > 22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected
> > > org.apache.isis.core.wrapper.WrapperFactoryDefault@33bb9f34 into
> > > DomainObjectContainerDefault@397c8a21[]
> > > 22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected
> > > org.apache.isis.core.metamodel.services.bookmarks.BookmarkServiceDef
> > > au
> > > lt@4acd2ea5 into BackgroundServiceDefault@4898c8f9[]
> > > 22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected
> > > org.apache.isis.core.runtime.services.ServiceInstantiator$2@26b278ab
> > > into BackgroundServiceDefault@4898c8f9[]
> > > 22:52:14,042  [ObjectSpecificationAbstract main       DEBUG]
> > Superclass
> > > java.lang.Object
> > > 22:52:14,152  [ObjectSpecificationAbstract main       DEBUG]
> > Superclass
> > > java.lang.Object
> > > 22:52:14,167  [IsisWicketApplication main       ERROR]  Failed to
> > > initialize
> > > com.google.inject.ProvisionException: Guice provision errors:
> > >
> > > 1) Error in custom provider, java.lang.NullPointerException
> > >   at
> > >
> > org.apache.isis.core.runtime.runner.IsisInjectModule.provideIsisSystem
> > (IsisInjectModule.java:132)
> > >   at
> > >
> > org.apache.isis.core.runtime.runner.IsisInjectModule.provideIsisSystem
> > (IsisInjectModule.java:132)
> > >   while locating org.apache.isis.core.runtime.system.IsisSystem
> > >     for field at
> > >
> > org.apache.isis.viewer.wicket.viewer.IsisWicketApplication.system(Isis
> > WicketApplication.java:138)
> > >   while locating webapp.SimpleApplication
> > >
> > > 1 error
> > >        at
> > >
> > com.google.inject.internal.Errors.throwProvisionExceptionIfErrorsExist
> > (Errors.java:451)
> > >        at
> > >
> > com.google.inject.internal.MembersInjectorImpl.injectMembers(MembersIn
> > jectorImpl.java:65)
> > >        at
> > >
> > com.google.inject.internal.InjectorImpl.injectMembers(InjectorImpl.jav
> > a:944)
> > >        at
> > >
> > org.apache.isis.viewer.wicket.viewer.IsisWicketApplication.init(IsisWi
> > cketApplication.java:248)
> > >        at webapp.SimpleApplication.init(SimpleApplication.java:81)
> > >        at
> > > org.apache.wicket.Application.initApplication(Application.java:823)
> > >        at
> > >
> org.apache.wicket.protocol.http.WicketFilter.init(WicketFilter.java:424)
> > >        at
> > >
> org.apache.wicket.protocol.http.WicketFilter.init(WicketFilter.java:351)
> > >        at
> > > org.mortbay.jetty.servlet.FilterHolder.doStart(FilterHolder.java:97)
> > >        at
> > >
> org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
> > >        at
> > >
> > org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.jav
> > a:713)
> > >        at
> > org.mortbay.jetty.servlet.Context.startContext(Context.java:140)
> > >        at
> > >
> > org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java
> > :1282)
> > >        at
> > >
> org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:518)
> > >        at
> > > org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:499)
> > >        at
> > >
> > org.mortbay.jetty.plugin.Jetty6PluginWebAppContext.doStart(Jetty6Plugi
> > nWebAppContext.java:115)
> > >        at
> > >
> org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
> > >        at
> > >
> > org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.
> > java:152)
> > >        at
> > >
> > org.mortbay.jetty.handler.ContextHandlerCollection.doStart(ContextHand
> > lerCollection.java:156)
> > >        at
> > >
> org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
> > >        at
> > >
> > org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.
> > java:152)
> > >        at
> > >
> org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
> > >        at
> > >
> org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)
> > >        at org.mortbay.jetty.Server.doStart(Server.java:224)
> > >        at
> > >
> org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
> > >        at
> > >
> > org.mortbay.jetty.plugin.Jetty6PluginServer.start(Jetty6PluginServer.j
> > ava:132)
> > >        at
> > >
> > org.mortbay.jetty.plugin.AbstractJettyMojo.startJetty(AbstractJettyMoj
> > o.java:454)
> > >        at
> > >
> > org.mortbay.jetty.plugin.AbstractJettyMojo.execute(AbstractJettyMojo.j
> > ava:396)
> > >        at
> > >
> > org.mortbay.jetty.plugin.AbstractJettyRunMojo.execute(AbstractJettyRun
> > Mojo.java:210)
> > >        at
> > > org.mortbay.jetty.plugin.Jetty6RunMojo.execute(Jetty6RunMojo.java:184)
> > >        at
> > >
> > org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultB
> > uildPluginManager.java:106)
> > >        at
> > >
> > org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.
> > java:208)
> > >        at
> > >
> > org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.
> > java:153)
> > >        at
> > >
> > org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.
> > java:145)
> > >        at
> > >
> > org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProjec
> > t(LifecycleModuleBuilder.java:84)
> > >        at
> > >
> > org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProjec
> > t(LifecycleModuleBuilder.java:59)
> > >        at
> > >
> > org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBui
> > ld(LifecycleStarter.java:183)
> > >        at
> > >
> > org.apache.maven.lifecycle.internal.LifecycleStarter.execute(Lifecycle
> > Starter.java:161)
> > >        at
> org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:317)
> > >        at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:152)
> > >        at org.apache.maven.cli.MavenCli.execute(MavenCli.java:555)
> > >        at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:214)
> > >        at org.apache.maven.cli.MavenCli.main(MavenCli.java:158)
> > >        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> > >        at
> > >
> > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.j
> > ava:57)
> > >        at
> > >
> > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccess
> > orImpl.java:43)
> > >        at java.lang.reflect.Method.invoke(Method.java:606)
> > >        at
> > >
> > org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launc
> > her.java:289)
> > >        at
> > >
> > org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java
> > :229)
> > >        at
> > >
> > org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Lau
> > ncher.java:415)
> > >        at
> > >
> org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
> > >        at org.codehaus.classworlds.Launcher.main(Launcher.java:46)
> > > Caused by: java.lang.NullPointerException
> > >        at
> > >
> > org.apache.isis.core.metamodel.specloader.classsubstitutor.ClassSubsti
> > tutor.getClass(ClassSubstitutor.java:54)
> > >        at
> > >
> > org.apache.isis.core.metamodel.specloader.classsubstitutor.ClassSubsti
> > tutor.getClass(ClassSubstitutor.java:55)
> > >        at
> > >
> > org.apache.isis.core.metamodel.specloader.specimpl.dflt.ObjectSpecific
> > ationDefault.introspectTypeHierarchyAndMembers(ObjectSpecificationDefa
> > ult.java:146)
> > >        at
> > >
> > org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.intro
> > spectIfRequired(ObjectReflectorDefault.java:499)
> > >        at
> > >
> > org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.loadS
> > pecificationForSubstitutedClass(ObjectReflectorDefault.java:400)
> > >        at
> > >
> > org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.inter
> > nalLoadSpecification(ObjectReflectorDefault.java:378)
> > >        at
> > >
> > org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.loadS
> > pecifications(ObjectReflectorDefault.java:415)
> > >        at
> > >
> > org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.loadS
> > pecifications(ObjectReflectorDefault.java:428)
> > >        at
> > >
> > org.apache.isis.core.metamodel.specloader.specimpl.FacetedMethodsBuild
> > er.representsAction(FacetedMethodsBuilder.java:455)
> > >        at
> > >
> > org.apache.isis.core.metamodel.specloader.specimpl.FacetedMethodsBuild
> > er.findActionFacetedMethod(FacetedMethodsBuilder.java:404)
> > >        at
> > >
> > org.apache.isis.core.metamodel.specloader.specimpl.FacetedMethodsBuild
> > er.findActionFacetedMethods(FacetedMethodsBuilder.java:388)
> > >        at
> > >
> > org.apache.isis.core.metamodel.specloader.specimpl.FacetedMethodsBuild
> > er.findActionFacetedMethods(FacetedMethodsBuilder.java:367)
> > >        at
> > >
> > org.apache.isis.core.metamodel.specloader.specimpl.FacetedMethodsBuild
> > er.getActionFacetedMethods(FacetedMethodsBuilder.java:343)
> > >        at
> > >
> > org.apache.isis.core.metamodel.specloader.specimpl.dflt.ObjectSpecific
> > ationDefault.createActions(ObjectSpecificationDefault.java:222)
> > >        at
> > >
> > org.apache.isis.core.metamodel.specloader.specimpl.dflt.ObjectSpecific
> > ationDefault.introspectTypeHierarchyAndMembers(ObjectSpecificationDefa
> > ult.java:167)
> > >        at
> > >
> > org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.intro
> > spectIfRequired(ObjectReflectorDefault.java:499)
> > >        at
> > >
> > org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.loadS
> > pecificationForSubstitutedClass(ObjectReflectorDefault.java:400)
> > >        at
> > >
> > org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.inter
> > nalLoadSpecification(ObjectReflectorDefault.java:378)
> > >        at
> > >
> > org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.prime
> > Cache(ObjectReflectorDefault.java:269)
> > >        at
> > >
> > org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.initA
> > ndValidate(ObjectReflectorDefault.java:244)
> > >        at
> > >
> > org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.init(
> > ObjectReflectorDefault.java:205)
> > >        at
> > >
> > org.apache.isis.core.runtime.system.session.IsisSessionFactoryDefault.
> > init(IsisSessionFactoryDefault.java:192)
> > >        at
> > >
> > org.apache.isis.core.runtime.system.IsisSystemFixturesHookAbstract.ini
> > t(IsisSystemFixturesHookAbstract.java:120)
> > >        at
> > >
> > org.apache.isis.core.runtime.runner.IsisInjectModule.provideIsisSystem
> > (IsisInjectModule.java:133)
> > >        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> > >        at
> > >
> > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.j
> > ava:57)
> > >        at
> > >
> > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccess
> > orImpl.java:43)
> > >        at java.lang.reflect.Method.invoke(Method.java:606)
> > >        at
> > > com.google.inject.internal.ProviderMethod.get(ProviderMethod.java:104)
> > >        at
> > >
> > com.google.inject.internal.InternalFactoryToProviderAdapter.get(Intern
> > alFactoryToProviderAdapter.java:40)
> > >        at
> > >
> > com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(Pro
> > viderToInternalFactoryAdapter.java:46)
> > >        at
> > >
> > com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.jav
> > a:1031)
> > >        at
> > >
> > com.google.inject.internal.ProviderToInternalFactoryAdapter.get(Provid
> > erToInternalFactoryAdapter.java:40)
> > >        at com.google.inject.Scopes$1$1.get(Scopes.java:65)
> > >        at
> > >
> > com.google.inject.internal.InternalFactoryToProviderAdapter.get(Intern
> > alFactoryToProviderAdapter.java:40)
> > >        at
> > >
> > com.google.inject.internal.SingleFieldInjector.inject(SingleFieldInjec
> > tor.java:53)
> > >        at
> > >
> > com.google.inject.internal.MembersInjectorImpl.injectMembers(MembersIn
> > jectorImpl.java:110)
> > >        at
> > >
> > com.google.inject.internal.MembersInjectorImpl$1.call(MembersInjectorI
> > mpl.java:75)
> > >        at
> > >
> > com.google.inject.internal.MembersInjectorImpl$1.call(MembersInjectorI
> > mpl.java:73)
> > >        at
> > >
> > com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.jav
> > a:1024)
> > >        at
> > >
> > com.google.inject.internal.MembersInjectorImpl.injectAndNotify(Members
> > InjectorImpl.java:73)
> > >        at
> > >
> > com.google.inject.internal.MembersInjectorImpl.injectMembers(MembersIn
> > jectorImpl.java:60)
> > >        ... 50 more
> > > 22:52:14,167  [WicketFilter         main       ERROR]  The
> initialization
> > > of an application with name 'WicketFilter' has failed.
> > > com.google.inject.ProvisionException: Guice provision errors:
> > >
> > >
> > >
> > > ________________________________
> > >
> > > This e-mail may contain Sprint proprietary information intended for
> > > the sole use of the recipient(s). Any use by others is prohibited.
> > > If you are not the intended recipient, please contact the sender and
> > > delete all copies of the message.
> > >
> > > ________________________________
> > >
> > > This e-mail may contain Sprint proprietary information intended for
> > > the sole use of the recipient(s). Any use by others is prohibited.
> > > If you are not the intended recipient, please contact the sender and
> > > delete all copies of the message.
> > >
> >
> > ________________________________
> >
> > This e-mail may contain Sprint proprietary information intended for
> > the sole use of the recipient(s). Any use by others is prohibited. If
> > you are not the intended recipient, please contact the sender and
> > delete all copies of the message.
> >
>
> ________________________________
>
> This e-mail may contain Sprint proprietary information intended for the
> sole use of the recipient(s). Any use by others is prohibited. If you are
> not the intended recipient, please contact the sender and delete all copies
> of the message.
>

RE: Working on a branch with latest datanucleus

Posted by "Branham, Jeremy [HR]" <Je...@sprint.com>.
I thought I was being clever changing over to 'Persitable' in the 'JDOStateManagerForIsis', but I get errors about the 'SimpleObject' not being persistable at runtime.

---------------

I have a question about the ReferentialJDOStateManager in DataNucleus.
The JDOStateManager extended this class in DN 3.x but it is not present in DN 4.x

Affected class in Isis -
public class JDOStateManagerForIsis extends ReferentialJDOStateManager implements StateManager, ObjectProvider

I do see this class -
org.datanucleus.state.ReferentialStateManagerImpl

I thought this might be the appropriate replacement, but if I extend ReferentialStateManagerImpl, there are problems...

The problem I encounter when extending the new class -
ReferentialStateManagerImpl extends StateManagerImpl. Which extends
AbstractStateManager<Persistable>

The current JDOStateManagerForIsis is setup to handle PersistenceCapable objects rather than Persistable objects.

I'm not sure where to go from here.

Also posted on SO -
http://stackoverflow.com/questions/27692754/is-referentialjdostatemanager-not-used-in-datanucleus-4-x




Jeremy D. Branham
Tel: **DOTNET


-----Original Message-----
From: Dan Haywood [mailto:dan@haywood-associates.co.uk]
Sent: Friday, December 26, 2014 1:42 AM
To: users
Subject: Re: Working on a branch with latest datanucleus

With Isis we have:


org.apache.isis.core.metamodel.facets.object.ignore.jdo.RemoveJdoEnhancementTypesFacetFactory

that ensures that Isis ignores all the methods in the javax,jdo.spi.PersistenceCapable interface.  That interface defines a bunch of methods called jdoReplaceFields(int[]) and so on.

My guess is that with DN 4.0 that this has changed so that there is a similar DN-specific interface that the enhancer makes the persistence-capable objects implement.

Have a go at writing a similar facet factory and register it in isis.properties using the "isis.reflector.facets.include" property, see [1]... If it works we can incorporate into Isis proper for a future version.

Let us know how you get on.

Dan


[1]
http://isis.apache.org/more-advanced-topics/metamodel-finetuning-the-programming-model.html


On 25 December 2014 at 00:43, Branham, Jeremy [HR] < Jeremy.D.Branham@sprint.com> wrote:

> Thanks for checking Dan.
> I solved that particular issue, but I'm not sure it's a valid solution.
>
> Changed -
>
> https://github.com/jdbranham/isis/blob/DN_404/core/metamodel/src/main/
> java/org/apache/isis/core/metamodel/specloader/classsubstitutor/ClassS
> ubstitutor.java#L53-L55
>
>
> New Issue I'm working on -
>
> Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0.197
> sec <<< FAILURE! - in
> integration.tests.ToDoItemIntegTest$Properties$Description
> integration.tests.ToDoItemIntegTest$Properties$Description  Time elapsed:
> 0.197 sec  <<< ERROR!
> java.lang.RuntimeException:
> org.apache.isis.core.commons.exceptions.UnknownTypeException:
> collections not supported as parameters:
> dom.todo.ToDoItem#dnProvideFields([I)
> at
> org.apache.isis.core.integtestsupport.IsisSystemForTest.setUpSystem(Is
> isSystemForTest.java:314)
>
>
> Jeremy D. Branham
> Tel: **DOTNET
>
>
> -----Original Message-----
> From: Dan Haywood [mailto:dan@haywood-associates.co.uk]
> Sent: Wednesday, December 24, 2014 12:05 PM
> To: users
> Subject: Re: Working on a branch with latest datanucleus
>
> Hi Jeremy,
>
> sorry, it's not clear to me if you had an issue but then resolved it,
> or whether there is still an issue?
>
> With respect to moving to DN 4.0, that's certainly the intention, and
> is a prerequisite for us to support Java8.  Given that Java7 support
> finishes in April 2015, it's clearly something that we need to do be
> tackling quite soon.
>
> Thx
> Dan
>
>
> On 24 December 2014 at 05:24, Branham, Jeremy [HR] <
> Jeremy.D.Branham@sprint.com> wrote:
>
> > The line numbers didn't match because a different version of the
> > class was being loaded.
> > I added a null check that solved the issue, but the code running
> > hadn't picked up the change yet.
> >
> >
> > Jeremy D. Branham
> > Tel: **DOTNET
> >
> >
> > -----Original Message-----
> > From: Branham, Jeremy [HR]
> > Sent: Tuesday, December 23, 2014 11:04 PM
> > To: users@isis.apache.org
> > Subject: Working on a branch with latest datanucleus
> >
> > Sorry for the massive stack trace, but I was looking for some
> > pointers on what might be happing here.
> > I'm having a bit of difficulty debugging because the line numbers
> > reported don't seem to match the source files, and even when
> > stepping through the code. [maybe something wrong in my dev env]
> >
> > I'm working on a branch with a newer datanucleus support [4.0.4] and
> > seems to be an issue with the spec loader.
> > I understand if there is no support for this yet.
> >
> >
> > 22:52:01,445  [Reflections          main       INFO ]  Reflections took
> > 421 ms to scan 7 urls, producing 148 keys and 716 values
> > 22:52:01,523  [ServiceInstantiator  main       DEBUG]  loading class for
> > service: dom.simple.SimpleObjects
> > 22:52:01,523  [ServiceInstantiator  main       DEBUG]  loading class for
> > service: fixture.simple.SimpleObjectsFixturesService
> > 22:52:01,523  [ServiceInstantiator  main       DEBUG]  loading class for
> > service: org.apache.isis.applib.annotation.Bulk$InteractionContext
> > 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading class for
> > service:
> >
> org.apache.isis.applib.services.bookmark.BookmarkHolderActionContribut
> ions
> > 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading class for
> > service:
> >
> org.apache.isis.applib.services.classdiscovery.ClassDiscoveryServiceUs
> ingReflections
> > 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading class for
> > service: org.apache.isis.applib.services.clock.ClockService
> > 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading class for
> > service: org.apache.isis.applib.services.command.CommandContext
> > 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading class for
> > service:
> org.apache.isis.applib.services.queryresultscache.QueryResultsCache
> > 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading class for
> > service: org.apache.isis.applib.services.scratchpad.Scratchpad
> > 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading class for
> > service:
> > org.apache.isis.core.metamodel.services.bookmarks.BookmarkServiceDefault
> > 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading class for
> > service:
> >
> org.apache.isis.core.metamodel.services.container.DomainObjectContaine
> rDefault
> > 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading class for
> > service:
> > org.apache.isis.core.runtime.services.background.BackgroundServiceDefault
> > 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading class for
> > service:
> org.apache.isis.core.runtime.services.memento.MementoServiceDefault
> > 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading class for
> > service:
> >
> org.apache.isis.core.runtime.services.xmlsnapshot.XmlSnapshotServiceDe
> fault
> > 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading class for
> > service: org.apache.isis.core.wrapper.WrapperFactoryDefault
> > 22:52:01,587  [ServiceInstantiator  main       DEBUG]  loading class for
> > service:
> >
> org.apache.isis.objectstore.jdo.applib.service.exceprecog.ExceptionRec
> ognizerCompositeForJdoObjectStore
> > 22:52:01,618  [ServiceInstantiator  main       DEBUG]  loading class for
> > service:
> >
> org.apache.isis.objectstore.jdo.datanucleus.service.eventbus.EventBusS
> erviceJdo
> > 22:52:01,618  [ServiceInstantiator  main       DEBUG]  loading class for
> > service:
> >
> org.apache.isis.objectstore.jdo.datanucleus.service.support.IsisJdoSup
> portImpl
> > 22:52:01,618  [ServiceInstantiator  main       DEBUG]  loading class for
> > service:
> >
> org.apache.isis.viewer.restfulobjects.rendering.service.Representation
> ServiceForRestfulObjects
> > 22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected
> > org.apache.isis.core.metamodel.services.container.DomainObjectContai
> > ne
> > rDefault@397c8a21
> > into SimpleObjects@529d935d[]
> > 22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected
> > org.apache.isis.core.runtime.services.memento.MementoServiceDefault@
> > 6c dd377c into SimpleObjectsFixturesService@2f65e5ba[]
> > 22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected
> > org.apache.isis.core.metamodel.services.bookmarks.BookmarkServiceDef
> > au
> > lt@4acd2ea5 into SimpleObjectsFixturesService@2f65e5ba[]
> > 22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected
> > org.apache.isis.applib.services.classdiscovery.ClassDiscoveryService
> > Us
> > ingReflections@64b17900 into SimpleObjectsFixturesService@2f65e5ba[]
> > 22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected
> > org.apache.isis.core.metamodel.services.container.DomainObjectContai
> > ne
> > rDefault@397c8a21 into SimpleObjectsFixturesService@2f65e5ba[]
> > 22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected
> > org.apache.isis.core.metamodel.services.bookmarks.BookmarkServiceDef
> > au
> > lt@4acd2ea5 into BookmarkHolderActionContributions@3f7f22a5[]
> > 22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected
> > org.apache.isis.core.metamodel.services.container.DomainObjectContai
> > ne
> > rDefault@397c8a21 into
> > ClassDiscoveryServiceUsingReflections@64b17900[]
> > 22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected
> > org.apache.isis.core.wrapper.WrapperFactoryDefault@33bb9f34 into
> > BookmarkServiceDefault@4acd2ea5[]
> > 22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected
> > org.apache.isis.core.wrapper.WrapperFactoryDefault@33bb9f34 into
> > DomainObjectContainerDefault@397c8a21[]
> > 22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected
> > org.apache.isis.core.metamodel.services.bookmarks.BookmarkServiceDef
> > au
> > lt@4acd2ea5 into BackgroundServiceDefault@4898c8f9[]
> > 22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected
> > org.apache.isis.core.runtime.services.ServiceInstantiator$2@26b278ab
> > into BackgroundServiceDefault@4898c8f9[]
> > 22:52:01,727  [ObjectReflectorDefault main       DEBUG]  initialising
> > org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault@1e6144db
> > 22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected
> > org.apache.isis.core.metamodel.services.container.DomainObjectContai
> > ne
> > rDefault@397c8a21
> > into SimpleObjects@529d935d[]
> > 22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected
> > org.apache.isis.core.runtime.services.memento.MementoServiceDefault@
> > 6c dd377c into SimpleObjectsFixturesService@2f65e5ba[]
> > 22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected
> > org.apache.isis.core.metamodel.services.bookmarks.BookmarkServiceDef
> > au
> > lt@4acd2ea5 into SimpleObjectsFixturesService@2f65e5ba[]
> > 22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected
> > org.apache.isis.applib.services.classdiscovery.ClassDiscoveryService
> > Us
> > ingReflections@64b17900 into SimpleObjectsFixturesService@2f65e5ba[]
> > 22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected
> > org.apache.isis.core.metamodel.services.container.DomainObjectContai
> > ne
> > rDefault@397c8a21 into SimpleObjectsFixturesService@2f65e5ba[]
> > 22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected
> > org.apache.isis.core.metamodel.services.bookmarks.BookmarkServiceDef
> > au
> > lt@4acd2ea5 into BookmarkHolderActionContributions@3f7f22a5[]
> > 22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected
> > org.apache.isis.core.metamodel.services.container.DomainObjectContai
> > ne
> > rDefault@397c8a21 into
> > ClassDiscoveryServiceUsingReflections@64b17900[]
> > 22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected
> > org.apache.isis.core.wrapper.WrapperFactoryDefault@33bb9f34 into
> > BookmarkServiceDefault@4acd2ea5[]
> > 22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected
> > org.apache.isis.core.wrapper.WrapperFactoryDefault@33bb9f34 into
> > DomainObjectContainerDefault@397c8a21[]
> > 22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected
> > org.apache.isis.core.metamodel.services.bookmarks.BookmarkServiceDef
> > au
> > lt@4acd2ea5 into BackgroundServiceDefault@4898c8f9[]
> > 22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected
> > org.apache.isis.core.runtime.services.ServiceInstantiator$2@26b278ab
> > into BackgroundServiceDefault@4898c8f9[]
> > 22:52:14,042  [ObjectSpecificationAbstract main       DEBUG]
> Superclass
> > java.lang.Object
> > 22:52:14,152  [ObjectSpecificationAbstract main       DEBUG]
> Superclass
> > java.lang.Object
> > 22:52:14,167  [IsisWicketApplication main       ERROR]  Failed to
> > initialize
> > com.google.inject.ProvisionException: Guice provision errors:
> >
> > 1) Error in custom provider, java.lang.NullPointerException
> >   at
> >
> org.apache.isis.core.runtime.runner.IsisInjectModule.provideIsisSystem
> (IsisInjectModule.java:132)
> >   at
> >
> org.apache.isis.core.runtime.runner.IsisInjectModule.provideIsisSystem
> (IsisInjectModule.java:132)
> >   while locating org.apache.isis.core.runtime.system.IsisSystem
> >     for field at
> >
> org.apache.isis.viewer.wicket.viewer.IsisWicketApplication.system(Isis
> WicketApplication.java:138)
> >   while locating webapp.SimpleApplication
> >
> > 1 error
> >        at
> >
> com.google.inject.internal.Errors.throwProvisionExceptionIfErrorsExist
> (Errors.java:451)
> >        at
> >
> com.google.inject.internal.MembersInjectorImpl.injectMembers(MembersIn
> jectorImpl.java:65)
> >        at
> >
> com.google.inject.internal.InjectorImpl.injectMembers(InjectorImpl.jav
> a:944)
> >        at
> >
> org.apache.isis.viewer.wicket.viewer.IsisWicketApplication.init(IsisWi
> cketApplication.java:248)
> >        at webapp.SimpleApplication.init(SimpleApplication.java:81)
> >        at
> > org.apache.wicket.Application.initApplication(Application.java:823)
> >        at
> > org.apache.wicket.protocol.http.WicketFilter.init(WicketFilter.java:424)
> >        at
> > org.apache.wicket.protocol.http.WicketFilter.init(WicketFilter.java:351)
> >        at
> > org.mortbay.jetty.servlet.FilterHolder.doStart(FilterHolder.java:97)
> >        at
> > org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
> >        at
> >
> org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.jav
> a:713)
> >        at
> org.mortbay.jetty.servlet.Context.startContext(Context.java:140)
> >        at
> >
> org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java
> :1282)
> >        at
> > org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:518)
> >        at
> > org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:499)
> >        at
> >
> org.mortbay.jetty.plugin.Jetty6PluginWebAppContext.doStart(Jetty6Plugi
> nWebAppContext.java:115)
> >        at
> > org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
> >        at
> >
> org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.
> java:152)
> >        at
> >
> org.mortbay.jetty.handler.ContextHandlerCollection.doStart(ContextHand
> lerCollection.java:156)
> >        at
> > org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
> >        at
> >
> org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.
> java:152)
> >        at
> > org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
> >        at
> > org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)
> >        at org.mortbay.jetty.Server.doStart(Server.java:224)
> >        at
> > org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
> >        at
> >
> org.mortbay.jetty.plugin.Jetty6PluginServer.start(Jetty6PluginServer.j
> ava:132)
> >        at
> >
> org.mortbay.jetty.plugin.AbstractJettyMojo.startJetty(AbstractJettyMoj
> o.java:454)
> >        at
> >
> org.mortbay.jetty.plugin.AbstractJettyMojo.execute(AbstractJettyMojo.j
> ava:396)
> >        at
> >
> org.mortbay.jetty.plugin.AbstractJettyRunMojo.execute(AbstractJettyRun
> Mojo.java:210)
> >        at
> > org.mortbay.jetty.plugin.Jetty6RunMojo.execute(Jetty6RunMojo.java:184)
> >        at
> >
> org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultB
> uildPluginManager.java:106)
> >        at
> >
> org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.
> java:208)
> >        at
> >
> org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.
> java:153)
> >        at
> >
> org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.
> java:145)
> >        at
> >
> org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProjec
> t(LifecycleModuleBuilder.java:84)
> >        at
> >
> org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProjec
> t(LifecycleModuleBuilder.java:59)
> >        at
> >
> org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBui
> ld(LifecycleStarter.java:183)
> >        at
> >
> org.apache.maven.lifecycle.internal.LifecycleStarter.execute(Lifecycle
> Starter.java:161)
> >        at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:317)
> >        at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:152)
> >        at org.apache.maven.cli.MavenCli.execute(MavenCli.java:555)
> >        at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:214)
> >        at org.apache.maven.cli.MavenCli.main(MavenCli.java:158)
> >        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> >        at
> >
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.j
> ava:57)
> >        at
> >
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccess
> orImpl.java:43)
> >        at java.lang.reflect.Method.invoke(Method.java:606)
> >        at
> >
> org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launc
> her.java:289)
> >        at
> >
> org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java
> :229)
> >        at
> >
> org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Lau
> ncher.java:415)
> >        at
> > org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
> >        at org.codehaus.classworlds.Launcher.main(Launcher.java:46)
> > Caused by: java.lang.NullPointerException
> >        at
> >
> org.apache.isis.core.metamodel.specloader.classsubstitutor.ClassSubsti
> tutor.getClass(ClassSubstitutor.java:54)
> >        at
> >
> org.apache.isis.core.metamodel.specloader.classsubstitutor.ClassSubsti
> tutor.getClass(ClassSubstitutor.java:55)
> >        at
> >
> org.apache.isis.core.metamodel.specloader.specimpl.dflt.ObjectSpecific
> ationDefault.introspectTypeHierarchyAndMembers(ObjectSpecificationDefa
> ult.java:146)
> >        at
> >
> org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.intro
> spectIfRequired(ObjectReflectorDefault.java:499)
> >        at
> >
> org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.loadS
> pecificationForSubstitutedClass(ObjectReflectorDefault.java:400)
> >        at
> >
> org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.inter
> nalLoadSpecification(ObjectReflectorDefault.java:378)
> >        at
> >
> org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.loadS
> pecifications(ObjectReflectorDefault.java:415)
> >        at
> >
> org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.loadS
> pecifications(ObjectReflectorDefault.java:428)
> >        at
> >
> org.apache.isis.core.metamodel.specloader.specimpl.FacetedMethodsBuild
> er.representsAction(FacetedMethodsBuilder.java:455)
> >        at
> >
> org.apache.isis.core.metamodel.specloader.specimpl.FacetedMethodsBuild
> er.findActionFacetedMethod(FacetedMethodsBuilder.java:404)
> >        at
> >
> org.apache.isis.core.metamodel.specloader.specimpl.FacetedMethodsBuild
> er.findActionFacetedMethods(FacetedMethodsBuilder.java:388)
> >        at
> >
> org.apache.isis.core.metamodel.specloader.specimpl.FacetedMethodsBuild
> er.findActionFacetedMethods(FacetedMethodsBuilder.java:367)
> >        at
> >
> org.apache.isis.core.metamodel.specloader.specimpl.FacetedMethodsBuild
> er.getActionFacetedMethods(FacetedMethodsBuilder.java:343)
> >        at
> >
> org.apache.isis.core.metamodel.specloader.specimpl.dflt.ObjectSpecific
> ationDefault.createActions(ObjectSpecificationDefault.java:222)
> >        at
> >
> org.apache.isis.core.metamodel.specloader.specimpl.dflt.ObjectSpecific
> ationDefault.introspectTypeHierarchyAndMembers(ObjectSpecificationDefa
> ult.java:167)
> >        at
> >
> org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.intro
> spectIfRequired(ObjectReflectorDefault.java:499)
> >        at
> >
> org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.loadS
> pecificationForSubstitutedClass(ObjectReflectorDefault.java:400)
> >        at
> >
> org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.inter
> nalLoadSpecification(ObjectReflectorDefault.java:378)
> >        at
> >
> org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.prime
> Cache(ObjectReflectorDefault.java:269)
> >        at
> >
> org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.initA
> ndValidate(ObjectReflectorDefault.java:244)
> >        at
> >
> org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.init(
> ObjectReflectorDefault.java:205)
> >        at
> >
> org.apache.isis.core.runtime.system.session.IsisSessionFactoryDefault.
> init(IsisSessionFactoryDefault.java:192)
> >        at
> >
> org.apache.isis.core.runtime.system.IsisSystemFixturesHookAbstract.ini
> t(IsisSystemFixturesHookAbstract.java:120)
> >        at
> >
> org.apache.isis.core.runtime.runner.IsisInjectModule.provideIsisSystem
> (IsisInjectModule.java:133)
> >        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> >        at
> >
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.j
> ava:57)
> >        at
> >
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccess
> orImpl.java:43)
> >        at java.lang.reflect.Method.invoke(Method.java:606)
> >        at
> > com.google.inject.internal.ProviderMethod.get(ProviderMethod.java:104)
> >        at
> >
> com.google.inject.internal.InternalFactoryToProviderAdapter.get(Intern
> alFactoryToProviderAdapter.java:40)
> >        at
> >
> com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(Pro
> viderToInternalFactoryAdapter.java:46)
> >        at
> >
> com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.jav
> a:1031)
> >        at
> >
> com.google.inject.internal.ProviderToInternalFactoryAdapter.get(Provid
> erToInternalFactoryAdapter.java:40)
> >        at com.google.inject.Scopes$1$1.get(Scopes.java:65)
> >        at
> >
> com.google.inject.internal.InternalFactoryToProviderAdapter.get(Intern
> alFactoryToProviderAdapter.java:40)
> >        at
> >
> com.google.inject.internal.SingleFieldInjector.inject(SingleFieldInjec
> tor.java:53)
> >        at
> >
> com.google.inject.internal.MembersInjectorImpl.injectMembers(MembersIn
> jectorImpl.java:110)
> >        at
> >
> com.google.inject.internal.MembersInjectorImpl$1.call(MembersInjectorI
> mpl.java:75)
> >        at
> >
> com.google.inject.internal.MembersInjectorImpl$1.call(MembersInjectorI
> mpl.java:73)
> >        at
> >
> com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.jav
> a:1024)
> >        at
> >
> com.google.inject.internal.MembersInjectorImpl.injectAndNotify(Members
> InjectorImpl.java:73)
> >        at
> >
> com.google.inject.internal.MembersInjectorImpl.injectMembers(MembersIn
> jectorImpl.java:60)
> >        ... 50 more
> > 22:52:14,167  [WicketFilter         main       ERROR]  The initialization
> > of an application with name 'WicketFilter' has failed.
> > com.google.inject.ProvisionException: Guice provision errors:
> >
> >
> >
> > ________________________________
> >
> > This e-mail may contain Sprint proprietary information intended for
> > the sole use of the recipient(s). Any use by others is prohibited.
> > If you are not the intended recipient, please contact the sender and
> > delete all copies of the message.
> >
> > ________________________________
> >
> > This e-mail may contain Sprint proprietary information intended for
> > the sole use of the recipient(s). Any use by others is prohibited.
> > If you are not the intended recipient, please contact the sender and
> > delete all copies of the message.
> >
>
> ________________________________
>
> This e-mail may contain Sprint proprietary information intended for
> the sole use of the recipient(s). Any use by others is prohibited. If
> you are not the intended recipient, please contact the sender and
> delete all copies of the message.
>

________________________________

This e-mail may contain Sprint proprietary information intended for the sole use of the recipient(s). Any use by others is prohibited. If you are not the intended recipient, please contact the sender and delete all copies of the message.

Re: Working on a branch with latest datanucleus

Posted by Dan Haywood <da...@haywood-associates.co.uk>.
With Isis we have:


org.apache.isis.core.metamodel.facets.object.ignore.jdo.RemoveJdoEnhancementTypesFacetFactory

that ensures that Isis ignores all the methods in the
javax,jdo.spi.PersistenceCapable interface.  That interface defines a bunch
of methods called jdoReplaceFields(int[]) and so on.

My guess is that with DN 4.0 that this has changed so that there is a
similar DN-specific interface that the enhancer makes the
persistence-capable objects implement.

Have a go at writing a similar facet factory and register it in
isis.properties using the "isis.reflector.facets.include" property, see
[1]... If it works we can incorporate into Isis proper for a future version.

Let us know how you get on.

Dan


[1]
http://isis.apache.org/more-advanced-topics/metamodel-finetuning-the-programming-model.html


On 25 December 2014 at 00:43, Branham, Jeremy [HR] <
Jeremy.D.Branham@sprint.com> wrote:

> Thanks for checking Dan.
> I solved that particular issue, but I'm not sure it's a valid solution.
>
> Changed -
>
> https://github.com/jdbranham/isis/blob/DN_404/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/classsubstitutor/ClassSubstitutor.java#L53-L55
>
>
> New Issue I'm working on -
>
> Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0.197 sec
> <<< FAILURE! - in integration.tests.ToDoItemIntegTest$Properties$Description
> integration.tests.ToDoItemIntegTest$Properties$Description  Time elapsed:
> 0.197 sec  <<< ERROR!
> java.lang.RuntimeException:
> org.apache.isis.core.commons.exceptions.UnknownTypeException: collections
> not supported as parameters: dom.todo.ToDoItem#dnProvideFields([I)
> at
> org.apache.isis.core.integtestsupport.IsisSystemForTest.setUpSystem(IsisSystemForTest.java:314)
>
>
> Jeremy D. Branham
> Tel: **DOTNET
>
>
> -----Original Message-----
> From: Dan Haywood [mailto:dan@haywood-associates.co.uk]
> Sent: Wednesday, December 24, 2014 12:05 PM
> To: users
> Subject: Re: Working on a branch with latest datanucleus
>
> Hi Jeremy,
>
> sorry, it's not clear to me if you had an issue but then resolved it, or
> whether there is still an issue?
>
> With respect to moving to DN 4.0, that's certainly the intention, and is a
> prerequisite for us to support Java8.  Given that Java7 support finishes in
> April 2015, it's clearly something that we need to do be tackling quite
> soon.
>
> Thx
> Dan
>
>
> On 24 December 2014 at 05:24, Branham, Jeremy [HR] <
> Jeremy.D.Branham@sprint.com> wrote:
>
> > The line numbers didn't match because a different version of the class
> > was being loaded.
> > I added a null check that solved the issue, but the code running
> > hadn't picked up the change yet.
> >
> >
> > Jeremy D. Branham
> > Tel: **DOTNET
> >
> >
> > -----Original Message-----
> > From: Branham, Jeremy [HR]
> > Sent: Tuesday, December 23, 2014 11:04 PM
> > To: users@isis.apache.org
> > Subject: Working on a branch with latest datanucleus
> >
> > Sorry for the massive stack trace, but I was looking for some pointers
> > on what might be happing here.
> > I'm having a bit of difficulty debugging because the line numbers
> > reported don't seem to match the source files, and even when stepping
> > through the code. [maybe something wrong in my dev env]
> >
> > I'm working on a branch with a newer datanucleus support [4.0.4] and
> > seems to be an issue with the spec loader.
> > I understand if there is no support for this yet.
> >
> >
> > 22:52:01,445  [Reflections          main       INFO ]  Reflections took
> > 421 ms to scan 7 urls, producing 148 keys and 716 values
> > 22:52:01,523  [ServiceInstantiator  main       DEBUG]  loading class for
> > service: dom.simple.SimpleObjects
> > 22:52:01,523  [ServiceInstantiator  main       DEBUG]  loading class for
> > service: fixture.simple.SimpleObjectsFixturesService
> > 22:52:01,523  [ServiceInstantiator  main       DEBUG]  loading class for
> > service: org.apache.isis.applib.annotation.Bulk$InteractionContext
> > 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading class for
> > service:
> >
> org.apache.isis.applib.services.bookmark.BookmarkHolderActionContributions
> > 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading class for
> > service:
> >
> org.apache.isis.applib.services.classdiscovery.ClassDiscoveryServiceUsingReflections
> > 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading class for
> > service: org.apache.isis.applib.services.clock.ClockService
> > 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading class for
> > service: org.apache.isis.applib.services.command.CommandContext
> > 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading class for
> > service:
> org.apache.isis.applib.services.queryresultscache.QueryResultsCache
> > 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading class for
> > service: org.apache.isis.applib.services.scratchpad.Scratchpad
> > 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading class for
> > service:
> > org.apache.isis.core.metamodel.services.bookmarks.BookmarkServiceDefault
> > 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading class for
> > service:
> >
> org.apache.isis.core.metamodel.services.container.DomainObjectContainerDefault
> > 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading class for
> > service:
> > org.apache.isis.core.runtime.services.background.BackgroundServiceDefault
> > 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading class for
> > service:
> org.apache.isis.core.runtime.services.memento.MementoServiceDefault
> > 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading class for
> > service:
> >
> org.apache.isis.core.runtime.services.xmlsnapshot.XmlSnapshotServiceDefault
> > 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading class for
> > service: org.apache.isis.core.wrapper.WrapperFactoryDefault
> > 22:52:01,587  [ServiceInstantiator  main       DEBUG]  loading class for
> > service:
> >
> org.apache.isis.objectstore.jdo.applib.service.exceprecog.ExceptionRecognizerCompositeForJdoObjectStore
> > 22:52:01,618  [ServiceInstantiator  main       DEBUG]  loading class for
> > service:
> >
> org.apache.isis.objectstore.jdo.datanucleus.service.eventbus.EventBusServiceJdo
> > 22:52:01,618  [ServiceInstantiator  main       DEBUG]  loading class for
> > service:
> >
> org.apache.isis.objectstore.jdo.datanucleus.service.support.IsisJdoSupportImpl
> > 22:52:01,618  [ServiceInstantiator  main       DEBUG]  loading class for
> > service:
> >
> org.apache.isis.viewer.restfulobjects.rendering.service.RepresentationServiceForRestfulObjects
> > 22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected
> > org.apache.isis.core.metamodel.services.container.DomainObjectContaine
> > rDefault@397c8a21
> > into SimpleObjects@529d935d[]
> > 22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected
> > org.apache.isis.core.runtime.services.memento.MementoServiceDefault@6c
> > dd377c into SimpleObjectsFixturesService@2f65e5ba[]
> > 22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected
> > org.apache.isis.core.metamodel.services.bookmarks.BookmarkServiceDefau
> > lt@4acd2ea5 into SimpleObjectsFixturesService@2f65e5ba[]
> > 22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected
> > org.apache.isis.applib.services.classdiscovery.ClassDiscoveryServiceUs
> > ingReflections@64b17900 into SimpleObjectsFixturesService@2f65e5ba[]
> > 22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected
> > org.apache.isis.core.metamodel.services.container.DomainObjectContaine
> > rDefault@397c8a21 into SimpleObjectsFixturesService@2f65e5ba[]
> > 22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected
> > org.apache.isis.core.metamodel.services.bookmarks.BookmarkServiceDefau
> > lt@4acd2ea5 into BookmarkHolderActionContributions@3f7f22a5[]
> > 22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected
> > org.apache.isis.core.metamodel.services.container.DomainObjectContaine
> > rDefault@397c8a21 into
> > ClassDiscoveryServiceUsingReflections@64b17900[]
> > 22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected
> > org.apache.isis.core.wrapper.WrapperFactoryDefault@33bb9f34 into
> > BookmarkServiceDefault@4acd2ea5[]
> > 22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected
> > org.apache.isis.core.wrapper.WrapperFactoryDefault@33bb9f34 into
> > DomainObjectContainerDefault@397c8a21[]
> > 22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected
> > org.apache.isis.core.metamodel.services.bookmarks.BookmarkServiceDefau
> > lt@4acd2ea5 into BackgroundServiceDefault@4898c8f9[]
> > 22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected
> > org.apache.isis.core.runtime.services.ServiceInstantiator$2@26b278ab
> > into BackgroundServiceDefault@4898c8f9[]
> > 22:52:01,727  [ObjectReflectorDefault main       DEBUG]  initialising
> > org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault@1e6144db
> > 22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected
> > org.apache.isis.core.metamodel.services.container.DomainObjectContaine
> > rDefault@397c8a21
> > into SimpleObjects@529d935d[]
> > 22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected
> > org.apache.isis.core.runtime.services.memento.MementoServiceDefault@6c
> > dd377c into SimpleObjectsFixturesService@2f65e5ba[]
> > 22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected
> > org.apache.isis.core.metamodel.services.bookmarks.BookmarkServiceDefau
> > lt@4acd2ea5 into SimpleObjectsFixturesService@2f65e5ba[]
> > 22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected
> > org.apache.isis.applib.services.classdiscovery.ClassDiscoveryServiceUs
> > ingReflections@64b17900 into SimpleObjectsFixturesService@2f65e5ba[]
> > 22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected
> > org.apache.isis.core.metamodel.services.container.DomainObjectContaine
> > rDefault@397c8a21 into SimpleObjectsFixturesService@2f65e5ba[]
> > 22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected
> > org.apache.isis.core.metamodel.services.bookmarks.BookmarkServiceDefau
> > lt@4acd2ea5 into BookmarkHolderActionContributions@3f7f22a5[]
> > 22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected
> > org.apache.isis.core.metamodel.services.container.DomainObjectContaine
> > rDefault@397c8a21 into
> > ClassDiscoveryServiceUsingReflections@64b17900[]
> > 22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected
> > org.apache.isis.core.wrapper.WrapperFactoryDefault@33bb9f34 into
> > BookmarkServiceDefault@4acd2ea5[]
> > 22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected
> > org.apache.isis.core.wrapper.WrapperFactoryDefault@33bb9f34 into
> > DomainObjectContainerDefault@397c8a21[]
> > 22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected
> > org.apache.isis.core.metamodel.services.bookmarks.BookmarkServiceDefau
> > lt@4acd2ea5 into BackgroundServiceDefault@4898c8f9[]
> > 22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected
> > org.apache.isis.core.runtime.services.ServiceInstantiator$2@26b278ab
> > into BackgroundServiceDefault@4898c8f9[]
> > 22:52:14,042  [ObjectSpecificationAbstract main       DEBUG]
> Superclass
> > java.lang.Object
> > 22:52:14,152  [ObjectSpecificationAbstract main       DEBUG]
> Superclass
> > java.lang.Object
> > 22:52:14,167  [IsisWicketApplication main       ERROR]  Failed to
> > initialize
> > com.google.inject.ProvisionException: Guice provision errors:
> >
> > 1) Error in custom provider, java.lang.NullPointerException
> >   at
> >
> org.apache.isis.core.runtime.runner.IsisInjectModule.provideIsisSystem(IsisInjectModule.java:132)
> >   at
> >
> org.apache.isis.core.runtime.runner.IsisInjectModule.provideIsisSystem(IsisInjectModule.java:132)
> >   while locating org.apache.isis.core.runtime.system.IsisSystem
> >     for field at
> >
> org.apache.isis.viewer.wicket.viewer.IsisWicketApplication.system(IsisWicketApplication.java:138)
> >   while locating webapp.SimpleApplication
> >
> > 1 error
> >        at
> >
> com.google.inject.internal.Errors.throwProvisionExceptionIfErrorsExist(Errors.java:451)
> >        at
> >
> com.google.inject.internal.MembersInjectorImpl.injectMembers(MembersInjectorImpl.java:65)
> >        at
> >
> com.google.inject.internal.InjectorImpl.injectMembers(InjectorImpl.java:944)
> >        at
> >
> org.apache.isis.viewer.wicket.viewer.IsisWicketApplication.init(IsisWicketApplication.java:248)
> >        at webapp.SimpleApplication.init(SimpleApplication.java:81)
> >        at
> > org.apache.wicket.Application.initApplication(Application.java:823)
> >        at
> > org.apache.wicket.protocol.http.WicketFilter.init(WicketFilter.java:424)
> >        at
> > org.apache.wicket.protocol.http.WicketFilter.init(WicketFilter.java:351)
> >        at
> > org.mortbay.jetty.servlet.FilterHolder.doStart(FilterHolder.java:97)
> >        at
> > org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
> >        at
> >
> org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:713)
> >        at
> org.mortbay.jetty.servlet.Context.startContext(Context.java:140)
> >        at
> >
> org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1282)
> >        at
> > org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:518)
> >        at
> > org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:499)
> >        at
> >
> org.mortbay.jetty.plugin.Jetty6PluginWebAppContext.doStart(Jetty6PluginWebAppContext.java:115)
> >        at
> > org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
> >        at
> >
> org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.java:152)
> >        at
> >
> org.mortbay.jetty.handler.ContextHandlerCollection.doStart(ContextHandlerCollection.java:156)
> >        at
> > org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
> >        at
> >
> org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.java:152)
> >        at
> > org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
> >        at
> > org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)
> >        at org.mortbay.jetty.Server.doStart(Server.java:224)
> >        at
> > org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
> >        at
> >
> org.mortbay.jetty.plugin.Jetty6PluginServer.start(Jetty6PluginServer.java:132)
> >        at
> >
> org.mortbay.jetty.plugin.AbstractJettyMojo.startJetty(AbstractJettyMojo.java:454)
> >        at
> >
> org.mortbay.jetty.plugin.AbstractJettyMojo.execute(AbstractJettyMojo.java:396)
> >        at
> >
> org.mortbay.jetty.plugin.AbstractJettyRunMojo.execute(AbstractJettyRunMojo.java:210)
> >        at
> > org.mortbay.jetty.plugin.Jetty6RunMojo.execute(Jetty6RunMojo.java:184)
> >        at
> >
> org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:106)
> >        at
> >
> org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208)
> >        at
> >
> org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
> >        at
> >
> org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
> >        at
> >
> org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84)
> >        at
> >
> org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59)
> >        at
> >
> org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183)
> >        at
> >
> org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161)
> >        at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:317)
> >        at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:152)
> >        at org.apache.maven.cli.MavenCli.execute(MavenCli.java:555)
> >        at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:214)
> >        at org.apache.maven.cli.MavenCli.main(MavenCli.java:158)
> >        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> >        at
> >
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> >        at
> >
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> >        at java.lang.reflect.Method.invoke(Method.java:606)
> >        at
> >
> org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
> >        at
> >
> org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
> >        at
> >
> org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
> >        at
> > org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
> >        at org.codehaus.classworlds.Launcher.main(Launcher.java:46)
> > Caused by: java.lang.NullPointerException
> >        at
> >
> org.apache.isis.core.metamodel.specloader.classsubstitutor.ClassSubstitutor.getClass(ClassSubstitutor.java:54)
> >        at
> >
> org.apache.isis.core.metamodel.specloader.classsubstitutor.ClassSubstitutor.getClass(ClassSubstitutor.java:55)
> >        at
> >
> org.apache.isis.core.metamodel.specloader.specimpl.dflt.ObjectSpecificationDefault.introspectTypeHierarchyAndMembers(ObjectSpecificationDefault.java:146)
> >        at
> >
> org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.introspectIfRequired(ObjectReflectorDefault.java:499)
> >        at
> >
> org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.loadSpecificationForSubstitutedClass(ObjectReflectorDefault.java:400)
> >        at
> >
> org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.internalLoadSpecification(ObjectReflectorDefault.java:378)
> >        at
> >
> org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.loadSpecifications(ObjectReflectorDefault.java:415)
> >        at
> >
> org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.loadSpecifications(ObjectReflectorDefault.java:428)
> >        at
> >
> org.apache.isis.core.metamodel.specloader.specimpl.FacetedMethodsBuilder.representsAction(FacetedMethodsBuilder.java:455)
> >        at
> >
> org.apache.isis.core.metamodel.specloader.specimpl.FacetedMethodsBuilder.findActionFacetedMethod(FacetedMethodsBuilder.java:404)
> >        at
> >
> org.apache.isis.core.metamodel.specloader.specimpl.FacetedMethodsBuilder.findActionFacetedMethods(FacetedMethodsBuilder.java:388)
> >        at
> >
> org.apache.isis.core.metamodel.specloader.specimpl.FacetedMethodsBuilder.findActionFacetedMethods(FacetedMethodsBuilder.java:367)
> >        at
> >
> org.apache.isis.core.metamodel.specloader.specimpl.FacetedMethodsBuilder.getActionFacetedMethods(FacetedMethodsBuilder.java:343)
> >        at
> >
> org.apache.isis.core.metamodel.specloader.specimpl.dflt.ObjectSpecificationDefault.createActions(ObjectSpecificationDefault.java:222)
> >        at
> >
> org.apache.isis.core.metamodel.specloader.specimpl.dflt.ObjectSpecificationDefault.introspectTypeHierarchyAndMembers(ObjectSpecificationDefault.java:167)
> >        at
> >
> org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.introspectIfRequired(ObjectReflectorDefault.java:499)
> >        at
> >
> org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.loadSpecificationForSubstitutedClass(ObjectReflectorDefault.java:400)
> >        at
> >
> org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.internalLoadSpecification(ObjectReflectorDefault.java:378)
> >        at
> >
> org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.primeCache(ObjectReflectorDefault.java:269)
> >        at
> >
> org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.initAndValidate(ObjectReflectorDefault.java:244)
> >        at
> >
> org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.init(ObjectReflectorDefault.java:205)
> >        at
> >
> org.apache.isis.core.runtime.system.session.IsisSessionFactoryDefault.init(IsisSessionFactoryDefault.java:192)
> >        at
> >
> org.apache.isis.core.runtime.system.IsisSystemFixturesHookAbstract.init(IsisSystemFixturesHookAbstract.java:120)
> >        at
> >
> org.apache.isis.core.runtime.runner.IsisInjectModule.provideIsisSystem(IsisInjectModule.java:133)
> >        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> >        at
> >
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> >        at
> >
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> >        at java.lang.reflect.Method.invoke(Method.java:606)
> >        at
> > com.google.inject.internal.ProviderMethod.get(ProviderMethod.java:104)
> >        at
> >
> com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:40)
> >        at
> >
> com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46)
> >        at
> >
> com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1031)
> >        at
> >
> com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
> >        at com.google.inject.Scopes$1$1.get(Scopes.java:65)
> >        at
> >
> com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:40)
> >        at
> >
> com.google.inject.internal.SingleFieldInjector.inject(SingleFieldInjector.java:53)
> >        at
> >
> com.google.inject.internal.MembersInjectorImpl.injectMembers(MembersInjectorImpl.java:110)
> >        at
> >
> com.google.inject.internal.MembersInjectorImpl$1.call(MembersInjectorImpl.java:75)
> >        at
> >
> com.google.inject.internal.MembersInjectorImpl$1.call(MembersInjectorImpl.java:73)
> >        at
> >
> com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1024)
> >        at
> >
> com.google.inject.internal.MembersInjectorImpl.injectAndNotify(MembersInjectorImpl.java:73)
> >        at
> >
> com.google.inject.internal.MembersInjectorImpl.injectMembers(MembersInjectorImpl.java:60)
> >        ... 50 more
> > 22:52:14,167  [WicketFilter         main       ERROR]  The initialization
> > of an application with name 'WicketFilter' has failed.
> > com.google.inject.ProvisionException: Guice provision errors:
> >
> >
> >
> > ________________________________
> >
> > This e-mail may contain Sprint proprietary information intended for
> > the sole use of the recipient(s). Any use by others is prohibited. If
> > you are not the intended recipient, please contact the sender and
> > delete all copies of the message.
> >
> > ________________________________
> >
> > This e-mail may contain Sprint proprietary information intended for
> > the sole use of the recipient(s). Any use by others is prohibited. If
> > you are not the intended recipient, please contact the sender and
> > delete all copies of the message.
> >
>
> ________________________________
>
> This e-mail may contain Sprint proprietary information intended for the
> sole use of the recipient(s). Any use by others is prohibited. If you are
> not the intended recipient, please contact the sender and delete all copies
> of the message.
>

RE: Working on a branch with latest datanucleus

Posted by "Branham, Jeremy [HR]" <Je...@sprint.com>.
Thanks for checking Dan.
I solved that particular issue, but I'm not sure it's a valid solution.

Changed -
https://github.com/jdbranham/isis/blob/DN_404/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/classsubstitutor/ClassSubstitutor.java#L53-L55


New Issue I'm working on -

Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0.197 sec <<< FAILURE! - in integration.tests.ToDoItemIntegTest$Properties$Description
integration.tests.ToDoItemIntegTest$Properties$Description  Time elapsed: 0.197 sec  <<< ERROR!
java.lang.RuntimeException: org.apache.isis.core.commons.exceptions.UnknownTypeException: collections not supported as parameters: dom.todo.ToDoItem#dnProvideFields([I)
at org.apache.isis.core.integtestsupport.IsisSystemForTest.setUpSystem(IsisSystemForTest.java:314)


Jeremy D. Branham
Tel: **DOTNET


-----Original Message-----
From: Dan Haywood [mailto:dan@haywood-associates.co.uk]
Sent: Wednesday, December 24, 2014 12:05 PM
To: users
Subject: Re: Working on a branch with latest datanucleus

Hi Jeremy,

sorry, it's not clear to me if you had an issue but then resolved it, or whether there is still an issue?

With respect to moving to DN 4.0, that's certainly the intention, and is a prerequisite for us to support Java8.  Given that Java7 support finishes in April 2015, it's clearly something that we need to do be tackling quite soon.

Thx
Dan


On 24 December 2014 at 05:24, Branham, Jeremy [HR] < Jeremy.D.Branham@sprint.com> wrote:

> The line numbers didn't match because a different version of the class
> was being loaded.
> I added a null check that solved the issue, but the code running
> hadn't picked up the change yet.
>
>
> Jeremy D. Branham
> Tel: **DOTNET
>
>
> -----Original Message-----
> From: Branham, Jeremy [HR]
> Sent: Tuesday, December 23, 2014 11:04 PM
> To: users@isis.apache.org
> Subject: Working on a branch with latest datanucleus
>
> Sorry for the massive stack trace, but I was looking for some pointers
> on what might be happing here.
> I'm having a bit of difficulty debugging because the line numbers
> reported don't seem to match the source files, and even when stepping
> through the code. [maybe something wrong in my dev env]
>
> I'm working on a branch with a newer datanucleus support [4.0.4] and
> seems to be an issue with the spec loader.
> I understand if there is no support for this yet.
>
>
> 22:52:01,445  [Reflections          main       INFO ]  Reflections took
> 421 ms to scan 7 urls, producing 148 keys and 716 values
> 22:52:01,523  [ServiceInstantiator  main       DEBUG]  loading class for
> service: dom.simple.SimpleObjects
> 22:52:01,523  [ServiceInstantiator  main       DEBUG]  loading class for
> service: fixture.simple.SimpleObjectsFixturesService
> 22:52:01,523  [ServiceInstantiator  main       DEBUG]  loading class for
> service: org.apache.isis.applib.annotation.Bulk$InteractionContext
> 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading class for
> service:
> org.apache.isis.applib.services.bookmark.BookmarkHolderActionContributions
> 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading class for
> service:
> org.apache.isis.applib.services.classdiscovery.ClassDiscoveryServiceUsingReflections
> 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading class for
> service: org.apache.isis.applib.services.clock.ClockService
> 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading class for
> service: org.apache.isis.applib.services.command.CommandContext
> 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading class for
> service: org.apache.isis.applib.services.queryresultscache.QueryResultsCache
> 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading class for
> service: org.apache.isis.applib.services.scratchpad.Scratchpad
> 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading class for
> service:
> org.apache.isis.core.metamodel.services.bookmarks.BookmarkServiceDefault
> 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading class for
> service:
> org.apache.isis.core.metamodel.services.container.DomainObjectContainerDefault
> 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading class for
> service:
> org.apache.isis.core.runtime.services.background.BackgroundServiceDefault
> 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading class for
> service: org.apache.isis.core.runtime.services.memento.MementoServiceDefault
> 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading class for
> service:
> org.apache.isis.core.runtime.services.xmlsnapshot.XmlSnapshotServiceDefault
> 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading class for
> service: org.apache.isis.core.wrapper.WrapperFactoryDefault
> 22:52:01,587  [ServiceInstantiator  main       DEBUG]  loading class for
> service:
> org.apache.isis.objectstore.jdo.applib.service.exceprecog.ExceptionRecognizerCompositeForJdoObjectStore
> 22:52:01,618  [ServiceInstantiator  main       DEBUG]  loading class for
> service:
> org.apache.isis.objectstore.jdo.datanucleus.service.eventbus.EventBusServiceJdo
> 22:52:01,618  [ServiceInstantiator  main       DEBUG]  loading class for
> service:
> org.apache.isis.objectstore.jdo.datanucleus.service.support.IsisJdoSupportImpl
> 22:52:01,618  [ServiceInstantiator  main       DEBUG]  loading class for
> service:
> org.apache.isis.viewer.restfulobjects.rendering.service.RepresentationServiceForRestfulObjects
> 22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected
> org.apache.isis.core.metamodel.services.container.DomainObjectContaine
> rDefault@397c8a21
> into SimpleObjects@529d935d[]
> 22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected
> org.apache.isis.core.runtime.services.memento.MementoServiceDefault@6c
> dd377c into SimpleObjectsFixturesService@2f65e5ba[]
> 22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected
> org.apache.isis.core.metamodel.services.bookmarks.BookmarkServiceDefau
> lt@4acd2ea5 into SimpleObjectsFixturesService@2f65e5ba[]
> 22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected
> org.apache.isis.applib.services.classdiscovery.ClassDiscoveryServiceUs
> ingReflections@64b17900 into SimpleObjectsFixturesService@2f65e5ba[]
> 22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected
> org.apache.isis.core.metamodel.services.container.DomainObjectContaine
> rDefault@397c8a21 into SimpleObjectsFixturesService@2f65e5ba[]
> 22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected
> org.apache.isis.core.metamodel.services.bookmarks.BookmarkServiceDefau
> lt@4acd2ea5 into BookmarkHolderActionContributions@3f7f22a5[]
> 22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected
> org.apache.isis.core.metamodel.services.container.DomainObjectContaine
> rDefault@397c8a21 into
> ClassDiscoveryServiceUsingReflections@64b17900[]
> 22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected
> org.apache.isis.core.wrapper.WrapperFactoryDefault@33bb9f34 into
> BookmarkServiceDefault@4acd2ea5[]
> 22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected
> org.apache.isis.core.wrapper.WrapperFactoryDefault@33bb9f34 into
> DomainObjectContainerDefault@397c8a21[]
> 22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected
> org.apache.isis.core.metamodel.services.bookmarks.BookmarkServiceDefau
> lt@4acd2ea5 into BackgroundServiceDefault@4898c8f9[]
> 22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected
> org.apache.isis.core.runtime.services.ServiceInstantiator$2@26b278ab
> into BackgroundServiceDefault@4898c8f9[]
> 22:52:01,727  [ObjectReflectorDefault main       DEBUG]  initialising
> org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault@1e6144db
> 22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected
> org.apache.isis.core.metamodel.services.container.DomainObjectContaine
> rDefault@397c8a21
> into SimpleObjects@529d935d[]
> 22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected
> org.apache.isis.core.runtime.services.memento.MementoServiceDefault@6c
> dd377c into SimpleObjectsFixturesService@2f65e5ba[]
> 22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected
> org.apache.isis.core.metamodel.services.bookmarks.BookmarkServiceDefau
> lt@4acd2ea5 into SimpleObjectsFixturesService@2f65e5ba[]
> 22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected
> org.apache.isis.applib.services.classdiscovery.ClassDiscoveryServiceUs
> ingReflections@64b17900 into SimpleObjectsFixturesService@2f65e5ba[]
> 22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected
> org.apache.isis.core.metamodel.services.container.DomainObjectContaine
> rDefault@397c8a21 into SimpleObjectsFixturesService@2f65e5ba[]
> 22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected
> org.apache.isis.core.metamodel.services.bookmarks.BookmarkServiceDefau
> lt@4acd2ea5 into BookmarkHolderActionContributions@3f7f22a5[]
> 22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected
> org.apache.isis.core.metamodel.services.container.DomainObjectContaine
> rDefault@397c8a21 into
> ClassDiscoveryServiceUsingReflections@64b17900[]
> 22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected
> org.apache.isis.core.wrapper.WrapperFactoryDefault@33bb9f34 into
> BookmarkServiceDefault@4acd2ea5[]
> 22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected
> org.apache.isis.core.wrapper.WrapperFactoryDefault@33bb9f34 into
> DomainObjectContainerDefault@397c8a21[]
> 22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected
> org.apache.isis.core.metamodel.services.bookmarks.BookmarkServiceDefau
> lt@4acd2ea5 into BackgroundServiceDefault@4898c8f9[]
> 22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected
> org.apache.isis.core.runtime.services.ServiceInstantiator$2@26b278ab
> into BackgroundServiceDefault@4898c8f9[]
> 22:52:14,042  [ObjectSpecificationAbstract main       DEBUG]    Superclass
> java.lang.Object
> 22:52:14,152  [ObjectSpecificationAbstract main       DEBUG]    Superclass
> java.lang.Object
> 22:52:14,167  [IsisWicketApplication main       ERROR]  Failed to
> initialize
> com.google.inject.ProvisionException: Guice provision errors:
>
> 1) Error in custom provider, java.lang.NullPointerException
>   at
> org.apache.isis.core.runtime.runner.IsisInjectModule.provideIsisSystem(IsisInjectModule.java:132)
>   at
> org.apache.isis.core.runtime.runner.IsisInjectModule.provideIsisSystem(IsisInjectModule.java:132)
>   while locating org.apache.isis.core.runtime.system.IsisSystem
>     for field at
> org.apache.isis.viewer.wicket.viewer.IsisWicketApplication.system(IsisWicketApplication.java:138)
>   while locating webapp.SimpleApplication
>
> 1 error
>        at
> com.google.inject.internal.Errors.throwProvisionExceptionIfErrorsExist(Errors.java:451)
>        at
> com.google.inject.internal.MembersInjectorImpl.injectMembers(MembersInjectorImpl.java:65)
>        at
> com.google.inject.internal.InjectorImpl.injectMembers(InjectorImpl.java:944)
>        at
> org.apache.isis.viewer.wicket.viewer.IsisWicketApplication.init(IsisWicketApplication.java:248)
>        at webapp.SimpleApplication.init(SimpleApplication.java:81)
>        at
> org.apache.wicket.Application.initApplication(Application.java:823)
>        at
> org.apache.wicket.protocol.http.WicketFilter.init(WicketFilter.java:424)
>        at
> org.apache.wicket.protocol.http.WicketFilter.init(WicketFilter.java:351)
>        at
> org.mortbay.jetty.servlet.FilterHolder.doStart(FilterHolder.java:97)
>        at
> org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
>        at
> org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:713)
>        at org.mortbay.jetty.servlet.Context.startContext(Context.java:140)
>        at
> org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1282)
>        at
> org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:518)
>        at
> org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:499)
>        at
> org.mortbay.jetty.plugin.Jetty6PluginWebAppContext.doStart(Jetty6PluginWebAppContext.java:115)
>        at
> org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
>        at
> org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.java:152)
>        at
> org.mortbay.jetty.handler.ContextHandlerCollection.doStart(ContextHandlerCollection.java:156)
>        at
> org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
>        at
> org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.java:152)
>        at
> org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
>        at
> org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)
>        at org.mortbay.jetty.Server.doStart(Server.java:224)
>        at
> org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
>        at
> org.mortbay.jetty.plugin.Jetty6PluginServer.start(Jetty6PluginServer.java:132)
>        at
> org.mortbay.jetty.plugin.AbstractJettyMojo.startJetty(AbstractJettyMojo.java:454)
>        at
> org.mortbay.jetty.plugin.AbstractJettyMojo.execute(AbstractJettyMojo.java:396)
>        at
> org.mortbay.jetty.plugin.AbstractJettyRunMojo.execute(AbstractJettyRunMojo.java:210)
>        at
> org.mortbay.jetty.plugin.Jetty6RunMojo.execute(Jetty6RunMojo.java:184)
>        at
> org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:106)
>        at
> org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208)
>        at
> org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
>        at
> org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
>        at
> org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84)
>        at
> org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59)
>        at
> org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183)
>        at
> org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161)
>        at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:317)
>        at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:152)
>        at org.apache.maven.cli.MavenCli.execute(MavenCli.java:555)
>        at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:214)
>        at org.apache.maven.cli.MavenCli.main(MavenCli.java:158)
>        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>        at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>        at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>        at java.lang.reflect.Method.invoke(Method.java:606)
>        at
> org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
>        at
> org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
>        at
> org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
>        at
> org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
>        at org.codehaus.classworlds.Launcher.main(Launcher.java:46)
> Caused by: java.lang.NullPointerException
>        at
> org.apache.isis.core.metamodel.specloader.classsubstitutor.ClassSubstitutor.getClass(ClassSubstitutor.java:54)
>        at
> org.apache.isis.core.metamodel.specloader.classsubstitutor.ClassSubstitutor.getClass(ClassSubstitutor.java:55)
>        at
> org.apache.isis.core.metamodel.specloader.specimpl.dflt.ObjectSpecificationDefault.introspectTypeHierarchyAndMembers(ObjectSpecificationDefault.java:146)
>        at
> org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.introspectIfRequired(ObjectReflectorDefault.java:499)
>        at
> org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.loadSpecificationForSubstitutedClass(ObjectReflectorDefault.java:400)
>        at
> org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.internalLoadSpecification(ObjectReflectorDefault.java:378)
>        at
> org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.loadSpecifications(ObjectReflectorDefault.java:415)
>        at
> org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.loadSpecifications(ObjectReflectorDefault.java:428)
>        at
> org.apache.isis.core.metamodel.specloader.specimpl.FacetedMethodsBuilder.representsAction(FacetedMethodsBuilder.java:455)
>        at
> org.apache.isis.core.metamodel.specloader.specimpl.FacetedMethodsBuilder.findActionFacetedMethod(FacetedMethodsBuilder.java:404)
>        at
> org.apache.isis.core.metamodel.specloader.specimpl.FacetedMethodsBuilder.findActionFacetedMethods(FacetedMethodsBuilder.java:388)
>        at
> org.apache.isis.core.metamodel.specloader.specimpl.FacetedMethodsBuilder.findActionFacetedMethods(FacetedMethodsBuilder.java:367)
>        at
> org.apache.isis.core.metamodel.specloader.specimpl.FacetedMethodsBuilder.getActionFacetedMethods(FacetedMethodsBuilder.java:343)
>        at
> org.apache.isis.core.metamodel.specloader.specimpl.dflt.ObjectSpecificationDefault.createActions(ObjectSpecificationDefault.java:222)
>        at
> org.apache.isis.core.metamodel.specloader.specimpl.dflt.ObjectSpecificationDefault.introspectTypeHierarchyAndMembers(ObjectSpecificationDefault.java:167)
>        at
> org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.introspectIfRequired(ObjectReflectorDefault.java:499)
>        at
> org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.loadSpecificationForSubstitutedClass(ObjectReflectorDefault.java:400)
>        at
> org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.internalLoadSpecification(ObjectReflectorDefault.java:378)
>        at
> org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.primeCache(ObjectReflectorDefault.java:269)
>        at
> org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.initAndValidate(ObjectReflectorDefault.java:244)
>        at
> org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.init(ObjectReflectorDefault.java:205)
>        at
> org.apache.isis.core.runtime.system.session.IsisSessionFactoryDefault.init(IsisSessionFactoryDefault.java:192)
>        at
> org.apache.isis.core.runtime.system.IsisSystemFixturesHookAbstract.init(IsisSystemFixturesHookAbstract.java:120)
>        at
> org.apache.isis.core.runtime.runner.IsisInjectModule.provideIsisSystem(IsisInjectModule.java:133)
>        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>        at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>        at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>        at java.lang.reflect.Method.invoke(Method.java:606)
>        at
> com.google.inject.internal.ProviderMethod.get(ProviderMethod.java:104)
>        at
> com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:40)
>        at
> com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46)
>        at
> com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1031)
>        at
> com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
>        at com.google.inject.Scopes$1$1.get(Scopes.java:65)
>        at
> com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:40)
>        at
> com.google.inject.internal.SingleFieldInjector.inject(SingleFieldInjector.java:53)
>        at
> com.google.inject.internal.MembersInjectorImpl.injectMembers(MembersInjectorImpl.java:110)
>        at
> com.google.inject.internal.MembersInjectorImpl$1.call(MembersInjectorImpl.java:75)
>        at
> com.google.inject.internal.MembersInjectorImpl$1.call(MembersInjectorImpl.java:73)
>        at
> com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1024)
>        at
> com.google.inject.internal.MembersInjectorImpl.injectAndNotify(MembersInjectorImpl.java:73)
>        at
> com.google.inject.internal.MembersInjectorImpl.injectMembers(MembersInjectorImpl.java:60)
>        ... 50 more
> 22:52:14,167  [WicketFilter         main       ERROR]  The initialization
> of an application with name 'WicketFilter' has failed.
> com.google.inject.ProvisionException: Guice provision errors:
>
>
>
> ________________________________
>
> This e-mail may contain Sprint proprietary information intended for
> the sole use of the recipient(s). Any use by others is prohibited. If
> you are not the intended recipient, please contact the sender and
> delete all copies of the message.
>
> ________________________________
>
> This e-mail may contain Sprint proprietary information intended for
> the sole use of the recipient(s). Any use by others is prohibited. If
> you are not the intended recipient, please contact the sender and
> delete all copies of the message.
>

________________________________

This e-mail may contain Sprint proprietary information intended for the sole use of the recipient(s). Any use by others is prohibited. If you are not the intended recipient, please contact the sender and delete all copies of the message.

Re: Working on a branch with latest datanucleus

Posted by Dan Haywood <da...@haywood-associates.co.uk>.
Hi Jeremy,

sorry, it's not clear to me if you had an issue but then resolved it, or
whether there is still an issue?

With respect to moving to DN 4.0, that's certainly the intention, and is a
prerequisite for us to support Java8.  Given that Java7 support finishes in
April 2015, it's clearly something that we need to do be tackling quite
soon.

Thx
Dan


On 24 December 2014 at 05:24, Branham, Jeremy [HR] <
Jeremy.D.Branham@sprint.com> wrote:

> The line numbers didn't match because a different version of the class was
> being loaded.
> I added a null check that solved the issue, but the code running hadn't
> picked up the change yet.
>
>
> Jeremy D. Branham
> Tel: **DOTNET
>
>
> -----Original Message-----
> From: Branham, Jeremy [HR]
> Sent: Tuesday, December 23, 2014 11:04 PM
> To: users@isis.apache.org
> Subject: Working on a branch with latest datanucleus
>
> Sorry for the massive stack trace, but I was looking for some pointers on
> what might be happing here.
> I'm having a bit of difficulty debugging because the line numbers reported
> don't seem to match the source files, and even when stepping through the
> code. [maybe something wrong in my dev env]
>
> I'm working on a branch with a newer datanucleus support [4.0.4] and seems
> to be an issue with the spec loader.
> I understand if there is no support for this yet.
>
>
> 22:52:01,445  [Reflections          main       INFO ]  Reflections took
> 421 ms to scan 7 urls, producing 148 keys and 716 values
> 22:52:01,523  [ServiceInstantiator  main       DEBUG]  loading class for
> service: dom.simple.SimpleObjects
> 22:52:01,523  [ServiceInstantiator  main       DEBUG]  loading class for
> service: fixture.simple.SimpleObjectsFixturesService
> 22:52:01,523  [ServiceInstantiator  main       DEBUG]  loading class for
> service: org.apache.isis.applib.annotation.Bulk$InteractionContext
> 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading class for
> service:
> org.apache.isis.applib.services.bookmark.BookmarkHolderActionContributions
> 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading class for
> service:
> org.apache.isis.applib.services.classdiscovery.ClassDiscoveryServiceUsingReflections
> 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading class for
> service: org.apache.isis.applib.services.clock.ClockService
> 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading class for
> service: org.apache.isis.applib.services.command.CommandContext
> 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading class for
> service: org.apache.isis.applib.services.queryresultscache.QueryResultsCache
> 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading class for
> service: org.apache.isis.applib.services.scratchpad.Scratchpad
> 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading class for
> service:
> org.apache.isis.core.metamodel.services.bookmarks.BookmarkServiceDefault
> 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading class for
> service:
> org.apache.isis.core.metamodel.services.container.DomainObjectContainerDefault
> 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading class for
> service:
> org.apache.isis.core.runtime.services.background.BackgroundServiceDefault
> 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading class for
> service: org.apache.isis.core.runtime.services.memento.MementoServiceDefault
> 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading class for
> service:
> org.apache.isis.core.runtime.services.xmlsnapshot.XmlSnapshotServiceDefault
> 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading class for
> service: org.apache.isis.core.wrapper.WrapperFactoryDefault
> 22:52:01,587  [ServiceInstantiator  main       DEBUG]  loading class for
> service:
> org.apache.isis.objectstore.jdo.applib.service.exceprecog.ExceptionRecognizerCompositeForJdoObjectStore
> 22:52:01,618  [ServiceInstantiator  main       DEBUG]  loading class for
> service:
> org.apache.isis.objectstore.jdo.datanucleus.service.eventbus.EventBusServiceJdo
> 22:52:01,618  [ServiceInstantiator  main       DEBUG]  loading class for
> service:
> org.apache.isis.objectstore.jdo.datanucleus.service.support.IsisJdoSupportImpl
> 22:52:01,618  [ServiceInstantiator  main       DEBUG]  loading class for
> service:
> org.apache.isis.viewer.restfulobjects.rendering.service.RepresentationServiceForRestfulObjects
> 22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected
> org.apache.isis.core.metamodel.services.container.DomainObjectContainerDefault@397c8a21
> into SimpleObjects@529d935d[]
> 22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected
> org.apache.isis.core.runtime.services.memento.MementoServiceDefault@6cdd377c
> into SimpleObjectsFixturesService@2f65e5ba[]
> 22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected
> org.apache.isis.core.metamodel.services.bookmarks.BookmarkServiceDefault@4acd2ea5
> into SimpleObjectsFixturesService@2f65e5ba[]
> 22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected
> org.apache.isis.applib.services.classdiscovery.ClassDiscoveryServiceUsingReflections@64b17900
> into SimpleObjectsFixturesService@2f65e5ba[]
> 22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected
> org.apache.isis.core.metamodel.services.container.DomainObjectContainerDefault@397c8a21
> into SimpleObjectsFixturesService@2f65e5ba[]
> 22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected
> org.apache.isis.core.metamodel.services.bookmarks.BookmarkServiceDefault@4acd2ea5
> into BookmarkHolderActionContributions@3f7f22a5[]
> 22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected
> org.apache.isis.core.metamodel.services.container.DomainObjectContainerDefault@397c8a21
> into ClassDiscoveryServiceUsingReflections@64b17900[]
> 22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected
> org.apache.isis.core.wrapper.WrapperFactoryDefault@33bb9f34 into
> BookmarkServiceDefault@4acd2ea5[]
> 22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected
> org.apache.isis.core.wrapper.WrapperFactoryDefault@33bb9f34 into
> DomainObjectContainerDefault@397c8a21[]
> 22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected
> org.apache.isis.core.metamodel.services.bookmarks.BookmarkServiceDefault@4acd2ea5
> into BackgroundServiceDefault@4898c8f9[]
> 22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected
> org.apache.isis.core.runtime.services.ServiceInstantiator$2@26b278ab into
> BackgroundServiceDefault@4898c8f9[]
> 22:52:01,727  [ObjectReflectorDefault main       DEBUG]  initialising
> org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault@1e6144db
> 22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected
> org.apache.isis.core.metamodel.services.container.DomainObjectContainerDefault@397c8a21
> into SimpleObjects@529d935d[]
> 22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected
> org.apache.isis.core.runtime.services.memento.MementoServiceDefault@6cdd377c
> into SimpleObjectsFixturesService@2f65e5ba[]
> 22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected
> org.apache.isis.core.metamodel.services.bookmarks.BookmarkServiceDefault@4acd2ea5
> into SimpleObjectsFixturesService@2f65e5ba[]
> 22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected
> org.apache.isis.applib.services.classdiscovery.ClassDiscoveryServiceUsingReflections@64b17900
> into SimpleObjectsFixturesService@2f65e5ba[]
> 22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected
> org.apache.isis.core.metamodel.services.container.DomainObjectContainerDefault@397c8a21
> into SimpleObjectsFixturesService@2f65e5ba[]
> 22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected
> org.apache.isis.core.metamodel.services.bookmarks.BookmarkServiceDefault@4acd2ea5
> into BookmarkHolderActionContributions@3f7f22a5[]
> 22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected
> org.apache.isis.core.metamodel.services.container.DomainObjectContainerDefault@397c8a21
> into ClassDiscoveryServiceUsingReflections@64b17900[]
> 22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected
> org.apache.isis.core.wrapper.WrapperFactoryDefault@33bb9f34 into
> BookmarkServiceDefault@4acd2ea5[]
> 22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected
> org.apache.isis.core.wrapper.WrapperFactoryDefault@33bb9f34 into
> DomainObjectContainerDefault@397c8a21[]
> 22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected
> org.apache.isis.core.metamodel.services.bookmarks.BookmarkServiceDefault@4acd2ea5
> into BackgroundServiceDefault@4898c8f9[]
> 22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected
> org.apache.isis.core.runtime.services.ServiceInstantiator$2@26b278ab into
> BackgroundServiceDefault@4898c8f9[]
> 22:52:14,042  [ObjectSpecificationAbstract main       DEBUG]    Superclass
> java.lang.Object
> 22:52:14,152  [ObjectSpecificationAbstract main       DEBUG]    Superclass
> java.lang.Object
> 22:52:14,167  [IsisWicketApplication main       ERROR]  Failed to
> initialize
> com.google.inject.ProvisionException: Guice provision errors:
>
> 1) Error in custom provider, java.lang.NullPointerException
>   at
> org.apache.isis.core.runtime.runner.IsisInjectModule.provideIsisSystem(IsisInjectModule.java:132)
>   at
> org.apache.isis.core.runtime.runner.IsisInjectModule.provideIsisSystem(IsisInjectModule.java:132)
>   while locating org.apache.isis.core.runtime.system.IsisSystem
>     for field at
> org.apache.isis.viewer.wicket.viewer.IsisWicketApplication.system(IsisWicketApplication.java:138)
>   while locating webapp.SimpleApplication
>
> 1 error
>        at
> com.google.inject.internal.Errors.throwProvisionExceptionIfErrorsExist(Errors.java:451)
>        at
> com.google.inject.internal.MembersInjectorImpl.injectMembers(MembersInjectorImpl.java:65)
>        at
> com.google.inject.internal.InjectorImpl.injectMembers(InjectorImpl.java:944)
>        at
> org.apache.isis.viewer.wicket.viewer.IsisWicketApplication.init(IsisWicketApplication.java:248)
>        at webapp.SimpleApplication.init(SimpleApplication.java:81)
>        at
> org.apache.wicket.Application.initApplication(Application.java:823)
>        at
> org.apache.wicket.protocol.http.WicketFilter.init(WicketFilter.java:424)
>        at
> org.apache.wicket.protocol.http.WicketFilter.init(WicketFilter.java:351)
>        at
> org.mortbay.jetty.servlet.FilterHolder.doStart(FilterHolder.java:97)
>        at
> org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
>        at
> org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:713)
>        at org.mortbay.jetty.servlet.Context.startContext(Context.java:140)
>        at
> org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1282)
>        at
> org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:518)
>        at
> org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:499)
>        at
> org.mortbay.jetty.plugin.Jetty6PluginWebAppContext.doStart(Jetty6PluginWebAppContext.java:115)
>        at
> org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
>        at
> org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.java:152)
>        at
> org.mortbay.jetty.handler.ContextHandlerCollection.doStart(ContextHandlerCollection.java:156)
>        at
> org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
>        at
> org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.java:152)
>        at
> org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
>        at
> org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)
>        at org.mortbay.jetty.Server.doStart(Server.java:224)
>        at
> org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
>        at
> org.mortbay.jetty.plugin.Jetty6PluginServer.start(Jetty6PluginServer.java:132)
>        at
> org.mortbay.jetty.plugin.AbstractJettyMojo.startJetty(AbstractJettyMojo.java:454)
>        at
> org.mortbay.jetty.plugin.AbstractJettyMojo.execute(AbstractJettyMojo.java:396)
>        at
> org.mortbay.jetty.plugin.AbstractJettyRunMojo.execute(AbstractJettyRunMojo.java:210)
>        at
> org.mortbay.jetty.plugin.Jetty6RunMojo.execute(Jetty6RunMojo.java:184)
>        at
> org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:106)
>        at
> org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208)
>        at
> org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
>        at
> org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
>        at
> org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84)
>        at
> org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59)
>        at
> org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183)
>        at
> org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161)
>        at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:317)
>        at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:152)
>        at org.apache.maven.cli.MavenCli.execute(MavenCli.java:555)
>        at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:214)
>        at org.apache.maven.cli.MavenCli.main(MavenCli.java:158)
>        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>        at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>        at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>        at java.lang.reflect.Method.invoke(Method.java:606)
>        at
> org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
>        at
> org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
>        at
> org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
>        at
> org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
>        at org.codehaus.classworlds.Launcher.main(Launcher.java:46)
> Caused by: java.lang.NullPointerException
>        at
> org.apache.isis.core.metamodel.specloader.classsubstitutor.ClassSubstitutor.getClass(ClassSubstitutor.java:54)
>        at
> org.apache.isis.core.metamodel.specloader.classsubstitutor.ClassSubstitutor.getClass(ClassSubstitutor.java:55)
>        at
> org.apache.isis.core.metamodel.specloader.specimpl.dflt.ObjectSpecificationDefault.introspectTypeHierarchyAndMembers(ObjectSpecificationDefault.java:146)
>        at
> org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.introspectIfRequired(ObjectReflectorDefault.java:499)
>        at
> org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.loadSpecificationForSubstitutedClass(ObjectReflectorDefault.java:400)
>        at
> org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.internalLoadSpecification(ObjectReflectorDefault.java:378)
>        at
> org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.loadSpecifications(ObjectReflectorDefault.java:415)
>        at
> org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.loadSpecifications(ObjectReflectorDefault.java:428)
>        at
> org.apache.isis.core.metamodel.specloader.specimpl.FacetedMethodsBuilder.representsAction(FacetedMethodsBuilder.java:455)
>        at
> org.apache.isis.core.metamodel.specloader.specimpl.FacetedMethodsBuilder.findActionFacetedMethod(FacetedMethodsBuilder.java:404)
>        at
> org.apache.isis.core.metamodel.specloader.specimpl.FacetedMethodsBuilder.findActionFacetedMethods(FacetedMethodsBuilder.java:388)
>        at
> org.apache.isis.core.metamodel.specloader.specimpl.FacetedMethodsBuilder.findActionFacetedMethods(FacetedMethodsBuilder.java:367)
>        at
> org.apache.isis.core.metamodel.specloader.specimpl.FacetedMethodsBuilder.getActionFacetedMethods(FacetedMethodsBuilder.java:343)
>        at
> org.apache.isis.core.metamodel.specloader.specimpl.dflt.ObjectSpecificationDefault.createActions(ObjectSpecificationDefault.java:222)
>        at
> org.apache.isis.core.metamodel.specloader.specimpl.dflt.ObjectSpecificationDefault.introspectTypeHierarchyAndMembers(ObjectSpecificationDefault.java:167)
>        at
> org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.introspectIfRequired(ObjectReflectorDefault.java:499)
>        at
> org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.loadSpecificationForSubstitutedClass(ObjectReflectorDefault.java:400)
>        at
> org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.internalLoadSpecification(ObjectReflectorDefault.java:378)
>        at
> org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.primeCache(ObjectReflectorDefault.java:269)
>        at
> org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.initAndValidate(ObjectReflectorDefault.java:244)
>        at
> org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.init(ObjectReflectorDefault.java:205)
>        at
> org.apache.isis.core.runtime.system.session.IsisSessionFactoryDefault.init(IsisSessionFactoryDefault.java:192)
>        at
> org.apache.isis.core.runtime.system.IsisSystemFixturesHookAbstract.init(IsisSystemFixturesHookAbstract.java:120)
>        at
> org.apache.isis.core.runtime.runner.IsisInjectModule.provideIsisSystem(IsisInjectModule.java:133)
>        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>        at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>        at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>        at java.lang.reflect.Method.invoke(Method.java:606)
>        at
> com.google.inject.internal.ProviderMethod.get(ProviderMethod.java:104)
>        at
> com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:40)
>        at
> com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46)
>        at
> com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1031)
>        at
> com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
>        at com.google.inject.Scopes$1$1.get(Scopes.java:65)
>        at
> com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:40)
>        at
> com.google.inject.internal.SingleFieldInjector.inject(SingleFieldInjector.java:53)
>        at
> com.google.inject.internal.MembersInjectorImpl.injectMembers(MembersInjectorImpl.java:110)
>        at
> com.google.inject.internal.MembersInjectorImpl$1.call(MembersInjectorImpl.java:75)
>        at
> com.google.inject.internal.MembersInjectorImpl$1.call(MembersInjectorImpl.java:73)
>        at
> com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1024)
>        at
> com.google.inject.internal.MembersInjectorImpl.injectAndNotify(MembersInjectorImpl.java:73)
>        at
> com.google.inject.internal.MembersInjectorImpl.injectMembers(MembersInjectorImpl.java:60)
>        ... 50 more
> 22:52:14,167  [WicketFilter         main       ERROR]  The initialization
> of an application with name 'WicketFilter' has failed.
> com.google.inject.ProvisionException: Guice provision errors:
>
>
>
> ________________________________
>
> This e-mail may contain Sprint proprietary information intended for the
> sole use of the recipient(s). Any use by others is prohibited. If you are
> not the intended recipient, please contact the sender and delete all copies
> of the message.
>
> ________________________________
>
> This e-mail may contain Sprint proprietary information intended for the
> sole use of the recipient(s). Any use by others is prohibited. If you are
> not the intended recipient, please contact the sender and delete all copies
> of the message.
>

Re: Working on a branch with latest datanucleus

Posted by Martin Grigorov <mg...@apache.org>.
Hi,

Use "mvn dependency:tree" in the module which pom.xml is being changed.
Also in your application.
This way you will see which version is in the classpath and how it is
referenced.

Martin Grigorov
Wicket Training and Consulting
https://twitter.com/mtgrigorov

On Wed, Dec 24, 2014 at 7:24 AM, Branham, Jeremy [HR] <
Jeremy.D.Branham@sprint.com> wrote:

> The line numbers didn't match because a different version of the class was
> being loaded.
> I added a null check that solved the issue, but the code running hadn't
> picked up the change yet.
>
>
> Jeremy D. Branham
> Tel: **DOTNET
>
>
> -----Original Message-----
> From: Branham, Jeremy [HR]
> Sent: Tuesday, December 23, 2014 11:04 PM
> To: users@isis.apache.org
> Subject: Working on a branch with latest datanucleus
>
> Sorry for the massive stack trace, but I was looking for some pointers on
> what might be happing here.
> I'm having a bit of difficulty debugging because the line numbers reported
> don't seem to match the source files, and even when stepping through the
> code. [maybe something wrong in my dev env]
>
> I'm working on a branch with a newer datanucleus support [4.0.4] and seems
> to be an issue with the spec loader.
> I understand if there is no support for this yet.
>
>
> 22:52:01,445  [Reflections          main       INFO ]  Reflections took
> 421 ms to scan 7 urls, producing 148 keys and 716 values
> 22:52:01,523  [ServiceInstantiator  main       DEBUG]  loading class for
> service: dom.simple.SimpleObjects
> 22:52:01,523  [ServiceInstantiator  main       DEBUG]  loading class for
> service: fixture.simple.SimpleObjectsFixturesService
> 22:52:01,523  [ServiceInstantiator  main       DEBUG]  loading class for
> service: org.apache.isis.applib.annotation.Bulk$InteractionContext
> 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading class for
> service:
> org.apache.isis.applib.services.bookmark.BookmarkHolderActionContributions
> 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading class for
> service:
> org.apache.isis.applib.services.classdiscovery.ClassDiscoveryServiceUsingReflections
> 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading class for
> service: org.apache.isis.applib.services.clock.ClockService
> 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading class for
> service: org.apache.isis.applib.services.command.CommandContext
> 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading class for
> service: org.apache.isis.applib.services.queryresultscache.QueryResultsCache
> 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading class for
> service: org.apache.isis.applib.services.scratchpad.Scratchpad
> 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading class for
> service:
> org.apache.isis.core.metamodel.services.bookmarks.BookmarkServiceDefault
> 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading class for
> service:
> org.apache.isis.core.metamodel.services.container.DomainObjectContainerDefault
> 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading class for
> service:
> org.apache.isis.core.runtime.services.background.BackgroundServiceDefault
> 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading class for
> service: org.apache.isis.core.runtime.services.memento.MementoServiceDefault
> 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading class for
> service:
> org.apache.isis.core.runtime.services.xmlsnapshot.XmlSnapshotServiceDefault
> 22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading class for
> service: org.apache.isis.core.wrapper.WrapperFactoryDefault
> 22:52:01,587  [ServiceInstantiator  main       DEBUG]  loading class for
> service:
> org.apache.isis.objectstore.jdo.applib.service.exceprecog.ExceptionRecognizerCompositeForJdoObjectStore
> 22:52:01,618  [ServiceInstantiator  main       DEBUG]  loading class for
> service:
> org.apache.isis.objectstore.jdo.datanucleus.service.eventbus.EventBusServiceJdo
> 22:52:01,618  [ServiceInstantiator  main       DEBUG]  loading class for
> service:
> org.apache.isis.objectstore.jdo.datanucleus.service.support.IsisJdoSupportImpl
> 22:52:01,618  [ServiceInstantiator  main       DEBUG]  loading class for
> service:
> org.apache.isis.viewer.restfulobjects.rendering.service.RepresentationServiceForRestfulObjects
> 22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected
> org.apache.isis.core.metamodel.services.container.DomainObjectContainerDefault@397c8a21
> into SimpleObjects@529d935d[]
> 22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected
> org.apache.isis.core.runtime.services.memento.MementoServiceDefault@6cdd377c
> into SimpleObjectsFixturesService@2f65e5ba[]
> 22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected
> org.apache.isis.core.metamodel.services.bookmarks.BookmarkServiceDefault@4acd2ea5
> into SimpleObjectsFixturesService@2f65e5ba[]
> 22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected
> org.apache.isis.applib.services.classdiscovery.ClassDiscoveryServiceUsingReflections@64b17900
> into SimpleObjectsFixturesService@2f65e5ba[]
> 22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected
> org.apache.isis.core.metamodel.services.container.DomainObjectContainerDefault@397c8a21
> into SimpleObjectsFixturesService@2f65e5ba[]
> 22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected
> org.apache.isis.core.metamodel.services.bookmarks.BookmarkServiceDefault@4acd2ea5
> into BookmarkHolderActionContributions@3f7f22a5[]
> 22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected
> org.apache.isis.core.metamodel.services.container.DomainObjectContainerDefault@397c8a21
> into ClassDiscoveryServiceUsingReflections@64b17900[]
> 22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected
> org.apache.isis.core.wrapper.WrapperFactoryDefault@33bb9f34 into
> BookmarkServiceDefault@4acd2ea5[]
> 22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected
> org.apache.isis.core.wrapper.WrapperFactoryDefault@33bb9f34 into
> DomainObjectContainerDefault@397c8a21[]
> 22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected
> org.apache.isis.core.metamodel.services.bookmarks.BookmarkServiceDefault@4acd2ea5
> into BackgroundServiceDefault@4898c8f9[]
> 22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected
> org.apache.isis.core.runtime.services.ServiceInstantiator$2@26b278ab into
> BackgroundServiceDefault@4898c8f9[]
> 22:52:01,727  [ObjectReflectorDefault main       DEBUG]  initialising
> org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault@1e6144db
> 22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected
> org.apache.isis.core.metamodel.services.container.DomainObjectContainerDefault@397c8a21
> into SimpleObjects@529d935d[]
> 22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected
> org.apache.isis.core.runtime.services.memento.MementoServiceDefault@6cdd377c
> into SimpleObjectsFixturesService@2f65e5ba[]
> 22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected
> org.apache.isis.core.metamodel.services.bookmarks.BookmarkServiceDefault@4acd2ea5
> into SimpleObjectsFixturesService@2f65e5ba[]
> 22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected
> org.apache.isis.applib.services.classdiscovery.ClassDiscoveryServiceUsingReflections@64b17900
> into SimpleObjectsFixturesService@2f65e5ba[]
> 22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected
> org.apache.isis.core.metamodel.services.container.DomainObjectContainerDefault@397c8a21
> into SimpleObjectsFixturesService@2f65e5ba[]
> 22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected
> org.apache.isis.core.metamodel.services.bookmarks.BookmarkServiceDefault@4acd2ea5
> into BookmarkHolderActionContributions@3f7f22a5[]
> 22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected
> org.apache.isis.core.metamodel.services.container.DomainObjectContainerDefault@397c8a21
> into ClassDiscoveryServiceUsingReflections@64b17900[]
> 22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected
> org.apache.isis.core.wrapper.WrapperFactoryDefault@33bb9f34 into
> BookmarkServiceDefault@4acd2ea5[]
> 22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected
> org.apache.isis.core.wrapper.WrapperFactoryDefault@33bb9f34 into
> DomainObjectContainerDefault@397c8a21[]
> 22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected
> org.apache.isis.core.metamodel.services.bookmarks.BookmarkServiceDefault@4acd2ea5
> into BackgroundServiceDefault@4898c8f9[]
> 22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected
> org.apache.isis.core.runtime.services.ServiceInstantiator$2@26b278ab into
> BackgroundServiceDefault@4898c8f9[]
> 22:52:14,042  [ObjectSpecificationAbstract main       DEBUG]    Superclass
> java.lang.Object
> 22:52:14,152  [ObjectSpecificationAbstract main       DEBUG]    Superclass
> java.lang.Object
> 22:52:14,167  [IsisWicketApplication main       ERROR]  Failed to
> initialize
> com.google.inject.ProvisionException: Guice provision errors:
>
> 1) Error in custom provider, java.lang.NullPointerException
>   at
> org.apache.isis.core.runtime.runner.IsisInjectModule.provideIsisSystem(IsisInjectModule.java:132)
>   at
> org.apache.isis.core.runtime.runner.IsisInjectModule.provideIsisSystem(IsisInjectModule.java:132)
>   while locating org.apache.isis.core.runtime.system.IsisSystem
>     for field at
> org.apache.isis.viewer.wicket.viewer.IsisWicketApplication.system(IsisWicketApplication.java:138)
>   while locating webapp.SimpleApplication
>
> 1 error
>        at
> com.google.inject.internal.Errors.throwProvisionExceptionIfErrorsExist(Errors.java:451)
>        at
> com.google.inject.internal.MembersInjectorImpl.injectMembers(MembersInjectorImpl.java:65)
>        at
> com.google.inject.internal.InjectorImpl.injectMembers(InjectorImpl.java:944)
>        at
> org.apache.isis.viewer.wicket.viewer.IsisWicketApplication.init(IsisWicketApplication.java:248)
>        at webapp.SimpleApplication.init(SimpleApplication.java:81)
>        at
> org.apache.wicket.Application.initApplication(Application.java:823)
>        at
> org.apache.wicket.protocol.http.WicketFilter.init(WicketFilter.java:424)
>        at
> org.apache.wicket.protocol.http.WicketFilter.init(WicketFilter.java:351)
>        at
> org.mortbay.jetty.servlet.FilterHolder.doStart(FilterHolder.java:97)
>        at
> org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
>        at
> org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:713)
>        at org.mortbay.jetty.servlet.Context.startContext(Context.java:140)
>        at
> org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1282)
>        at
> org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:518)
>        at
> org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:499)
>        at
> org.mortbay.jetty.plugin.Jetty6PluginWebAppContext.doStart(Jetty6PluginWebAppContext.java:115)
>        at
> org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
>        at
> org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.java:152)
>        at
> org.mortbay.jetty.handler.ContextHandlerCollection.doStart(ContextHandlerCollection.java:156)
>        at
> org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
>        at
> org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.java:152)
>        at
> org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
>        at
> org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)
>        at org.mortbay.jetty.Server.doStart(Server.java:224)
>        at
> org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
>        at
> org.mortbay.jetty.plugin.Jetty6PluginServer.start(Jetty6PluginServer.java:132)
>        at
> org.mortbay.jetty.plugin.AbstractJettyMojo.startJetty(AbstractJettyMojo.java:454)
>        at
> org.mortbay.jetty.plugin.AbstractJettyMojo.execute(AbstractJettyMojo.java:396)
>        at
> org.mortbay.jetty.plugin.AbstractJettyRunMojo.execute(AbstractJettyRunMojo.java:210)
>        at
> org.mortbay.jetty.plugin.Jetty6RunMojo.execute(Jetty6RunMojo.java:184)
>        at
> org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:106)
>        at
> org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208)
>        at
> org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
>        at
> org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
>        at
> org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84)
>        at
> org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59)
>        at
> org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183)
>        at
> org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161)
>        at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:317)
>        at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:152)
>        at org.apache.maven.cli.MavenCli.execute(MavenCli.java:555)
>        at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:214)
>        at org.apache.maven.cli.MavenCli.main(MavenCli.java:158)
>        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>        at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>        at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>        at java.lang.reflect.Method.invoke(Method.java:606)
>        at
> org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
>        at
> org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
>        at
> org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
>        at
> org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
>        at org.codehaus.classworlds.Launcher.main(Launcher.java:46)
> Caused by: java.lang.NullPointerException
>        at
> org.apache.isis.core.metamodel.specloader.classsubstitutor.ClassSubstitutor.getClass(ClassSubstitutor.java:54)
>        at
> org.apache.isis.core.metamodel.specloader.classsubstitutor.ClassSubstitutor.getClass(ClassSubstitutor.java:55)
>        at
> org.apache.isis.core.metamodel.specloader.specimpl.dflt.ObjectSpecificationDefault.introspectTypeHierarchyAndMembers(ObjectSpecificationDefault.java:146)
>        at
> org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.introspectIfRequired(ObjectReflectorDefault.java:499)
>        at
> org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.loadSpecificationForSubstitutedClass(ObjectReflectorDefault.java:400)
>        at
> org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.internalLoadSpecification(ObjectReflectorDefault.java:378)
>        at
> org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.loadSpecifications(ObjectReflectorDefault.java:415)
>        at
> org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.loadSpecifications(ObjectReflectorDefault.java:428)
>        at
> org.apache.isis.core.metamodel.specloader.specimpl.FacetedMethodsBuilder.representsAction(FacetedMethodsBuilder.java:455)
>        at
> org.apache.isis.core.metamodel.specloader.specimpl.FacetedMethodsBuilder.findActionFacetedMethod(FacetedMethodsBuilder.java:404)
>        at
> org.apache.isis.core.metamodel.specloader.specimpl.FacetedMethodsBuilder.findActionFacetedMethods(FacetedMethodsBuilder.java:388)
>        at
> org.apache.isis.core.metamodel.specloader.specimpl.FacetedMethodsBuilder.findActionFacetedMethods(FacetedMethodsBuilder.java:367)
>        at
> org.apache.isis.core.metamodel.specloader.specimpl.FacetedMethodsBuilder.getActionFacetedMethods(FacetedMethodsBuilder.java:343)
>        at
> org.apache.isis.core.metamodel.specloader.specimpl.dflt.ObjectSpecificationDefault.createActions(ObjectSpecificationDefault.java:222)
>        at
> org.apache.isis.core.metamodel.specloader.specimpl.dflt.ObjectSpecificationDefault.introspectTypeHierarchyAndMembers(ObjectSpecificationDefault.java:167)
>        at
> org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.introspectIfRequired(ObjectReflectorDefault.java:499)
>        at
> org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.loadSpecificationForSubstitutedClass(ObjectReflectorDefault.java:400)
>        at
> org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.internalLoadSpecification(ObjectReflectorDefault.java:378)
>        at
> org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.primeCache(ObjectReflectorDefault.java:269)
>        at
> org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.initAndValidate(ObjectReflectorDefault.java:244)
>        at
> org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.init(ObjectReflectorDefault.java:205)
>        at
> org.apache.isis.core.runtime.system.session.IsisSessionFactoryDefault.init(IsisSessionFactoryDefault.java:192)
>        at
> org.apache.isis.core.runtime.system.IsisSystemFixturesHookAbstract.init(IsisSystemFixturesHookAbstract.java:120)
>        at
> org.apache.isis.core.runtime.runner.IsisInjectModule.provideIsisSystem(IsisInjectModule.java:133)
>        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>        at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>        at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>        at java.lang.reflect.Method.invoke(Method.java:606)
>        at
> com.google.inject.internal.ProviderMethod.get(ProviderMethod.java:104)
>        at
> com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:40)
>        at
> com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46)
>        at
> com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1031)
>        at
> com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
>        at com.google.inject.Scopes$1$1.get(Scopes.java:65)
>        at
> com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:40)
>        at
> com.google.inject.internal.SingleFieldInjector.inject(SingleFieldInjector.java:53)
>        at
> com.google.inject.internal.MembersInjectorImpl.injectMembers(MembersInjectorImpl.java:110)
>        at
> com.google.inject.internal.MembersInjectorImpl$1.call(MembersInjectorImpl.java:75)
>        at
> com.google.inject.internal.MembersInjectorImpl$1.call(MembersInjectorImpl.java:73)
>        at
> com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1024)
>        at
> com.google.inject.internal.MembersInjectorImpl.injectAndNotify(MembersInjectorImpl.java:73)
>        at
> com.google.inject.internal.MembersInjectorImpl.injectMembers(MembersInjectorImpl.java:60)
>        ... 50 more
> 22:52:14,167  [WicketFilter         main       ERROR]  The initialization
> of an application with name 'WicketFilter' has failed.
> com.google.inject.ProvisionException: Guice provision errors:
>
>
>
> ________________________________
>
> This e-mail may contain Sprint proprietary information intended for the
> sole use of the recipient(s). Any use by others is prohibited. If you are
> not the intended recipient, please contact the sender and delete all copies
> of the message.
>
> ________________________________
>
> This e-mail may contain Sprint proprietary information intended for the
> sole use of the recipient(s). Any use by others is prohibited. If you are
> not the intended recipient, please contact the sender and delete all copies
> of the message.
>

RE: Working on a branch with latest datanucleus

Posted by "Branham, Jeremy [HR]" <Je...@sprint.com>.
The line numbers didn't match because a different version of the class was being loaded.
I added a null check that solved the issue, but the code running hadn't picked up the change yet.


Jeremy D. Branham
Tel: **DOTNET


-----Original Message-----
From: Branham, Jeremy [HR]
Sent: Tuesday, December 23, 2014 11:04 PM
To: users@isis.apache.org
Subject: Working on a branch with latest datanucleus

Sorry for the massive stack trace, but I was looking for some pointers on what might be happing here.
I'm having a bit of difficulty debugging because the line numbers reported don't seem to match the source files, and even when stepping through the code. [maybe something wrong in my dev env]

I'm working on a branch with a newer datanucleus support [4.0.4] and seems to be an issue with the spec loader.
I understand if there is no support for this yet.


22:52:01,445  [Reflections          main       INFO ]  Reflections took 421 ms to scan 7 urls, producing 148 keys and 716 values
22:52:01,523  [ServiceInstantiator  main       DEBUG]  loading class for service: dom.simple.SimpleObjects
22:52:01,523  [ServiceInstantiator  main       DEBUG]  loading class for service: fixture.simple.SimpleObjectsFixturesService
22:52:01,523  [ServiceInstantiator  main       DEBUG]  loading class for service: org.apache.isis.applib.annotation.Bulk$InteractionContext
22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading class for service: org.apache.isis.applib.services.bookmark.BookmarkHolderActionContributions
22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading class for service: org.apache.isis.applib.services.classdiscovery.ClassDiscoveryServiceUsingReflections
22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading class for service: org.apache.isis.applib.services.clock.ClockService
22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading class for service: org.apache.isis.applib.services.command.CommandContext
22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading class for service: org.apache.isis.applib.services.queryresultscache.QueryResultsCache
22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading class for service: org.apache.isis.applib.services.scratchpad.Scratchpad
22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading class for service: org.apache.isis.core.metamodel.services.bookmarks.BookmarkServiceDefault
22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading class for service: org.apache.isis.core.metamodel.services.container.DomainObjectContainerDefault
22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading class for service: org.apache.isis.core.runtime.services.background.BackgroundServiceDefault
22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading class for service: org.apache.isis.core.runtime.services.memento.MementoServiceDefault
22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading class for service: org.apache.isis.core.runtime.services.xmlsnapshot.XmlSnapshotServiceDefault
22:52:01,571  [ServiceInstantiator  main       DEBUG]  loading class for service: org.apache.isis.core.wrapper.WrapperFactoryDefault
22:52:01,587  [ServiceInstantiator  main       DEBUG]  loading class for service: org.apache.isis.objectstore.jdo.applib.service.exceprecog.ExceptionRecognizerCompositeForJdoObjectStore
22:52:01,618  [ServiceInstantiator  main       DEBUG]  loading class for service: org.apache.isis.objectstore.jdo.datanucleus.service.eventbus.EventBusServiceJdo
22:52:01,618  [ServiceInstantiator  main       DEBUG]  loading class for service: org.apache.isis.objectstore.jdo.datanucleus.service.support.IsisJdoSupportImpl
22:52:01,618  [ServiceInstantiator  main       DEBUG]  loading class for service: org.apache.isis.viewer.restfulobjects.rendering.service.RepresentationServiceForRestfulObjects
22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected org.apache.isis.core.metamodel.services.container.DomainObjectContainerDefault@397c8a21 into SimpleObjects@529d935d[]
22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected org.apache.isis.core.runtime.services.memento.MementoServiceDefault@6cdd377c into SimpleObjectsFixturesService@2f65e5ba[]
22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected org.apache.isis.core.metamodel.services.bookmarks.BookmarkServiceDefault@4acd2ea5 into SimpleObjectsFixturesService@2f65e5ba[]
22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected org.apache.isis.applib.services.classdiscovery.ClassDiscoveryServiceUsingReflections@64b17900 into SimpleObjectsFixturesService@2f65e5ba[]
22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected org.apache.isis.core.metamodel.services.container.DomainObjectContainerDefault@397c8a21 into SimpleObjectsFixturesService@2f65e5ba[]
22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected org.apache.isis.core.metamodel.services.bookmarks.BookmarkServiceDefault@4acd2ea5 into BookmarkHolderActionContributions@3f7f22a5[]
22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected org.apache.isis.core.metamodel.services.container.DomainObjectContainerDefault@397c8a21 into ClassDiscoveryServiceUsingReflections@64b17900[]
22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected org.apache.isis.core.wrapper.WrapperFactoryDefault@33bb9f34 into BookmarkServiceDefault@4acd2ea5[]
22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected org.apache.isis.core.wrapper.WrapperFactoryDefault@33bb9f34 into DomainObjectContainerDefault@397c8a21[]
22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected org.apache.isis.core.metamodel.services.bookmarks.BookmarkServiceDefault@4acd2ea5 into BackgroundServiceDefault@4898c8f9[]
22:52:01,712  [ServicesInjectorDefault main       DEBUG]  injected org.apache.isis.core.runtime.services.ServiceInstantiator$2@26b278ab into BackgroundServiceDefault@4898c8f9[]
22:52:01,727  [ObjectReflectorDefault main       DEBUG]  initialising org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault@1e6144db
22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected org.apache.isis.core.metamodel.services.container.DomainObjectContainerDefault@397c8a21 into SimpleObjects@529d935d[]
22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected org.apache.isis.core.runtime.services.memento.MementoServiceDefault@6cdd377c into SimpleObjectsFixturesService@2f65e5ba[]
22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected org.apache.isis.core.metamodel.services.bookmarks.BookmarkServiceDefault@4acd2ea5 into SimpleObjectsFixturesService@2f65e5ba[]
22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected org.apache.isis.applib.services.classdiscovery.ClassDiscoveryServiceUsingReflections@64b17900 into SimpleObjectsFixturesService@2f65e5ba[]
22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected org.apache.isis.core.metamodel.services.container.DomainObjectContainerDefault@397c8a21 into SimpleObjectsFixturesService@2f65e5ba[]
22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected org.apache.isis.core.metamodel.services.bookmarks.BookmarkServiceDefault@4acd2ea5 into BookmarkHolderActionContributions@3f7f22a5[]
22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected org.apache.isis.core.metamodel.services.container.DomainObjectContainerDefault@397c8a21 into ClassDiscoveryServiceUsingReflections@64b17900[]
22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected org.apache.isis.core.wrapper.WrapperFactoryDefault@33bb9f34 into BookmarkServiceDefault@4acd2ea5[]
22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected org.apache.isis.core.wrapper.WrapperFactoryDefault@33bb9f34 into DomainObjectContainerDefault@397c8a21[]
22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected org.apache.isis.core.metamodel.services.bookmarks.BookmarkServiceDefault@4acd2ea5 into BackgroundServiceDefault@4898c8f9[]
22:52:01,727  [ServicesInjectorDefault main       DEBUG]  injected org.apache.isis.core.runtime.services.ServiceInstantiator$2@26b278ab into BackgroundServiceDefault@4898c8f9[]
22:52:14,042  [ObjectSpecificationAbstract main       DEBUG]    Superclass java.lang.Object
22:52:14,152  [ObjectSpecificationAbstract main       DEBUG]    Superclass java.lang.Object
22:52:14,167  [IsisWicketApplication main       ERROR]  Failed to initialize
com.google.inject.ProvisionException: Guice provision errors:

1) Error in custom provider, java.lang.NullPointerException
  at org.apache.isis.core.runtime.runner.IsisInjectModule.provideIsisSystem(IsisInjectModule.java:132)
  at org.apache.isis.core.runtime.runner.IsisInjectModule.provideIsisSystem(IsisInjectModule.java:132)
  while locating org.apache.isis.core.runtime.system.IsisSystem
    for field at org.apache.isis.viewer.wicket.viewer.IsisWicketApplication.system(IsisWicketApplication.java:138)
  while locating webapp.SimpleApplication

1 error
       at com.google.inject.internal.Errors.throwProvisionExceptionIfErrorsExist(Errors.java:451)
       at com.google.inject.internal.MembersInjectorImpl.injectMembers(MembersInjectorImpl.java:65)
       at com.google.inject.internal.InjectorImpl.injectMembers(InjectorImpl.java:944)
       at org.apache.isis.viewer.wicket.viewer.IsisWicketApplication.init(IsisWicketApplication.java:248)
       at webapp.SimpleApplication.init(SimpleApplication.java:81)
       at org.apache.wicket.Application.initApplication(Application.java:823)
       at org.apache.wicket.protocol.http.WicketFilter.init(WicketFilter.java:424)
       at org.apache.wicket.protocol.http.WicketFilter.init(WicketFilter.java:351)
       at org.mortbay.jetty.servlet.FilterHolder.doStart(FilterHolder.java:97)
       at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
       at org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:713)
       at org.mortbay.jetty.servlet.Context.startContext(Context.java:140)
       at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1282)
       at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:518)
       at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:499)
       at org.mortbay.jetty.plugin.Jetty6PluginWebAppContext.doStart(Jetty6PluginWebAppContext.java:115)
       at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
       at org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.java:152)
       at org.mortbay.jetty.handler.ContextHandlerCollection.doStart(ContextHandlerCollection.java:156)
       at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
       at org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.java:152)
       at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
       at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)
       at org.mortbay.jetty.Server.doStart(Server.java:224)
       at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
       at org.mortbay.jetty.plugin.Jetty6PluginServer.start(Jetty6PluginServer.java:132)
       at org.mortbay.jetty.plugin.AbstractJettyMojo.startJetty(AbstractJettyMojo.java:454)
       at org.mortbay.jetty.plugin.AbstractJettyMojo.execute(AbstractJettyMojo.java:396)
       at org.mortbay.jetty.plugin.AbstractJettyRunMojo.execute(AbstractJettyRunMojo.java:210)
       at org.mortbay.jetty.plugin.Jetty6RunMojo.execute(Jetty6RunMojo.java:184)
       at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:106)
       at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208)
       at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
       at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
       at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84)
       at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59)
       at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183)
       at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161)
       at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:317)
       at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:152)
       at org.apache.maven.cli.MavenCli.execute(MavenCli.java:555)
       at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:214)
       at org.apache.maven.cli.MavenCli.main(MavenCli.java:158)
       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
       at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
       at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
       at java.lang.reflect.Method.invoke(Method.java:606)
       at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
       at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
       at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
       at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
       at org.codehaus.classworlds.Launcher.main(Launcher.java:46)
Caused by: java.lang.NullPointerException
       at org.apache.isis.core.metamodel.specloader.classsubstitutor.ClassSubstitutor.getClass(ClassSubstitutor.java:54)
       at org.apache.isis.core.metamodel.specloader.classsubstitutor.ClassSubstitutor.getClass(ClassSubstitutor.java:55)
       at org.apache.isis.core.metamodel.specloader.specimpl.dflt.ObjectSpecificationDefault.introspectTypeHierarchyAndMembers(ObjectSpecificationDefault.java:146)
       at org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.introspectIfRequired(ObjectReflectorDefault.java:499)
       at org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.loadSpecificationForSubstitutedClass(ObjectReflectorDefault.java:400)
       at org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.internalLoadSpecification(ObjectReflectorDefault.java:378)
       at org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.loadSpecifications(ObjectReflectorDefault.java:415)
       at org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.loadSpecifications(ObjectReflectorDefault.java:428)
       at org.apache.isis.core.metamodel.specloader.specimpl.FacetedMethodsBuilder.representsAction(FacetedMethodsBuilder.java:455)
       at org.apache.isis.core.metamodel.specloader.specimpl.FacetedMethodsBuilder.findActionFacetedMethod(FacetedMethodsBuilder.java:404)
       at org.apache.isis.core.metamodel.specloader.specimpl.FacetedMethodsBuilder.findActionFacetedMethods(FacetedMethodsBuilder.java:388)
       at org.apache.isis.core.metamodel.specloader.specimpl.FacetedMethodsBuilder.findActionFacetedMethods(FacetedMethodsBuilder.java:367)
       at org.apache.isis.core.metamodel.specloader.specimpl.FacetedMethodsBuilder.getActionFacetedMethods(FacetedMethodsBuilder.java:343)
       at org.apache.isis.core.metamodel.specloader.specimpl.dflt.ObjectSpecificationDefault.createActions(ObjectSpecificationDefault.java:222)
       at org.apache.isis.core.metamodel.specloader.specimpl.dflt.ObjectSpecificationDefault.introspectTypeHierarchyAndMembers(ObjectSpecificationDefault.java:167)
       at org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.introspectIfRequired(ObjectReflectorDefault.java:499)
       at org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.loadSpecificationForSubstitutedClass(ObjectReflectorDefault.java:400)
       at org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.internalLoadSpecification(ObjectReflectorDefault.java:378)
       at org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.primeCache(ObjectReflectorDefault.java:269)
       at org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.initAndValidate(ObjectReflectorDefault.java:244)
       at org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.init(ObjectReflectorDefault.java:205)
       at org.apache.isis.core.runtime.system.session.IsisSessionFactoryDefault.init(IsisSessionFactoryDefault.java:192)
       at org.apache.isis.core.runtime.system.IsisSystemFixturesHookAbstract.init(IsisSystemFixturesHookAbstract.java:120)
       at org.apache.isis.core.runtime.runner.IsisInjectModule.provideIsisSystem(IsisInjectModule.java:133)
       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
       at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
       at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
       at java.lang.reflect.Method.invoke(Method.java:606)
       at com.google.inject.internal.ProviderMethod.get(ProviderMethod.java:104)
       at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:40)
       at com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46)
       at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1031)
       at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
       at com.google.inject.Scopes$1$1.get(Scopes.java:65)
       at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:40)
       at com.google.inject.internal.SingleFieldInjector.inject(SingleFieldInjector.java:53)
       at com.google.inject.internal.MembersInjectorImpl.injectMembers(MembersInjectorImpl.java:110)
       at com.google.inject.internal.MembersInjectorImpl$1.call(MembersInjectorImpl.java:75)
       at com.google.inject.internal.MembersInjectorImpl$1.call(MembersInjectorImpl.java:73)
       at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1024)
       at com.google.inject.internal.MembersInjectorImpl.injectAndNotify(MembersInjectorImpl.java:73)
       at com.google.inject.internal.MembersInjectorImpl.injectMembers(MembersInjectorImpl.java:60)
       ... 50 more
22:52:14,167  [WicketFilter         main       ERROR]  The initialization of an application with name 'WicketFilter' has failed.
com.google.inject.ProvisionException: Guice provision errors:



________________________________

This e-mail may contain Sprint proprietary information intended for the sole use of the recipient(s). Any use by others is prohibited. If you are not the intended recipient, please contact the sender and delete all copies of the message.

________________________________

This e-mail may contain Sprint proprietary information intended for the sole use of the recipient(s). Any use by others is prohibited. If you are not the intended recipient, please contact the sender and delete all copies of the message.