Uploaded image for project: 'Causeway'
  1. Causeway
  2. CAUSEWAY-1076

MetaModelValidation error page (MmvPage) is no longer shown...

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • 1.9.0
    • Viewer Wicket
    • None

    Description

      Somewhere in 1.8.0-SNAPSHOT we've broken the MmvErrorPage.

      It works fine in 1.8.0.

      If I run my app with metamodel validation errors, then (rather than being directed to the MmvErrorPage) I get through to

      http://localhost:8080/wicket/wicket/bookmarkable/org.apache.isis.viewer.wicket.ui.pages.login.WicketSignInPage

      then, because the guice injector stuff in IsisWicketApplication never would have completed (ObjectReflectorDefault#init having thrown an exceptoin) I get an NPE because there is no PageClassRegistry.

      So for some reason we're not detecting the fact that there were MMV errors anymore, and are blithely attempting to continue onto the login.

      Unexpected RuntimeException
      
      Last cause: null
      WicketMessage: Can't instantiate page using constructor 'public org.apache.isis.viewer.wicket.ui.pages.login.WicketSignInPage(org.apache.wicket.request.mapper.parameter.PageParameters)' and argument ''. An exception has been thrown during construction!
      
      Stacktrace
      
      Root cause:
      
      java.lang.NullPointerException
           at org.apache.isis.viewer.wicket.ui.pages.accmngt.AccountManagementPageAbstract.<init>(AccountManagementPageAbstract.java:102)
           at org.apache.isis.viewer.wicket.ui.pages.login.WicketSignInPage.<init>(WicketSignInPage.java:51)
           at org.apache.isis.viewer.wicket.ui.pages.login.WicketSignInPage.<init>(WicketSignInPage.java:47)
           at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
           at org.apache.wicket.session.DefaultPageFactory.newPage(DefaultPageFactory.java:171)
           at org.apache.wicket.session.DefaultPageFactory.newPage(DefaultPageFactory.java:76)
           at org.apache.wicket.DefaultMapperContext.newPageInstance(DefaultMapperContext.java:133)
           at org.apache.wicket.core.request.handler.PageProvider.resolvePageInstance(PageProvider.java:268)
           at org.apache.wicket.core.request.handler.PageProvider.getPageInstance(PageProvider.java:166)
           at org.apache.wicket.request.handler.render.PageRenderer.getPage(PageRenderer.java:78)
           at org.apache.wicket.request.handler.render.WebPageRenderer.renderPage(WebPageRenderer.java:107)
           at org.apache.wicket.request.handler.render.WebPageRenderer.respond(WebPageRenderer.java:228)
           at org.apache.wicket.core.request.handler.RenderPageRequestHandler.respond(RenderPageRequestHandler.java:175)
           at org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:862)
           at org.apache.wicket.request.RequestHandlerStack.execute(RequestHandlerStack.java:64)
           at org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:261)
           at org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:218)
           at org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:289)
           at org.apache.wicket.protocol.http.WicketFilter.processRequestCycle(WicketFilter.java:259)
           at org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:201)
           at org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:282)
           at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1212)
           at org.apache.isis.core.webapp.diagnostics.IsisLogOnExceptionFilter.doFilter(IsisLogOnExceptionFilter.java:52)
           at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1212)
           at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449)
           at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365)
           at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90)
           at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83)
           at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:383)
           at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362)
           at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125)
           at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1212)
           at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:399)
           at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
           at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
           at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:766)
           at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:450)
           at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
           at org.mortbay.jetty.Server.handle(Server.java:326)
           at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)
           at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:928)
           at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:549)
           at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212)
           at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
           at org.mortbay.jetty.bio.SocketConnector$Connection.run(SocketConnector.java:228)
           at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)
      
      Complete stack:
      
      org.apache.wicket.WicketRuntimeException: Can't instantiate page using constructor 'public org.apache.isis.viewer.wicket.ui.pages.login.WicketSignInPage(org.apache.wicket.request.mapper.parameter.PageParameters)' and argument ''. An exception has been thrown during construction!
           at org.apache.wicket.session.DefaultPageFactory.newPage(DefaultPageFactory.java:194)
           at org.apache.wicket.session.DefaultPageFactory.newPage(DefaultPageFactory.java:76)
           at org.apache.wicket.DefaultMapperContext.newPageInstance(DefaultMapperContext.java:133)
           at org.apache.wicket.core.request.handler.PageProvider.resolvePageInstance(PageProvider.java:268)
           at org.apache.wicket.core.request.handler.PageProvider.getPageInstance(PageProvider.java:166)
           at org.apache.wicket.request.handler.render.PageRenderer.getPage(PageRenderer.java:78)
           at org.apache.wicket.request.handler.render.WebPageRenderer.renderPage(WebPageRenderer.java:107)
           at org.apache.wicket.request.handler.render.WebPageRenderer.respond(WebPageRenderer.java:228)
           at org.apache.wicket.core.request.handler.RenderPageRequestHandler.respond(RenderPageRequestHandler.java:175)
           at org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:862)
           at org.apache.wicket.request.RequestHandlerStack.execute(RequestHandlerStack.java:64)
           at org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:261)
           at org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:218)
           at org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:289)
           at org.apache.wicket.protocol.http.WicketFilter.processRequestCycle(WicketFilter.java:259)
      
      java.lang.reflect.InvocationTargetException
           at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
           at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
           at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
           at org.apache.wicket.session.DefaultPageFactory.newPage(DefaultPageFactory.java:171)
           at org.apache.wicket.session.DefaultPageFactory.newPage(DefaultPageFactory.java:76)
           at org.apache.wicket.DefaultMapperContext.newPageInstance(DefaultMapperContext.java:133)
           at org.apache.wicket.core.request.handler.PageProvider.resolvePageInstance(PageProvider.java:268)
           at org.apache.wicket.core.request.handler.PageProvider.getPageInstance(PageProvider.java:166)
           at org.apache.wicket.request.handler.render.PageRenderer.getPage(PageRenderer.java:78)
           at org.apache.wicket.request.handler.render.WebPageRenderer.renderPage(WebPageRenderer.java:107)
           at org.apache.wicket.request.handler.render.WebPageRenderer.respond(WebPageRenderer.java:228)
           at org.apache.wicket.core.request.handler.RenderPageRequestHandler.respond(RenderPageRequestHandler.java:175)
           at org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:862)
           at org.apache.wicket.request.RequestHandlerStack.execute(RequestHandlerStack.java:64)
           at org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:261)
           at org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:218)
           at org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:289)
           at org.apache.wicket.protocol.http.WicketFilter.processRequestCycle(WicketFilter.java:259)
      

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              danhaywood Daniel Keir Haywood
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: