Bit difficult to say without seeing the reason for the NullPointerException.

You might want to use the current simpleapp archetype to generate a blank
webapp, and then do a merge over.  Steve Cameron did something similar
recently, didn't seem to take him long...



On 29 April 2016 at 14:53, Erik de Hair <[email protected]> wrote:

> Hi Dan,
>
> On 04/29/2016 03:35 PM, Dan Haywood wrote:
>
>> remove the line:
>>
>>   bind(AppManifest.class).to(PortalModuleAppManifest.class);
>>
>> from the PortalApplication... I think the error says its already
>> configured, probably because the isis.appManifest property is set in
>> isis.properties (or equivalently specified as -m flag to o.a.i.WebServer).
>>
>> If that's the case, it might be a documentation issue that needs fixing.
>>
> Removing the line and setting the manifest property in isis.properties
> does work but now I get another exception:
>
> 15:50:23,239  [IsisWicketApplication main       ERROR]  Failed to
> initialize
> com.google.inject.ProvisionException: Unable to provision, see the
> following errors:
>
> 1) Error in custom provider,
> org.apache.isis.core.runtime.system.transaction.IsisTransactionManagerException:
> java.lang.NullPointerException
>   at
> org.apache.isis.core.runtime.runner.IsisInjectModule.provideIsisSystem(IsisInjectModule.java:127)
>   at
> org.apache.isis.core.runtime.runner.IsisInjectModule.provideIsisSystem(IsisInjectModule.java:127)
>   while locating org.apache.isis.core.runtime.system.IsisSystem
>     for field at
> org.apache.isis.viewer.wicket.viewer.IsisWicketApplication.isisSystem(IsisWicketApplication.java:149)
>   while locating webapp.PortalApplication
>
> 1 error
>     at
> com.google.inject.internal.Errors.throwProvisionExceptionIfErrorsExist(Errors.java:482)
>     at
> com.google.inject.internal.MembersInjectorImpl.injectMembers(MembersInjectorImpl.java:67)
>     at
> com.google.inject.internal.InjectorImpl.injectMembers(InjectorImpl.java:984)
>     at
> org.apache.isis.viewer.wicket.viewer.IsisWicketApplication.init(IsisWicketApplication.java:264)
>     at webapp.PortalApplication.init(PortalApplication.java:102)
>
>
>> let me know...
>>
>> Dan
>>
>>
>> On 29 April 2016 at 14:31, Erik de Hair <[email protected]> wrote:
>>
>> Hi,
>>>
>>> When trying to run our application with org.apache.isis.WebServer using
>>> an
>>> AppManifest I get the following error:
>>>
>>> 15:07:14,497  [IsisWicketApplication main       ERROR]  Failed to
>>> initialize
>>> com.google.inject.CreationException: Unable to create injector, see the
>>> following errors:
>>>
>>> 1) A binding to org.apache.isis.applib.AppManifest was already configured
>>> at
>>>
>>> org.apache.isis.core.runtime.runner.IsisInjectModule.configure(IsisInjectModule.java:107).
>>>    at webapp.PortalApplication$1.configure(PortalApplication.java:94)
>>> (via
>>> modules: com.google.inject.util.Modules$OverrideModule ->
>>> webapp.PortalApplication$1)
>>>
>>> 1 error
>>>      at
>>>
>>> com.google.inject.internal.Errors.throwCreationExceptionIfErrorsExist(Errors.java:466)
>>>      at
>>>
>>> com.google.inject.internal.InternalInjectorCreator.initializeStatically(InternalInjectorCreator.java:155)
>>>      at
>>>
>>> com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:107)
>>>      at com.google.inject.Guice.createInjector(Guice.java:96)
>>>      at com.google.inject.Guice.createInjector(Guice.java:73)
>>>      at com.google.inject.Guice.createInjector(Guice.java:62)
>>>      at
>>>
>>> org.apache.isis.viewer.wicket.viewer.IsisWicketApplication.init(IsisWicketApplication.java:262)
>>>      at webapp.PortalApplication.init(PortalApplication.java:104)
>>>      at
>>> org.apache.wicket.Application.initApplication(Application.java:823)
>>>
>>>
>>> ThenewIsisWicketModule-method of our PortalApplication:
>>>
>>> @Override
>>> protectedModule newIsisWicketModule()
>>> {
>>>     finalModule isisDefaults =super.newIsisWicketModule();
>>>
>>>     finalModule resellerPortalOverrides =newAbstractModule()
>>>     {
>>>        @Override
>>>        protected voidconfigure()
>>>        {
>>>           bind(PageClassList.class).to(PortalPageClassList.class);
>>>
>>>
>>> bind(String.class).annotatedWith(Names.named("applicationName")).toInstance("ITCO
>>> Portal");
>>>
>>>
>>> bind(String.class).annotatedWith(Names.named("applicationCss")).toInstance("css/application.css");
>>>
>>>
>>> bind(String.class).annotatedWith(Names.named("applicationJs")).toInstance("scripts/application.js");
>>>
>>>
>>> bind(String.class).annotatedWith(Names.named("welcomeMessage")).toInstance(readLines("welcome.html"));
>>>
>>>
>>> bind(String.class).annotatedWith(Names.named("aboutMessage")).toInstance(readLines("about.html"));
>>>
>>>
>>> bind(String.class).annotatedWith(Names.named("brandLogoHeader")).toInstance("/portal/images/Pocos-Logo-Powering-portal.png");
>>>
>>>
>>> bind(String.class).annotatedWith(Names.named("brandLogoSignin")).toInstance("/portal/images/Pocos-Logo-Powering-portal.png");
>>>
>>>
>>> bind(InputStream.class).annotatedWith(Names.named("metaInfManifest")).toProvider(Providers.of(getServletContext().getResourceAsStream("/META-INF/MANIFEST.MF")));
>>>
>>>
>>> bind(ComponentFactoryRegistrar.class).to(PortalComponentFactoryRegistrar.class);
>>>           bind(AppManifest.class).to(PortalModuleAppManifest.class);
>>>        }
>>>     };
>>>
>>>     returnModules.override(isisDefaults).with(resellerPortalOverrides);
>>> }
>>>
>>> Did I forget something?
>>>
>>> Erik
>>>
>>>
>>>
>>>
>

Reply via email to