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:d...@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.bran...@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:d...@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.bran...@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:d...@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.bran...@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.