Commit 44d4b2e505ef9bf596f807f78d06f64f6ce60b00 in isis's branch refs/heads/master from Dan Haywood
[ https://git-wip-us.apache.org/repos/asf?p=isis.git;h=44d4b2e ]
ISIS-1455: improves bootstrapping in event of an invalid metamodel exception.
IsisSessionFactoryBuilder now always completes the initialization (of the authenticationManager, authorizationManadater and persistenceSessionFactory) even in the case of invalid metamodel. This means that any custom implementations of SPI services, eg ThemeProvider - do not need special case logic as to whether the framework is properly or only half initialized.
Instead, in WebRequestCycleForIsis, we use the "onRequestHandlerResolved" callback hoop (previously not overridden) to throw the MetaModelInvalidException if need be (but peeking inside first to ensure that we're not already on the way to rendering an error page)
- no need to hold the list of validation errors on the IsisWicketApplication, can simply use IsisContext#getMetaModelValidationExceptionIfAny()
- to support this, added overloaded constructor to MmvErrorPage
- added isInitialized() method on PersistenceSessionFactory (though not actually used elsewhere in this implementation).
- IsisSignInPanel no longer uses doInSession for its setVisibilityAllowedBasedOnAvailableServices(...) (though this is just a simplfication of code, and would still be fine to have left it as is).