Hi all.

I have a FixtureScript that invokes some factory methods that include setters 
that are invoking by wrapping the domain object (for ensuring that the 
validateXXX, modifyXXX, etc. methods are also invoked).

public class TwentyPercentForTwoOrdersCoupon extends FixtureScript {

    @Override
    protected void execute(
            final FixtureScript.ExecutionContext executionContext) {

        this.coupons.createCoupon("50€-2ORDERS", LocalDate.now(), 
LocalDate.now().plusDays(3), 2L, null, new BigDecimal("50"));

    }

    @Inject
    private Coupons coupons;

}

@DomainService(repositoryFor = Coupon.class)
public class Coupons extends AbstractTellmegenService {

    // {{ createCoupon (action)
    @MemberOrder(sequence = "2.5.1")
    public Coupon createCoupon(@ParameterLayout(named = "Code") final String 
code,
            @ParameterLayout(named = "Start Date") final LocalDate startDate,
            @ParameterLayout(named = "Due Date") final LocalDate dueDate,
            @ParameterLayout(named = "Max Number of Kits") final Long 
maxNumberOfKits,
            @ParameterLayout(named = "Percent Discount (0-100)") 
@Parameter(optionality = Optionality.OPTIONAL) final Integer percentDiscount,
            @ParameterLayout(named = "Amount Discount (€)") 
@Parameter(optionality = Optionality.OPTIONAL) final BigDecimal amountDiscount) 
{
        final Coupon coupon = this.newTransientInstance(Coupon.class);

        this.wrap(coupon).setCode(code);
        this.wrap(coupon).setStartDate(startDate);
        this.wrap(coupon).setDueDate(dueDate);
        this.wrap(coupon).setMaxNumberOfOrders(maxNumberOfKits);
        this.wrap(coupon).setPercentDiscount(percentDiscount);
        this.wrap(coupon).setAmountDiscount(amountDiscount);

        // Save DB
        this.persist(coupon);
        this.getContainer().flush();

        return coupon;
    }



But when executing from the Fixture Script, the following exception is thrown. 
Any ideas about how to avoid it? 

I'm using the security add-on. Perhaps it must be initialized somewhere on the 
Fixture Script?

Thanks!


11:06:11,379  [WebAppContext        main       WARN ]  Failed startup of 
context 
o.e.j.w.WebAppContext{,file:/Users/oscarboubou/dev/tellmegen/dbtg/webapp/src/main/webapp/},src/main/webapp
javax.servlet.ServletException: com.google.inject.ProvisionException: Guice 
provision errors:

1) Error in custom provider, 
org.apache.isis.applib.services.wrapper.HiddenException: Reason: Could not 
locate application user for initialisation. Identifier: 
com.tellmegen.domain.model.order.coupon.Coupon#code()
  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:1)
  while locating webapp.application.TellMeGenApplication

1 error
        at 
org.apache.wicket.protocol.http.WicketFilter.init(WicketFilter.java:450)
        at 
org.apache.wicket.protocol.http.WicketFilter.init(WicketFilter.java:351)
        at org.eclipse.jetty.servlet.FilterHolder.doStart(FilterHolder.java:118)
        at 
org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64)
        at 
org.eclipse.jetty.servlet.ServletHandler.initialize(ServletHandler.java:768)
        at 
org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:265)
        at 
org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1242)
        at 
org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:717)
        at 
org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:494)
        at 
org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64)
        at 
org.eclipse.jetty.server.handler.HandlerWrapper.doStart(HandlerWrapper.java:95)
        at org.eclipse.jetty.server.Server.doStart(Server.java:282)
        at 
org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64)
        at 
org.apache.isis.core.webserver.WebServerBootstrapper.bootstrap(WebServerBootstrapper.java:86)
        at org.apache.isis.core.webserver.WebServer.run(WebServer.java:107)
        at org.apache.isis.core.webserver.WebServer.main(WebServer.java:71)
        at org.apache.isis.WebServer.main(WebServer.java:25)
Caused by: com.google.inject.ProvisionException: Guice provision errors:

1) Error in custom provider, 
org.apache.isis.applib.services.wrapper.HiddenException: Reason: Could not 
locate application user for initialisation. Identifier: 
com.tellmegen.domain.model.order.coupon.Coupon#code()
  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:1)
  while locating webapp.application.TellMeGenApplication

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:256)
        at 
webapp.application.TellMeGenApplication.init(TellMeGenApplication.java:204)
        at org.apache.wicket.Application.initApplication(Application.java:823)
        at 
org.apache.wicket.protocol.http.WicketFilter.init(WicketFilter.java:424)
        ... 16 more
