You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@isis.apache.org by Nacho Cánovas Rejón <n....@gesconsultor.com> on 2015/08/28 08:41:20 UTC

ISIS-848 Problem with not Wicket Viewer

Hi Dan.

I think this is my last problem with new ISIS version because it's 
working right now on my application.

In this case is a problem with IsisWebAppBootstrapper.

I analyze the code, and DomainApplication on SimpleApp is the class that 
does configuration in wicket viewer, instead of IsisWebAppBootstrapper 
(user viewer), and the problem is that AppManifest is bound in 
DomainApplication but isn't in IsisWebAppBootstrapper and is needed on 
init configuration on the new changes.

The stack trace when we have a IsisWebAppBootstrapper is this:

at 
com.google.inject.internal.Errors.throwCreationExceptionIfErrorsExist(Errors.java:435)
     at 
com.google.inject.internal.InternalInjectorCreator.initializeStatically(InternalInjectorCreator.java:154)
     at 
com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:106)
     at com.google.inject.Guice.createInjector(Guice.java:95)
     at com.google.inject.Guice.createInjector(Guice.java:72)
     at com.google.inject.Guice.createInjector(Guice.java:62)
     at 
org.apache.isis.core.webapp.IsisWebAppBootstrapper.createGuiceInjector(IsisWebAppBootstrapper.java:131)
     at 
org.apache.isis.core.webapp.IsisWebAppBootstrapper.contextInitialized(IsisWebAppBootstrapper.java:114)

Giving as error that "AppManifest is not bound."

My changes to work are simple:

*org.apache.isis.core.webapp.IsisWebAppBootstrapper*

*OLD*
private Injector createGuiceInjector(final IsisConfigurationBuilder 
isisConfigurationBuilder, final DeploymentType deploymentType, final 
InstallerLookup installerLookup) {
        final IsisInjectModule isisModule = new 
IsisInjectModule(deploymentType, isisConfigurationBuilder, installerLookup);
        return Guice.createInjector(isisModule);
    }

*NEW*
private Injector createGuiceInjector(final IsisConfigurationBuilder 
isisConfigurationBuilder, final DeploymentType deploymentType, final 
InstallerLookup installerLookup) {
        final IsisInjectModule isisModule = new 
IsisInjectModule(deploymentType, isisConfigurationBuilder, installerLookup);

        final Module xmsApplicationOverrides = new AbstractModule() {
            @Override
            protected void configure() {
  this.bind(AppManifest.class).toInstance(IsisSystemThatUsesInstallersFactory.NOOP);
            }
        };
        return Guice.createInjector(isisModule, xmsApplicationOverrides);
    }

Best regards, Nacho.

-- 
Ignacio Cánovas Rejón
Tel. 902 900 231
Fax  96 353 19 09
n.canovas@gesconsultor.com
www.gesconsultor.com

Este mensaje y los ficheros anexos son confidenciales. Los mismos contienen información reservada que no puede ser difundida. Si usted ha recibido este correo por error, tenga la amabilidad de eliminarlo de su sistema y avisar al remitente mediante reenvío a su dirección electrónica; no deberá copiar el mensaje ni divulgar su contenido a ninguna persona.

Su dirección de correo electrónico junto a sus datos personales constan en un fichero titularidad de GESDATOS SOFTWARE S.L. cuya finalidad es la de mantener el contacto con Ud. Si quiere saber de qué información disponemos de Ud., modificarla, y en su caso, cancelarla, puede hacerlo enviando un escrito al efecto, acompañado de una fotocopia de su D.N.I. a la siguiente dirección: GESDATOS SOFTWARE S.L. Av. Cortes Valencianas 50-1º-C, C.P.  46015 de Valencia. Asimismo, es su responsabilidad comprobar que este mensaje o sus archivos adjuntos no contengan virus informáticos, y en caso que los tuvieran eliminarlos.



---
El software de antivirus Avast ha analizado este correo electrónico en busca de virus.
http://www.avast.com

Re: ISIS-848 Problem with not Wicket Viewer

Posted by Dan Haywood <da...@haywood-associates.co.uk>.
Many thanks, Nacho... apologies for missing this one.

I'll apply this change "as is".

