-
Bug
-
Resolution: Fixed
-
Major
-
2.4.4
-
-
Empty show more show less
-
Basel 53
-
8
Vaadin Terminal used in there tries to grab a SimpleTranslator, which is backed by TranslationService, which in turn requires the I18nModule via provider.
Observations
IMO problem is not the TranslationService is being instantiated properly or not. The problem appears to be the ModulesStartedEvent is not thrown and thus TranslationServiceImpl#messageBundles is null and therefore we have the NPE.
Had the ModulesStartedEvent fired in the rescue app solves the situation thus proves the observations above (With reverting I18nModule#isDebug in TranslationServiceImpl ). TranslationServiceImpl#messageBundles used to be populated upon each request and rightfully changed with MAGNOLIA-6556 in a way that ModulesStartedEvent is consumed in the TranslationServiceImpl's constructor and leads to population of the TranslationServiceImpl#messageBundles.
Proposed solution
1) Having TranslationServiceImpl#messageBundles populated explicitly in the rescue app via TranslationService#reloadMessageBundles()
2) Occurrences of i18nModuleProvider.get().isDebug() replaced with a method which returns false if i18nModuleProvider returns null or throws ProvisionException.
Steps to reproduce
- Use a repository that is working with version 5.3 of magnolia.
- Stop Mgnl and start a mgnl with version 5.4.7 on the 5.3 Mgnl repository
Be sure to configure the web.xml to enable the groovy rescue servlet - When the server is up and running no groovy rescue servlet appears
- caused by
-
MAGNOLIA-6721 Translation service throws NPE if it's called before initialisation
- Closed
-
MAGNOLIA-6556 TranslationService could be started on ModulesStartedEvent
- Closed
- is related to
-
MAGNOLIA-6724 TranslationService should not throw ProvisionException when i18nModule is not ready
- Closed
- mentioned in
-
Page Loading...