Caused by: org.apache.isis.applib.services.wrapper.HiddenException: Reason: 
Could not locate application user for initialisation. Identifier: 
com.tellmegen.domain.model.order.coupon.Coupon#code()
        at 
org.apache.isis.core.wrapper.handlers.DomainObjectInvocationHandler.toException(DomainObjectInvocationHandler.java:713)
        at 
org.apache.isis.core.wrapper.handlers.DomainObjectInvocationHandler.notifyListenersAndVetoIfRequired(DomainObjectInvocationHandler.java:681)
        at 
org.apache.isis.core.wrapper.handlers.DomainObjectInvocationHandler.checkVisibility(DomainObjectInvocationHandler.java:663)
        at 
org.apache.isis.core.wrapper.handlers.DomainObjectInvocationHandler.handleSetterMethodOnProperty(DomainObjectInvocationHandler.java:387)
        at 
org.apache.isis.core.wrapper.handlers.DomainObjectInvocationHandler.invoke(DomainObjectInvocationHandler.java:216)
        at 
org.apache.isis.core.wrapper.proxy.ProxyInstantiatorForJavassist$1.invoke(ProxyInstantiatorForJavassist.java:52)
        at 
com.tellmegen.domain.model.order.coupon.Coupon_$$_jvstc93_5.setCode(Coupon_$$_jvstc93_5.java)
        at 
com.tellmegen.domain.model.order.coupon.Coupons.createCoupon(Coupons.java:36)
        at 
com.tellmegen.fixture.model.orders.TwentyPercentForTwoOrdersCoupon.execute(TwentyPercentForTwoOrdersCoupon.java:35)
        at 
org.apache.isis.applib.fixturescripts.FixtureScript$ExecutionContext.executeChildIfNotAlready(FixtureScript.java:549)
        at 
org.apache.isis.applib.fixturescripts.FixtureScript$ExecutionContext.executeChildT(FixtureScript.java:528)
        at 
org.apache.isis.applib.fixturescripts.FixtureScript$ExecutionContext.executeChildT(FixtureScript.java:498)
        at 
org.apache.isis.applib.fixturescripts.FixtureScript$ExecutionContext.executeChild(FixtureScript.java:487)
        at 
com.tellmegen.fixture.TellMeGenDemoFixture.execute(TellMeGenDemoFixture.java:58)
        at 
org.apache.isis.applib.fixturescripts.FixtureScript$ExecutionContext.executeChildIfNotAlready(FixtureScript.java:549)
        at 
org.apache.isis.applib.fixturescripts.FixtureScript$ExecutionContext.executeChildT(FixtureScript.java:528)
        at 
org.apache.isis.applib.fixturescripts.FixtureScript$ExecutionContext.executeChildT(FixtureScript.java:498)
        at 
org.apache.isis.applib.fixturescripts.FixtureScript$ExecutionContext.executeChild(FixtureScript.java:487)
        at 
com.tellmegen.fixture.TellMeGenDemoWithAllRecordsFixture.execute(TellMeGenDemoWithAllRecordsFixture.java:25)
        at 
org.apache.isis.applib.fixturescripts.FixtureScript$ExecutionContext.executeChildIfNotAlready(FixtureScript.java:549)
        at 
org.apache.isis.applib.fixturescripts.FixtureScript$ExecutionContext.access$0(FixtureScript.java:546)
        at 
org.apache.isis.applib.fixturescripts.FixtureScript.run(FixtureScript.java:719)
        at 
org.apache.isis.applib.fixturescripts.FixtureScript.install(FixtureScript.java:814)
        at 
org.apache.isis.core.runtime.fixtures.FixturesInstallerDelegate.installFixture(FixturesInstallerDelegate.java:205)
        at 
org.apache.isis.core.runtime.fixtures.FixturesInstallerDelegate.installFixtureInTransaction(FixturesInstallerDelegate.java:171)
        at 
org.apache.isis.core.runtime.fixtures.FixturesInstallerDelegate.installFixtures(FixturesInstallerDelegate.java:158)
        at 
org.apache.isis.core.runtime.fixtures.FixturesInstallerDelegate.installFixtures(FixturesInstallerDelegate.java:138)
        at 
org.apache.isis.core.runtime.fixtures.FixturesInstallerAbstract.installFixtures(FixturesInstallerAbstract.java:42)
        at 
org.apache.isis.core.runtime.systemusinginstallers.IsisSystemAbstract.installFixturesIfRequired(IsisSystemAbstract.java:85)
        at 
org.apache.isis.core.runtime.system.IsisSystemFixturesHookAbstract.init(IsisSystemFixturesHookAbstract.java:128)
        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)
        ... 21 more
11:06:11,449  [AbstractConnector    main       INFO ]  Started 
[email protected]:8080

Reply via email to