2015-08-28 7:41 GMT+01:00 Nacho Cánovas Rejón <n....@gesconsultor.com>:

> Hi Dan.
>
> I think this is my last problem with new ISIS version because it's working
> right now on my application.
>
> In this case is a problem with IsisWebAppBootstrapper.
>
> I analyze the code, and DomainApplication on SimpleApp is the class that
> does configuration in wicket viewer, instead of IsisWebAppBootstrapper
> (user viewer), and the problem is that AppManifest is bound in
> DomainApplication but isn't in IsisWebAppBootstrapper and is needed on init
> configuration on the new changes.
>
> The stack trace when we have a IsisWebAppBootstrapper is this:
>
> at
> com.google.inject.internal.Errors.throwCreationExceptionIfErrorsExist(Errors.java:435)
>     at
> com.google.inject.internal.InternalInjectorCreator.initializeStatically(InternalInjectorCreator.java:154)
>     at
> com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:106)
>     at com.google.inject.Guice.createInjector(Guice.java:95)
>     at com.google.inject.Guice.createInjector(Guice.java:72)
>     at com.google.inject.Guice.createInjector(Guice.java:62)
>     at
> org.apache.isis.core.webapp.IsisWebAppBootstrapper.createGuiceInjector(IsisWebAppBootstrapper.java:131)
>     at
> org.apache.isis.core.webapp.IsisWebAppBootstrapper.contextInitialized(IsisWebAppBootstrapper.java:114)
>
> Giving as error that "AppManifest is not bound."
>
> My changes to work are simple:
>
> *org.apache.isis.core.webapp.IsisWebAppBootstrapper*
>
> *OLD*
> private Injector createGuiceInjector(final IsisConfigurationBuilder
> isisConfigurationBuilder, final DeploymentType deploymentType, final
> InstallerLookup installerLookup) {
>        final IsisInjectModule isisModule = new
> IsisInjectModule(deploymentType, isisConfigurationBuilder, installerLookup);
>        return Guice.createInjector(isisModule);
>    }
>
> *NEW*
> private Injector createGuiceInjector(final IsisConfigurationBuilder
> isisConfigurationBuilder, final DeploymentType deploymentType, final
> InstallerLookup installerLookup) {
>        final IsisInjectModule isisModule = new
> IsisInjectModule(deploymentType, isisConfigurationBuilder, installerLookup);
>
>        final Module xmsApplicationOverrides = new AbstractModule() {
>            @Override
>            protected void configure() {
>
>  this.bind(AppManifest.class).toInstance(IsisSystemThatUsesInstallersFactory.NOOP);
>            }
>        };
>        return Guice.createInjector(isisModule, xmsApplicationOverrides);
>    }
>
> Best regards, Nacho.
>
> --
> Ignacio Cánovas Rejón
> Tel. 902 900 231
> Fax  96 353 19 09
> n.canovas@gesconsultor.com
> www.gesconsultor.com
>
> Este mensaje y los ficheros anexos son confidenciales. Los mismos
> contienen información reservada que no puede ser difundida. Si usted ha
> recibido este correo por error, tenga la amabilidad de eliminarlo de su
> sistema y avisar al remitente mediante reenvío a su dirección electrónica;
> no deberá copiar el mensaje ni divulgar su contenido a ninguna persona.
>
> Su dirección de correo electrónico junto a sus datos personales constan en
> un fichero titularidad de GESDATOS SOFTWARE S.L. cuya finalidad es la de
> mantener el contacto con Ud. Si quiere saber de qué información disponemos
> de Ud., modificarla, y en su caso, cancelarla, puede hacerlo enviando un
> escrito al efecto, acompañado de una fotocopia de su D.N.I. a la siguiente
> dirección: GESDATOS SOFTWARE S.L. Av. Cortes Valencianas 50-1º-C, C.P.
> 46015 de Valencia. Asimismo, es su responsabilidad comprobar que este
> mensaje o sus archivos adjuntos no contengan virus informáticos, y en caso
> que los tuvieran eliminarlos.
>
>
>
> ---
> El software de antivirus Avast ha analizado este correo electrónico en
> busca de virus.
> http://www.avast.com
>