Jira still not responding (at least from here) ... I'll try again in a few minutes.
El 11/06/2013, a las 12:18, Dan Haywood <[email protected]> escribió: > More detail to add to that ticket, then, when you raise it. > > Ta > Dan > > > On 11 June 2013 11:16, GESCONSULTOR - Óscar Bou <[email protected]>wrote: > >> Upps!!! >> >> >> With this code: >> >> public class ToDoItem implements Comparable<ToDoItem> /*, Locatable*/ { // >> GMAP3: uncomment to use https://github.com/danhaywood/isis-wicket-gmap3 >> >> private static final long ONE_WEEK_IN_MILLIS = 7 * 24 * 60 * 60 * >> 1000L; >> >> @ObjectType("TODOCATEGORY") >> public static enum Category { >> Professional { >> @Override >> public Integer myIndex() { >> return 1; >> } >> }, Domestic { >> @Override >> public Integer myIndex() { >> return 2; >> } >> }, Other { >> @Override >> public Integer myIndex() { >> return 3; >> } >> }; >> >> @Programmatic >> public abstract Integer myIndex(); >> } >> >> >> Same exception is thrown. >> >> 12:11:49,412 [Native main DEBUG] SELECT >> 'dom.todo.ToDoItem' AS >> NUCLEUS_TYPE,A0.CATEGORY,A0.COMPLETE,A0.COST,A0.DESCRIPTION,A0.DUEBY,A0.NOTES,A0.OWNEDBY,A0.TODOITEM_ID,A0.VERSION >> FROM TODOITEM A0 >> 12:11:49,412 [Native main DEBUG] SELECT >> 'dom.todo.ToDoItem' AS >> NUCLEUS_TYPE,A0.CATEGORY,A0.COMPLETE,A0.COST,A0.DESCRIPTION,A0.DUEBY,A0.NOTES,A0.OWNEDBY,A0.TODOITEM_ID,A0.VERSION >> FROM TODOITEM A0 >> 12:11:49,412 [FacetedMethodsBuilder main INFO ] introspecting >> dom.todo.ToDoItem$Category$1 >> 12:11:49,412 [FixturesInstallerDelegate main ERROR] installing >> fixture fixture.todo.ToDoItemsFixture failed; aborting >> java.lang.IllegalArgumentException: illegal argument, expected: is a non >> empty string >> at >> org.apache.isis.core.commons.ensure.Ensure.ensureThatArg(Ensure.java:57) >> at >> org.apache.isis.core.metamodel.spec.ObjectSpecId.<init>(ObjectSpecId.java:47) >> at >> org.apache.isis.core.metamodel.spec.ObjectSpecId.of(ObjectSpecId.java:43) >> at >> org.apache.isis.core.progmodel.facets.object.objecttype.ObjectSpecIdFacetAbstract.<init>(ObjectSpecIdFacetAbstract.java:40) >> at >> org.apache.isis.core.progmodel.facets.object.objecttype.ObjectSpecIdFacetDerivedFromClassName.<init>(ObjectSpecIdFacetDerivedFromClassName.java:27) >> at >> org.apache.isis.core.progmodel.facets.object.objecttype.ObjectTypeDerivedFromClassNameFacetFactory.process(ObjectTypeDerivedFromClassNameFacetFactory.java:47) >> at >> org.apache.isis.core.metamodel.specloader.facetprocessor.FacetProcessor.process(FacetProcessor.java:283) >> at >> org.apache.isis.core.metamodel.specloader.specimpl.FacetedMethodsBuilder.introspectClass(FacetedMethodsBuilder.java:178) >> at >> org.apache.isis.core.metamodel.specloader.specimpl.dflt.ObjectSpecificationDefault.introspectTypeHierarchyAndMembers(ObjectSpecificationDefault.java:128) >> at >> org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.introspectIfRequired(ObjectReflectorDefault.java:572) >> at >> org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.loadSpecificationForSubstitutedClass(ObjectReflectorDefault.java:475) >> at >> org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.internalLoadSpecification(ObjectReflectorDefault.java:453) >> at >> org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.loadSpecification(ObjectReflectorDefault.java:448) >> at >> org.apache.isis.core.runtime.persistence.adaptermanager.AdapterManagerDefault.existingOrValueAdapter(AdapterManagerDefault.java:186) >> at >> org.apache.isis.core.runtime.persistence.adaptermanager.AdapterManagerDefault.adapterFor(AdapterManagerDefault.java:160) >> at >> org.apache.isis.core.runtime.persistence.internal.RuntimeContextFromSession$2.adapterFor(RuntimeContextFromSession.java:110) >> at >> org.apache.isis.core.progmodel.facets.properties.defaults.fromtype.PropertyDefaultFacetDerivedFromDefaultedFacet.getDefault(PropertyDefaultFacetDerivedFromDefaultedFacet.java:49) >> at >> org.apache.isis.core.metamodel.specloader.specimpl.OneToOneAssociationImpl.getDefault(OneToOneAssociationImpl.java:210) >> at >> org.apache.isis.core.metamodel.specloader.specimpl.OneToOneAssociationImpl.toDefault(OneToOneAssociationImpl.java:221) >> at >> org.apache.isis.core.metamodel.specloader.specimpl.dflt.ObjectSpecificationDefault.initialize(ObjectSpecificationDefault.java:456) >> at >> org.apache.isis.core.runtime.system.persistence.PersistenceSession.createTransientInstance(PersistenceSession.java:316) >> at >> org.apache.isis.core.runtime.persistence.internal.RuntimeContextFromSession$7.createTransientInstance(RuntimeContextFromSession.java:185) >> at >> org.apache.isis.core.metamodel.services.container.DomainObjectContainerDefault.doCreateTransientInstance(DomainObjectContainerDefault.java:148) >> at >> org.apache.isis.core.metamodel.services.container.DomainObjectContainerDefault.newTransientInstance(DomainObjectContainerDefault.java:100) >> at >> org.apache.isis.applib.AbstractContainedObject.newTransientInstance(AbstractContainedObject.java:41) >> at dom.todo.ToDoItems.newToDo(ToDoItems.java:150) >> at >> fixture.todo.ToDoItemsFixture.createToDoItemForUser(ToDoItemsFixture.java:76) >> at >> fixture.todo.ToDoItemsFixture.installFor(ToDoItemsFixture.java:50) >> at fixture.todo.ToDoItemsFixture.install(ToDoItemsFixture.java:41) >> at >> org.apache.isis.core.runtime.fixtures.FixturesInstallerDelegate.installFixture(FixturesInstallerDelegate.java:213) >> at >> org.apache.isis.core.runtime.fixtures.FixturesInstallerDelegate.installFixtureInTransaction(FixturesInstallerDelegate.java:175) >> at >> org.apache.isis.core.runtime.fixtures.FixturesInstallerDelegate.installFixtures(FixturesInstallerDelegate.java:162) >> at >> org.apache.isis.core.runtime.fixtures.FixturesInstallerDelegate.installFixtures(FixturesInstallerDelegate.java:142) >> at >> org.apache.isis.core.integtestsupport.IsisSystemForTest.wireAndInstallFixtures(IsisSystemForTest.java:292) >> at >> org.apache.isis.core.integtestsupport.IsisSystemForTest.setUpSystem(IsisSystemForTest.java:283) >> at >> org.apache.isis.core.integtestsupport.IsisSystemForTest.setUpSystem(IsisSystemForTest.java:256) >> at >> integtests.AbstractIntegTest$IsisSystemForTestRule$1.initialValue(AbstractIntegTest.java:131) >> at >> integtests.AbstractIntegTest$IsisSystemForTestRule$1.initialValue(AbstractIntegTest.java:128) >> at java.lang.ThreadLocal.setInitialValue(ThreadLocal.java:141) >> at java.lang.ThreadLocal.get(ThreadLocal.java:131) >> at >> integtests.AbstractIntegTest$IsisSystemForTestRule.getIsisSystemForTest(AbstractIntegTest.java:137) >> at >> integtests.AbstractIntegTest$IsisSystemForTestRule.apply(AbstractIntegTest.java:142) >> at >> org.junit.runners.BlockJUnit4ClassRunner.withMethodRules(BlockJUnit4ClassRunner.java:349) >> at >> org.junit.runners.BlockJUnit4ClassRunner.withRules(BlockJUnit4ClassRunner.java:339) >> at >> org.junit.runners.BlockJUnit4ClassRunner.methodBlock(BlockJUnit4ClassRunner.java:256) >> 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.JUnit4TestSet.execute(JUnit4TestSet.java:59) >> at >> org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.executeTestSet(AbstractDirectoryTestSuite.java:115) >> at >> org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.execute(AbstractDirectoryTestSuite.java:102) >> at org.apache.maven.surefire.Surefire.run(Surefire.java:180) >> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) >> at >> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) >> at >> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) >> at java.lang.reflect.Method.invoke(Method.java:597) >> at >> org.apache.maven.surefire.booter.SurefireBooter.runSuitesInProcess(SurefireBooter.java:350) >> at >> org.apache.maven.surefire.booter.SurefireBooter.main(SurefireBooter.java:1021) >> 12:11:49,413 [IsisTransaction main INFO ] abort transaction >> IsisTransaction@49dd63c9[state=IN_PROGRESS,commands=0] >> [INFO] >> ------------------------------------------------------------------------ >> [INFO] Reactor Summary: >> >> >> >> 2. But This works ok: >> >> >> public class ToDoItem implements Comparable<ToDoItem> /*, Locatable*/ { // >> GMAP3: uncomment to use https://github.com/danhaywood/isis-wicket-gmap3 >> >> private static final long ONE_WEEK_IN_MILLIS = 7 * 24 * 60 * 60 * >> 1000L; >> >> @ObjectType("TODOCATEGORY") >> public static enum Category { >> Professional , Domestic, Other; >> >> @Programmatic >> public Integer myIndex() { >> return 1; >> }; >> } >> >> 3. And this works ok also: >> >> public class ToDoItem implements Comparable<ToDoItem> /*, Locatable*/ { // >> GMAP3: uncomment to use https://github.com/danhaywood/isis-wicket-gmap3 >> >> private static final long ONE_WEEK_IN_MILLIS = 7 * 24 * 60 * 60 * >> 1000L; >> >> public static enum Category { >> Professional , Domestic, Other; >> >> @Programmatic >> public Integer myIndex() { >> return 1; >> }; >> } >> >> >> >> The first one is our preferred (and current) implementation. >> >> >> El 11/06/2013, a las 12:01, GESCONSULTOR - Óscar Bou < >> [email protected]> escribió: >> >>> Thanks for the workaround. The second is really fast and doesn't break >> any code :-)) >>> >>> It seems the JIRA site is currently down. I will try again in 30 min. >>> >>> >>> >>> >>> El 11/06/2013, a las 11:56, Dan Haywood <[email protected]> >> escribió: >>> >>>> Hmm, I use that technique a lot myself. Definitely needs fixing. >> Please >>>> raise a ticket. >>>> >>>> ~~~ >>>> In the meantime, a workaround that should work (we have the equivalent >> in >>>> Estatio) is: >>>> >>>> public static enum Category { >>>> Professional, Domestic, Other; >>>> >>>> @Programmatic >>>> public Integer myIndex() { >>>> if(this == Professional) { return 1; } >>>> if(this == Domestic) { return 2; } >>>> if(this == Other) { return 3; } >>>> } >>>> } >>>> >>>> Another workaround that *might* work is to annotate with @ObjectType: >>>> >>>> @ObjectType("TODOCATEGORY") >>>> public static enum Category { >>>> /// your implementation... >>>> >>>> @Programmatic >>>> public abstract Integer myIndex(); >>>> } >>>> >>>> >>>> Thx >>>> Dan >>>> >>>> >>>> >>>> On 11 June 2013 10:48, GESCONSULTOR - Óscar Bou <[email protected] >>> wrote: >>>> >>>>> >>>>> >>>>> We make extensive use of abstract methods defined on Enums, returing >>>>> valuable information regarding them. It seems this is not fully >> supported >>>>> on Isis. >>>>> >>>>> Steps to reproduce on the Archetype: >>>>> >>>>> >>>>> 1. Modify the "Category" enum, replacing its definition by this: >>>>> >>>>> >>>>> public class ToDoItem implements Comparable<ToDoItem> /*, Locatable*/ >> { // >>>>> GMAP3: uncomment to use >> https://github.com/danhaywood/isis-wicket-gmap3 >>>>> >>>>> private static final long ONE_WEEK_IN_MILLIS = 7 * 24 * 60 * 60 * >>>>> 1000L; >>>>> >>>>> public static enum Category { >>>>> Professional { >>>>> @Override >>>>> public Integer myIndex() { >>>>> return 1; >>>>> } >>>>> }, Domestic { >>>>> @Override >>>>> public Integer myIndex() { >>>>> return 2; >>>>> } >>>>> }, Other { >>>>> @Override >>>>> public Integer myIndex() { >>>>> return 3; >>>>> } >>>>> }; >>>>> >>>>> public abstract Integer myIndex(); >>>>> } >>>>> >>>>> >>>>> 2. Try to run the project and the following Exception is thrown (while >>>>> running the tests and installing the Fixture): >>>>> >>>>> 11:45:24,380 [Native main DEBUG] SELECT >>>>> 'dom.todo.ToDoItem' AS >>>>> >> NUCLEUS_TYPE,A0.CATEGORY,A0.COMPLETE,A0.COST,A0.DESCRIPTION,A0.DUEBY,A0.NOTES,A0.OWNEDBY,A0.TODOITEM_ID,A0.VERSION >>>>> FROM TODOITEM A0 >>>>> 11:45:24,381 [Native main DEBUG] SELECT >>>>> 'dom.todo.ToDoItem' AS >>>>> >> NUCLEUS_TYPE,A0.CATEGORY,A0.COMPLETE,A0.COST,A0.DESCRIPTION,A0.DUEBY,A0.NOTES,A0.OWNEDBY,A0.TODOITEM_ID,A0.VERSION >>>>> FROM TODOITEM A0 >>>>> 11:45:24,381 [Native main DEBUG] SELECT >>>>> 'dom.todo.ToDoItem' AS >>>>> >> NUCLEUS_TYPE,A0.CATEGORY,A0.COMPLETE,A0.COST,A0.DESCRIPTION,A0.DUEBY,A0.NOTES,A0.OWNEDBY,A0.TODOITEM_ID,A0.VERSION >>>>> FROM TODOITEM A0 >>>>> 11:45:24,381 [Native main DEBUG] SELECT >>>>> 'dom.todo.ToDoItem' AS >>>>> >> NUCLEUS_TYPE,A0.CATEGORY,A0.COMPLETE,A0.COST,A0.DESCRIPTION,A0.DUEBY,A0.NOTES,A0.OWNEDBY,A0.TODOITEM_ID,A0.VERSION >>>>> FROM TODOITEM A0 >>>>> 11:45:24,382 [FacetedMethodsBuilder main INFO ] introspecting >>>>> dom.todo.ToDoItem$Category$1 >>>>> 11:45:24,382 [FixturesInstallerDelegate main ERROR] installing >>>>> fixture fixture.todo.ToDoItemsFixture failed; aborting >>>>> java.lang.IllegalArgumentException: illegal argument, expected: is a >> non >>>>> empty string >>>>> at >>>>> >> org.apache.isis.core.commons.ensure.Ensure.ensureThatArg(Ensure.java:57) >>>>> at >>>>> >> org.apache.isis.core.metamodel.spec.ObjectSpecId.<init>(ObjectSpecId.java:47) >>>>> at >>>>> >> org.apache.isis.core.metamodel.spec.ObjectSpecId.of(ObjectSpecId.java:43) >>>>> at >>>>> >> org.apache.isis.core.progmodel.facets.object.objecttype.ObjectSpecIdFacetAbstract.<init>(ObjectSpecIdFacetAbstract.java:40) >>>>> at >>>>> >> org.apache.isis.core.progmodel.facets.object.objecttype.ObjectSpecIdFacetDerivedFromClassName.<init>(ObjectSpecIdFacetDerivedFromClassName.java:27) >>>>> at >>>>> >> org.apache.isis.core.progmodel.facets.object.objecttype.ObjectTypeDerivedFromClassNameFacetFactory.process(ObjectTypeDerivedFromClassNameFacetFactory.java:47) >>>>> at >>>>> >> org.apache.isis.core.metamodel.specloader.facetprocessor.FacetProcessor.process(FacetProcessor.java:283) >>>>> at >>>>> >> org.apache.isis.core.metamodel.specloader.specimpl.FacetedMethodsBuilder.introspectClass(FacetedMethodsBuilder.java:178) >>>>> at >>>>> >> org.apache.isis.core.metamodel.specloader.specimpl.dflt.ObjectSpecificationDefault.introspectTypeHierarchyAndMembers(ObjectSpecificationDefault.java:128) >>>>> at >>>>> >> org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.introspectIfRequired(ObjectReflectorDefault.java:572) >>>>> at >>>>> >> org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.loadSpecificationForSubstitutedClass(ObjectReflectorDefault.java:475) >>>>> at >>>>> >> org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.internalLoadSpecification(ObjectReflectorDefault.java:453) >>>>> at >>>>> >> org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault.loadSpecification(ObjectReflectorDefault.java:448) >>>>> at >>>>> >> org.apache.isis.core.runtime.persistence.adaptermanager.AdapterManagerDefault.existingOrValueAdapter(AdapterManagerDefault.java:186) >>>>> at >>>>> >> org.apache.isis.core.runtime.persistence.adaptermanager.AdapterManagerDefault.adapterFor(AdapterManagerDefault.java:160) >>>>> at >>>>> >> org.apache.isis.core.runtime.persistence.internal.RuntimeContextFromSession$2.adapterFor(RuntimeContextFromSession.java:110) >>>>> at >>>>> >> org.apache.isis.core.progmodel.facets.properties.defaults.fromtype.PropertyDefaultFacetDerivedFromDefaultedFacet.getDefault(PropertyDefaultFacetDerivedFromDefaultedFacet.java:49) >>>>> at >>>>> >> org.apache.isis.core.metamodel.specloader.specimpl.OneToOneAssociationImpl.getDefault(OneToOneAssociationImpl.java:210) >>>>> at >>>>> >> org.apache.isis.core.metamodel.specloader.specimpl.OneToOneAssociationImpl.toDefault(OneToOneAssociationImpl.java:221) >>>>> at >>>>> >> org.apache.isis.core.metamodel.specloader.specimpl.dflt.ObjectSpecificationDefault.initialize(ObjectSpecificationDefault.java:456) >>>>> at >>>>> >> org.apache.isis.core.runtime.system.persistence.PersistenceSession.createTransientInstance(PersistenceSession.java:316) >>>>> at >>>>> >> org.apache.isis.core.runtime.persistence.internal.RuntimeContextFromSession$7.createTransientInstance(RuntimeContextFromSession.java:185) >>>>> at >>>>> >> org.apache.isis.core.metamodel.services.container.DomainObjectContainerDefault.doCreateTransientInstance(DomainObjectContainerDefault.java:148) >>>>> at >>>>> >> org.apache.isis.core.metamodel.services.container.DomainObjectContainerDefault.newTransientInstance(DomainObjectContainerDefault.java:100) >>>>> at >>>>> >> org.apache.isis.applib.AbstractContainedObject.newTransientInstance(AbstractContainedObject.java:41) >>>>> at dom.todo.ToDoItems.newToDo(ToDoItems.java:150) >>>>> at >>>>> >> fixture.todo.ToDoItemsFixture.createToDoItemForUser(ToDoItemsFixture.java:76) >>>>> at >>>>> fixture.todo.ToDoItemsFixture.installFor(ToDoItemsFixture.java:50) >>>>> at >> fixture.todo.ToDoItemsFixture.install(ToDoItemsFixture.java:41) >>>>> at >>>>> >> org.apache.isis.core.runtime.fixtures.FixturesInstallerDelegate.installFixture(FixturesInstallerDelegate.java:213) >>>>> at >>>>> >> org.apache.isis.core.runtime.fixtures.FixturesInstallerDelegate.installFixtureInTransaction(FixturesInstallerDelegate.java:175) >>>>> at >>>>> >> org.apache.isis.core.runtime.fixtures.FixturesInstallerDelegate.installFixtures(FixturesInstallerDelegate.java:162) >>>>> at >>>>> >> org.apache.isis.core.runtime.fixtures.FixturesInstallerDelegate.installFixtures(FixturesInstallerDelegate.java:142) >>>>> at >>>>> >> org.apache.isis.core.integtestsupport.IsisSystemForTest.wireAndInstallFixtures(IsisSystemForTest.java:292) >>>>> at >>>>> >> org.apache.isis.core.integtestsupport.IsisSystemForTest.setUpSystem(IsisSystemForTest.java:283) >>>>> at >>>>> >> org.apache.isis.core.integtestsupport.IsisSystemForTest.setUpSystem(IsisSystemForTest.java:256) >>>>> at >>>>> >> integtests.AbstractIntegTest$IsisSystemForTestRule$1.initialValue(AbstractIntegTest.java:131) >>>>> at >>>>> >> integtests.AbstractIntegTest$IsisSystemForTestRule$1.initialValue(AbstractIntegTest.java:128) >>>>> at java.lang.ThreadLocal.setInitialValue(ThreadLocal.java:141) >>>>> at java.lang.ThreadLocal.get(ThreadLocal.java:131) >>>>> at >>>>> >> integtests.AbstractIntegTest$IsisSystemForTestRule.getIsisSystemForTest(AbstractIntegTest.java:137) >>>>> at >>>>> >> integtests.AbstractIntegTest$IsisSystemForTestRule.apply(AbstractIntegTest.java:142) >>>>> at >>>>> >> org.junit.runners.BlockJUnit4ClassRunner.withMethodRules(BlockJUnit4ClassRunner.java:349) >>>>> at >>>>> >> org.junit.runners.BlockJUnit4ClassRunner.withRules(BlockJUnit4ClassRunner.java:339) >>>>> at >>>>> >> org.junit.runners.BlockJUnit4ClassRunner.methodBlock(BlockJUnit4ClassRunner.java:256) >>>>> 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.JUnit4TestSet.execute(JUnit4TestSet.java:59) >>>>> at >>>>> >> org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.executeTestSet(AbstractDirectoryTestSuite.java:115) >>>>> at >>>>> >> org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.execute(AbstractDirectoryTestSuite.java:102) >>>>> at org.apache.maven.surefire.Surefire.run(Surefire.java:180) >>>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) >>>>> at >>>>> >> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) >>>>> at >>>>> >> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) >>>>> at java.lang.reflect.Method.invoke(Method.java:597) >>>>> at >>>>> >> org.apache.maven.surefire.booter.SurefireBooter.runSuitesInProcess(SurefireBooter.java:350) >>>>> at >>>>> >> org.apache.maven.surefire.booter.SurefireBooter.main(SurefireBooter.java:1021) >>>>> 11:45:24,382 [IsisTransaction main INFO ] abort >> transaction >>>>> IsisTransaction@7fbb6976[state=IN_PROGRESS,commands=0] >>>>> 11:45:24,387 [IsisConfigurationDefault main INFO ] adding >>>>> isis.persistor.datanucleus.RegisterEntities.packagePrefix=dom >>>>> 11:45:24,388 [IsisConfigurationDefault main INFO ] adding >>>>> >> isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionURL=jdbc:hsqldb:mem:test >>>>> 11:45:24,388 [IsisConfigurationDefault main INFO ] adding >>>>> >> isis.persistor.datanucleus.impl.datanucleus.defaultInheritanceStrategy=TABLE_PER_CLASS >>>>> 11:45:24,388 [IsisConfigurationDefault main INFO ] adding >>>>> isis.persistor.datanucleus.install-fixtures=true >>>>> 11:45:24,388 [IsisConfigurationDefault main INFO ] adding >>>>> isis.persistor.datanucleus.impl.datanucleus.cache.level2.type=none >>>>> 11:45:24,388 [IsisSystemFixturesHookAbstract main INFO ] >>>>> initialising Isis System >>>>> 11:45:24,388 [IsisSystemFixturesHookAbstract main INFO ] >> working >>>>> directory: /Users/oscarboubou/dev/test/myapp/integtests/. >>>>> 11:45:24,388 [IsisSystemFixturesHookAbstract main INFO ] >> resource >>>>> stream source: null >>>>> 11:45:24,388 [TemplateImageLoaderAwt main INFO ] images to be >>>>> loaded from images/ >>>>> 11:45:24,390 [TemplateImageLoaderAwt main INFO ] images to be >>>>> loaded from images/ >>>>> >>>>> [....] more log here. >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> 3. For us, as they are always @Programmatic methods, we annotate them: >>>>> >>>>> public class ToDoItem implements Comparable<ToDoItem> /*, Locatable*/ >> { // >>>>> GMAP3: uncomment to use >> https://github.com/danhaywood/isis-wicket-gmap3 >>>>> >>>>> private static final long ONE_WEEK_IN_MILLIS = 7 * 24 * 60 * 60 * >>>>> 1000L; >>>>> >>>>> public static enum Category { >>>>> Professional { >>>>> @Override >>>>> @Programmatic >>>>> public Integer myIndex() { >>>>> return 1; >>>>> } >>>>> }, Domestic { >>>>> @Override >>>>> @Programmatic >>>>> public Integer myIndex() { >>>>> return 2; >>>>> } >>>>> }, Other { >>>>> @Override >>>>> @Programmatic >>>>> public Integer myIndex() { >>>>> return 3; >>>>> } >>>>> }; >>>>> >>>>> public abstract Integer myIndex(); >>>>> } >>>>> >>>>> >>>>> The behavior is the same. If you skip the tests or execute "mvn >>>>> antrun:run", when running the wicket viewer, if you try to execute the >> menu >>>>> option "Fixtures --> Install" the following exception is thrown: >>>>> >>>>> org.apache.wicket.WicketRuntimeException >>>>> Can't instantiate page using constructor 'public >>>>> >> org.apache.isis.viewer.wicket.ui.pages.action.ActionPage(org.apache.wicket.request.mapper.parameter.PageParameters)' >>>>> and argument 'pageType=[ACTION], actionSingleResultsMode=[REDIRECT], >>>>> objectOid=[fixture.todo.ToDoItemsFixturesService:1], actionType=[USER], >>>>> actionOwningSpec=[fixture.todo.ToDoItemsFixturesService], >>>>> actionId=[install()], pageTitle=[Install], actionMode=[RESULTS]'. >> Might be >>>>> it doesn't exist, may be it is not visible (public). >>>>> >>>>> >> org.apache.wicket.session.DefaultPageFactory#newPage(DefaultPageFactory.java:193) >>>>> >>>>> >> org.apache.wicket.session.DefaultPageFactory#newPage(DefaultPageFactory.java:98) >>>>> >>>>> >> org.apache.wicket.DefaultMapperContext#newPageInstance(DefaultMapperContext.java:137) >>>>> >>>>> >> org.apache.wicket.core.request.handler.PageProvider#resolvePageInstance(PageProvider.java:268) >>>>> >>>>> >> org.apache.wicket.core.request.handler.PageProvider#getPageInstance(PageProvider.java:166) >>>>> >>>>> >> org.apache.wicket.request.handler.render.PageRenderer#getPage(PageRenderer.java:78) >>>>> >>>>> >> org.apache.wicket.request.handler.render.WebPageRenderer#renderPage(WebPageRenderer.java:94) >>>>> >>>>> >> org.apache.wicket.request.handler.render.WebPageRenderer#respond(WebPageRenderer.java:196) >>>>> >>>>> >> org.apache.wicket.core.request.handler.RenderPageRequestHandler#respond(RenderPageRequestHandler.java:165) >>>>> >>>>> >> org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor#respond(RequestCycle.java:854) >>>>> >>>>> >> org.apache.wicket.request.RequestHandlerStack#execute(RequestHandlerStack.java:64) >>>>> >> org.apache.wicket.request.cycle.RequestCycle#execute(RequestCycle.java:254) >>>>> >>>>> >> org.apache.wicket.request.cycle.RequestCycle#processRequest(RequestCycle.java:211) >>>>> >>>>> >> org.apache.wicket.request.cycle.RequestCycle#processRequestAndDetach(RequestCycle.java:282) >>>>> >>>>> >> org.apache.wicket.protocol.http.WicketFilter#processRequestCycle(WicketFilter.java:259) >>>>> >>>>> >> org.apache.wicket.protocol.http.WicketFilter#processRequest(WicketFilter.java:201) >>>>> >>>>> >> org.apache.wicket.protocol.http.WicketFilter#doFilter(WicketFilter.java:282) >>>>> >>>>> >> org.eclipse.jetty.servlet.ServletHandler$CachedChain#doFilter(ServletHandler.java:1326) >>>>> >>>>> >> org.apache.shiro.web.servlet.AbstractShiroFilter#executeChain(AbstractShiroFilter.java:449) >>>>> >>>>> >> org.apache.shiro.web.servlet.AbstractShiroFilter$1#call(AbstractShiroFilter.java:365) >>>>> >>>>> >> org.apache.shiro.subject.support.SubjectCallable#doCall(SubjectCallable.java:90) >>>>> >>>>> >> org.apache.shiro.subject.support.SubjectCallable#call(SubjectCallable.java:83) >>>>> >>>>> >> org.apache.shiro.subject.support.DelegatingSubject#execute(DelegatingSubject.java:383) >>>>> >>>>> >> org.apache.shiro.web.servlet.AbstractShiroFilter#doFilterInternal(AbstractShiroFilter.java:362) >>>>> >>>>> >> org.apache.shiro.web.servlet.OncePerRequestFilter#doFilter(OncePerRequestFilter.java:125) >>>>> >>>>> >> org.eclipse.jetty.servlet.ServletHandler$CachedChain#doFilter(ServletHandler.java:1326) >>>>> >> org.eclipse.jetty.servlet.ServletHandler#doHandle(ServletHandler.java:479) >>>>> >>>>> >> org.eclipse.jetty.server.handler.ScopedHandler#handle(ScopedHandler.java:119) >>>>> >> org.eclipse.jetty.security.SecurityHandler#handle(SecurityHandler.java:520) >>>>> >>>>> >> org.eclipse.jetty.server.session.SessionHandler#doHandle(SessionHandler.java:227) >>>>> >>>>> >> org.eclipse.jetty.server.handler.ContextHandler#doHandle(ContextHandler.java:940) >>>>> >> org.eclipse.jetty.servlet.ServletHandler#doScope(ServletHandler.java:409) >>>>> >>>>> >> org.eclipse.jetty.server.session.SessionHandler#doScope(SessionHandler.java:186) >>>>> >>>>> >> org.eclipse.jetty.server.handler.ContextHandler#doScope(ContextHandler.java:874) >>>>> >>>>> >> org.eclipse.jetty.server.handler.ScopedHandler#handle(ScopedHandler.java:117) >>>>> >>>>> >> org.eclipse.jetty.server.handler.ContextHandlerCollection#handle(ContextHandlerCollection.java:250) >>>>> >>>>> >> org.eclipse.jetty.server.handler.HandlerCollection#handle(HandlerCollection.java:149) >>>>> >>>>> >> org.eclipse.jetty.server.handler.HandlerWrapper#handle(HandlerWrapper.java:110) >>>>> org.eclipse.jetty.server.Server#handle(Server.java:349) >>>>> >>>>> >> org.eclipse.jetty.server.HttpConnection#handleRequest(HttpConnection.java:441) >>>>> >>>>> >> org.eclipse.jetty.server.HttpConnection$RequestHandler#headerComplete(HttpConnection.java:904) >>>>> org.eclipse.jetty.http.HttpParser#parseNext(HttpParser.java:565) >>>>> org.eclipse.jetty.http.HttpParser#parseAvailable(HttpParser.java:217) >>>>> >>>>> >> org.eclipse.jetty.server.AsyncHttpConnection#handle(AsyncHttpConnection.java:46) >>>>> >>>>> >> org.eclipse.jetty.io.nio.SelectChannelEndPoint#handle(SelectChannelEndPoint.java:545) >>>>> >>>>> >> org.eclipse.jetty.io.nio.SelectChannelEndPoint$1#run(SelectChannelEndPoint.java:43) >>>>> >>>>> >> org.eclipse.jetty.util.thread.QueuedThreadPool#runJob(QueuedThreadPool.java:598) >>>>> >>>>> >> org.eclipse.jetty.util.thread.QueuedThreadPool$3#run(QueuedThreadPool.java:533) >>>>> java.lang.Thread#run(Thread.java:680) >>>>> java.lang.reflect.InvocationTargetException >>>>> >>>>> >> sun.reflect.NativeConstructorAccessorImpl#newInstance0(NativeConstructorAccessorImpl.java:-2) >>>>> >>>>> >> sun.reflect.NativeConstructorAccessorImpl#newInstance(NativeConstructorAccessorImpl.java:39) >>>>> >>>>> >> sun.reflect.DelegatingConstructorAccessorImpl#newInstance(DelegatingConstructorAccessorImpl.java:27) >>>>> java.lang.reflect.Constructor#newInstance(Constructor.java:513) >>>>> >>>>> >> org.apache.wicket.session.DefaultPageFactory#newPage(DefaultPageFactory.java:170) >>>>> >>>>> >> org.apache.wicket.session.DefaultPageFactory#newPage(DefaultPageFactory.java:98) >>>>> >>>>> >> org.apache.wicket.DefaultMapperContext#newPageInstance(DefaultMapperContext.java:137) >>>>> >>>>> >> org.apache.wicket.core.request.handler.PageProvider#resolvePageInstance(PageProvider.java:268) >>>>> >>>>> >> org.apache.wicket.core.request.handler.PageProvider#getPageInstance(PageProvider.java:166) >>>>> >>>>> >> org.apache.wicket.request.handler.render.PageRenderer#getPage(PageRenderer.java:78) >>>>> >>>>> >> org.apache.wicket.request.handler.render.WebPageRenderer#renderPage(WebPageRenderer.java:94) >>>>> >>>>> >> org.apache.wicket.request.handler.render.WebPageRenderer#respond(WebPageRenderer.java:196) >>>>> >>>>> >> org.apache.wicket.core.request.handler.RenderPageRequestHandler#respond(RenderPageRequestHandler.java:165) >>>>> >>>>> >> org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor#respond(RequestCycle.java:854) >>>>> >>>>> >> org.apache.wicket.request.RequestHandlerStack#execute(RequestHandlerStack.java:64) >>>>> >> org.apache.wicket.request.cycle.RequestCycle#execute(RequestCycle.java:254) >>>>> >>>>> >> org.apache.wicket.request.cycle.RequestCycle#processRequest(RequestCycle.java:211) >>>>> >>>>> >> org.apache.wicket.request.cycle.RequestCycle#processRequestAndDetach(RequestCycle.java:282) >>>>> >>>>> >> org.apache.wicket.protocol.http.WicketFilter#processRequestCycle(WicketFilter.java:259) >>>>> >>>>> >> org.apache.wicket.protocol.http.WicketFilter#processRequest(WicketFilter.java:201) >>>>> >>>>> >> org.apache.wicket.protocol.http.WicketFilter#doFilter(WicketFilter.java:282) >>>>> >>>>> >> org.eclipse.jetty.servlet.ServletHandler$CachedChain#doFilter(ServletHandler.java:1326) >>>>> >>>>> >> org.apache.shiro.web.servlet.AbstractShiroFilter#executeChain(AbstractShiroFilter.java:449) >>>>> >>>>> >> org.apache.shiro.web.servlet.AbstractShiroFilter$1#call(AbstractShiroFilter.java:365) >>>>> >>>>> >> org.apache.shiro.subject.support.SubjectCallable#doCall(SubjectCallable.java:90) >>>>> >>>>> >> org.apache.shiro.subject.support.SubjectCallable#call(SubjectCallable.java:83) >>>>> >>>>> >> org.apache.shiro.subject.support.DelegatingSubject#execute(DelegatingSubject.java:383) >>>>> >>>>> >> org.apache.shiro.web.servlet.AbstractShiroFilter#doFilterInternal(AbstractShiroFilter.java:362) >>>>> >>>>> >> org.apache.shiro.web.servlet.OncePerRequestFilter#doFilter(OncePerRequestFilter.java:125) >>>>> >>>>> >> org.eclipse.jetty.servlet.ServletHandler$CachedChain#doFilter(ServletHandler.java:1326) >>>>> >> org.eclipse.jetty.servlet.ServletHandler#doHandle(ServletHandler.java:479) >>>>> >>>>> >> org.eclipse.jetty.server.handler.ScopedHandler#handle(ScopedHandler.java:119) >>>>> >> org.eclipse.jetty.security.SecurityHandler#handle(SecurityHandler.java:520) >>>>> >>>>> >> org.eclipse.jetty.server.session.SessionHandler#doHandle(SessionHandler.java:227) >>>>> >>>>> >> org.eclipse.jetty.server.handler.ContextHandler#doHandle(ContextHandler.java:940) >>>>> >> org.eclipse.jetty.servlet.ServletHandler#doScope(ServletHandler.java:409) >>>>> >>>>> >> org.eclipse.jetty.server.session.SessionHandler#doScope(SessionHandler.java:186) >>>>> >>>>> >> org.eclipse.jetty.server.handler.ContextHandler#doScope(ContextHandler.java:874) >>>>> >>>>> >> org.eclipse.jetty.server.handler.ScopedHandler#handle(ScopedHandler.java:117) >>>>> >>>>> >> org.eclipse.jetty.server.handler.ContextHandlerCollection#handle(ContextHandlerCollection.java:250) >>>>> >>>>> >> org.eclipse.jetty.server.handler.HandlerCollection#handle(HandlerCollection.java:149) >>>>> >>>>> >> org.eclipse.jetty.server.handler.HandlerWrapper#handle(HandlerWrapper.java:110) >>>>> org.eclipse.jetty.server.Server#handle(Server.java:349) >>>>> >>>>> >> org.eclipse.jetty.server.HttpConnection#handleRequest(HttpConnection.java:441) >>>>> >>>>> >> org.eclipse.jetty.server.HttpConnection$RequestHandler#headerComplete(HttpConnection.java:904) >>>>> org.eclipse.jetty.http.HttpParser#parseNext(HttpParser.java:565) >>>>> org.eclipse.jetty.http.HttpParser#parseAvailable(HttpParser.java:217) >>>>> >>>>> >> org.eclipse.jetty.server.AsyncHttpConnection#handle(AsyncHttpConnection.java:46) >>>>> >>>>> >> org.eclipse.jetty.io.nio.SelectChannelEndPoint#handle(SelectChannelEndPoint.java:545) >>>>> >>>>> >> org.eclipse.jetty.io.nio.SelectChannelEndPoint$1#run(SelectChannelEndPoint.java:43) >>>>> >>>>> >> org.eclipse.jetty.util.thread.QueuedThreadPool#runJob(QueuedThreadPool.java:598) >>>>> >>>>> >> org.eclipse.jetty.util.thread.QueuedThreadPool$3#run(QueuedThreadPool.java:533) >>>>> java.lang.Thread#run(Thread.java:680) >>>>> java.lang.IllegalArgumentException >>>>> illegal argument, expected: is a non empty string >>>>> >> org.apache.isis.core.commons.ensure.Ensure#ensureThatArg(Ensure.java:57) >>>>> >>>>> >> org.apache.isis.core.metamodel.spec.ObjectSpecId#<init>(ObjectSpecId.java:47) >>>>> >> org.apache.isis.core.metamodel.spec.ObjectSpecId#of(ObjectSpecId.java:43) >>>>> >>>>> >> org.apache.isis.core.progmodel.facets.object.objecttype.ObjectSpecIdFacetAbstract#<init>(ObjectSpecIdFacetAbstract.java:40) >>>>> >>>>> >> org.apache.isis.core.progmodel.facets.object.objecttype.ObjectSpecIdFacetDerivedFromClassName#<init>(ObjectSpecIdFacetDerivedFromClassName.java:27) >>>>> >>>>> >> org.apache.isis.core.progmodel.facets.object.objecttype.ObjectTypeDerivedFromClassNameFacetFactory#process(ObjectTypeDerivedFromClassNameFacetFactory.java:47) >>>>> >>>>> >> org.apache.isis.core.metamodel.specloader.facetprocessor.FacetProcessor#process(FacetProcessor.java:283) >>>>> >>>>> >> org.apache.isis.core.metamodel.specloader.specimpl.FacetedMethodsBuilder#introspectClass(FacetedMethodsBuilder.java:178) >>>>> >>>>> >> org.apache.isis.core.metamodel.specloader.specimpl.dflt.ObjectSpecificationDefault#introspectTypeHierarchyAndMembers(ObjectSpecificationDefault.java:128) >>>>> >>>>> >> org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault#introspectIfRequired(ObjectReflectorDefault.java:572) >>>>> >>>>> >> org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault#loadSpecificationForSubstitutedClass(ObjectReflectorDefault.java:475) >>>>> >>>>> >> org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault#internalLoadSpecification(ObjectReflectorDefault.java:453) >>>>> >>>>> >> org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault#loadSpecification(ObjectReflectorDefault.java:448) >>>>> >>>>> >> org.apache.isis.core.runtime.persistence.adaptermanager.AdapterManagerDefault#existingOrValueAdapter(AdapterManagerDefault.java:186) >>>>> >>>>> >> org.apache.isis.core.runtime.persistence.adaptermanager.AdapterManagerDefault#adapterFor(AdapterManagerDefault.java:160) >>>>> >>>>> >> org.apache.isis.core.runtime.persistence.internal.RuntimeContextFromSession$2#adapterFor(RuntimeContextFromSession.java:110) >>>>> >>>>> >> org.apache.isis.core.progmodel.facets.properties.defaults.fromtype.PropertyDefaultFacetDerivedFromDefaultedFacet#getDefault(PropertyDefaultFacetDerivedFromDefaultedFacet.java:49) >>>>> >>>>> >> org.apache.isis.core.metamodel.specloader.specimpl.OneToOneAssociationImpl#getDefault(OneToOneAssociationImpl.java:210) >>>>> >>>>> >> org.apache.isis.core.metamodel.specloader.specimpl.OneToOneAssociationImpl#toDefault(OneToOneAssociationImpl.java:221) >>>>> >>>>> >> org.apache.isis.core.metamodel.specloader.specimpl.dflt.ObjectSpecificationDefault#initialize(ObjectSpecificationDefault.java:456) >>>>> >>>>> >> org.apache.isis.core.runtime.system.persistence.PersistenceSession#createTransientInstance(PersistenceSession.java:316) >>>>> >>>>> >> org.apache.isis.core.runtime.persistence.internal.RuntimeContextFromSession$7#createTransientInstance(RuntimeContextFromSession.java:185) >>>>> >>>>> >> org.apache.isis.core.metamodel.services.container.DomainObjectContainerDefault#doCreateTransientInstance(DomainObjectContainerDefault.java:148) >>>>> >>>>> >> org.apache.isis.core.metamodel.services.container.DomainObjectContainerDefault#newTransientInstance(DomainObjectContainerDefault.java:100) >>>>> >>>>> >> org.apache.isis.applib.AbstractContainedObject#newTransientInstance(AbstractContainedObject.java:41) >>>>> dom.todo.ToDoItems#newToDo(ToDoItems.java:150) >>>>> >>>>> >> fixture.todo.ToDoItemsFixture#createToDoItemForUser(ToDoItemsFixture.java:76) >>>>> fixture.todo.ToDoItemsFixture#installFor(ToDoItemsFixture.java:50) >>>>> fixture.todo.ToDoItemsFixture#install(ToDoItemsFixture.java:41) >>>>> >>>>> >> fixture.todo.ToDoItemsFixturesService#install(ToDoItemsFixturesService.java:40) >>>>> >>>>> >> sun.reflect.NativeMethodAccessorImpl#invoke0(NativeMethodAccessorImpl.java:-2) >>>>> >>>>> >> sun.reflect.NativeMethodAccessorImpl#invoke(NativeMethodAccessorImpl.java:39) >>>>> >>>>> >> sun.reflect.DelegatingMethodAccessorImpl#invoke(DelegatingMethodAccessorImpl.java:25) >>>>> java.lang.reflect.Method#invoke(Method.java:597) >>>>> >>>>> >> org.apache.isis.core.progmodel.facets.actions.invoke.ActionInvocationFacetViaMethod#invoke(ActionInvocationFacetViaMethod.java:94) >>>>> >>>>> >> org.apache.isis.core.runtime.transaction.facets.ActionInvocationFacetWrapTransaction$1#execute(ActionInvocationFacetWrapTransaction.java:55) >>>>> >>>>> >> org.apache.isis.core.runtime.transaction.facets.ActionInvocationFacetWrapTransaction$1#execute(ActionInvocationFacetWrapTransaction.java:52) >>>>> >>>>> >> org.apache.isis.core.runtime.system.transaction.IsisTransactionManager#executeWithinTransaction(IsisTransactionManager.java:220) >>>>> >>>>> >> org.apache.isis.core.runtime.transaction.facets.ActionInvocationFacetWrapTransaction#invoke(ActionInvocationFacetWrapTransaction.java:52) >>>>> >>>>> >> org.apache.isis.core.metamodel.specloader.specimpl.ObjectActionImpl#execute(ObjectActionImpl.java:412) >>>>> >>>>> >> org.apache.isis.viewer.wicket.model.models.ActionModel#executeAction(ActionModel.java:475) >>>>> >>>>> >> org.apache.isis.viewer.wicket.model.models.ActionModel#load(ActionModel.java:460) >>>>> >>>>> >> org.apache.isis.viewer.wicket.model.models.ActionModel#load(ActionModel.java:61) >>>>> >>>>> >> org.apache.wicket.model.LoadableDetachableModel#getObject(LoadableDetachableModel.java:121) >>>>> >>>>> >> org.apache.isis.viewer.wicket.ui.components.actions.ActionPanel#executeActionHandlingApplicationExceptions(ActionPanel.java:256) >>>>> >>>>> >> org.apache.isis.viewer.wicket.ui.components.actions.ActionPanel#executeActionOnTargetAndProcessResults(ActionPanel.java:178) >>>>> >>>>> >> org.apache.isis.viewer.wicket.ui.components.actions.ActionPanel#executeActionAndProcessResults(ActionPanel.java:138) >>>>> >>>>> >> org.apache.isis.viewer.wicket.ui.components.actions.ActionPanel#buildGui(ActionPanel.java:96) >>>>> >>>>> >> org.apache.isis.viewer.wicket.ui.components.actions.ActionPanel#<init>(ActionPanel.java:89) >>>>> >>>>> >> org.apache.isis.viewer.wicket.ui.components.actions.ActionPanelFactory#createComponent(ActionPanelFactory.java:49) >>>>> >>>>> >> org.apache.isis.viewer.wicket.ui.ComponentFactoryAbstract#createComponent(ComponentFactoryAbstract.java:82) >>>>> >>>>> >> org.apache.isis.viewer.wicket.viewer.registries.components.ComponentFactoryRegistryDefault#createComponent(ComponentFactoryRegistryDefault.java:120) >>>>> >>>>> >> org.apache.isis.viewer.wicket.viewer.registries.components.ComponentFactoryRegistryDefault#addOrReplaceComponent(ComponentFactoryRegistryDefault.java:105) >>>>> >>>>> >> org.apache.isis.viewer.wicket.ui.pages.PageAbstract#addComponent(PageAbstract.java:263) >>>>> >>>>> >> org.apache.isis.viewer.wicket.ui.pages.PageAbstract#addChildComponents(PageAbstract.java:258) >>>>> >>>>> >> org.apache.isis.viewer.wicket.ui.pages.action.ActionPage#<init>(ActionPage.java:54) >>>>> >>>>> >> sun.reflect.NativeConstructorAccessorImpl#newInstance0(NativeConstructorAccessorImpl.java:-2) >>>>> >>>>> >> sun.reflect.NativeConstructorAccessorImpl#newInstance(NativeConstructorAccessorImpl.java:39) >>>>> >>>>> >> sun.reflect.DelegatingConstructorAccessorImpl#newInstance(DelegatingConstructorAccessorImpl.java:27) >>>>> java.lang.reflect.Constructor#newInstance(Constructor.java:513) >>>>> >>>>> >> org.apache.wicket.session.DefaultPageFactory#newPage(DefaultPageFactory.java:170) >>>>> >>>>> >> org.apache.wicket.session.DefaultPageFactory#newPage(DefaultPageFactory.java:98) >>>>> >>>>> >> org.apache.wicket.DefaultMapperContext#newPageInstance(DefaultMapperContext.java:137) >>>>> >>>>> >> org.apache.wicket.core.request.handler.PageProvider#resolvePageInstance(PageProvider.java:268) >>>>> >>>>> >> org.apache.wicket.core.request.handler.PageProvider#getPageInstance(PageProvider.java:166) >>>>> >>>>> >> org.apache.wicket.request.handler.render.PageRenderer#getPage(PageRenderer.java:78) >>>>> >>>>> >> org.apache.wicket.request.handler.render.WebPageRenderer#renderPage(WebPageRenderer.java:94) >>>>> >>>>> >> org.apache.wicket.request.handler.render.WebPageRenderer#respond(WebPageRenderer.java:196) >>>>> >>>>> >> org.apache.wicket.core.request.handler.RenderPageRequestHandler#respond(RenderPageRequestHandler.java:165) >>>>> >>>>> >> org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor#respond(RequestCycle.java:854) >>>>> >>>>> >> org.apache.wicket.request.RequestHandlerStack#execute(RequestHandlerStack.java:64) >>>>> >> org.apache.wicket.request.cycle.RequestCycle#execute(RequestCycle.java:254) >>>>> >>>>> >> org.apache.wicket.request.cycle.RequestCycle#processRequest(RequestCycle.java:211) >>>>> >>>>> >> org.apache.wicket.request.cycle.RequestCycle#processRequestAndDetach(RequestCycle.java:282) >>>>> >>>>> >> org.apache.wicket.protocol.http.WicketFilter#processRequestCycle(WicketFilter.java:259) >>>>> >>>>> >> org.apache.wicket.protocol.http.WicketFilter#processRequest(WicketFilter.java:201) >>>>> >>>>> >> org.apache.wicket.protocol.http.WicketFilter#doFilter(WicketFilter.java:282) >>>>> >>>>> >> org.eclipse.jetty.servlet.ServletHandler$CachedChain#doFilter(ServletHandler.java:1326) >>>>> >>>>> >> org.apache.shiro.web.servlet.AbstractShiroFilter#executeChain(AbstractShiroFilter.java:449) >>>>> >>>>> >> org.apache.shiro.web.servlet.AbstractShiroFilter$1#call(AbstractShiroFilter.java:365) >>>>> >>>>> >> org.apache.shiro.subject.support.SubjectCallable#doCall(SubjectCallable.java:90) >>>>> >>>>> >> org.apache.shiro.subject.support.SubjectCallable#call(SubjectCallable.java:83) >>>>> >>>>> >> org.apache.shiro.subject.support.DelegatingSubject#execute(DelegatingSubject.java:383) >>>>> >>>>> >> org.apache.shiro.web.servlet.AbstractShiroFilter#doFilterInternal(AbstractShiroFilter.java:362) >>>>> >>>>> >> org.apache.shiro.web.servlet.OncePerRequestFilter#doFilter(OncePerRequestFilter.java:125) >>>>> >>>>> >> org.eclipse.jetty.servlet.ServletHandler$CachedChain#doFilter(ServletHandler.java:1326) >>>>> >> org.eclipse.jetty.servlet.ServletHandler#doHandle(ServletHandler.java:479) >>>>> >>>>> >> org.eclipse.jetty.server.handler.ScopedHandler#handle(ScopedHandler.java:119) >>>>> >> org.eclipse.jetty.security.SecurityHandler#handle(SecurityHandler.java:520) >>>>> >>>>> >> org.eclipse.jetty.server.session.SessionHandler#doHandle(SessionHandler.java:227) >>>>> >>>>> >> org.eclipse.jetty.server.handler.ContextHandler#doHandle(ContextHandler.java:940) >>>>> >> org.eclipse.jetty.servlet.ServletHandler#doScope(ServletHandler.java:409) >>>>> >>>>> >> org.eclipse.jetty.server.session.SessionHandler#doScope(SessionHandler.java:186) >>>>> >>>>> >> org.eclipse.jetty.server.handler.ContextHandler#doScope(ContextHandler.java:874) >>>>> >>>>> >> org.eclipse.jetty.server.handler.ScopedHandler#handle(ScopedHandler.java:117) >>>>> >>>>> >> org.eclipse.jetty.server.handler.ContextHandlerCollection#handle(ContextHandlerCollection.java:250) >>>>> >>>>> >> org.eclipse.jetty.server.handler.HandlerCollection#handle(HandlerCollection.java:149) >>>>> >>>>> >> org.eclipse.jetty.server.handler.HandlerWrapper#handle(HandlerWrapper.java:110) >>>>> org.eclipse.jetty.server.Server#handle(Server.java:349) >>>>> >>>>> >> org.eclipse.jetty.server.HttpConnection#handleRequest(HttpConnection.java:441) >>>>> >>>>> >> org.eclipse.jetty.server.HttpConnection$RequestHandler#headerComplete(HttpConnection.java:904) >>>>> org.eclipse.jetty.http.HttpParser#parseNext(HttpParser.java:565) >>>>> org.eclipse.jetty.http.HttpParser#parseAvailable(HttpParser.java:217) >>>>> >>>>> >> org.eclipse.jetty.server.AsyncHttpConnection#handle(AsyncHttpConnection.java:46) >>>>> >>>>> >> org.eclipse.jetty.io.nio.SelectChannelEndPoint#handle(SelectChannelEndPoint.java:545) >>>>> >>>>> >> org.eclipse.jetty.io.nio.SelectChannelEndPoint$1#run(SelectChannelEndPoint.java:43) >>>>> >>>>> >> org.eclipse.jetty.util.thread.QueuedThreadPool#runJob(QueuedThreadPool.java:598) >>>>> >>>>> >> org.eclipse.jetty.util.thread.QueuedThreadPool$3#run(QueuedThreadPool.java:533) >>>>> java.lang.Thread#run(Thread.java:680) >>>>> >>>>> >>> >> >>
