Uploaded image for project: 'Isis'
  1. Isis
  2. ISIS-1076

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

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 1.9.0
    • Component/s: Core: Viewer: Wicket
    • Labels:
      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

              • Assignee:
                Unassigned
                Reporter:
                danhaywood Dan Haywood
              • Votes:
                0 Vote for this issue
                Watchers:
                3 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: