java.lang.UnsupportedOperationException
at de.mindmatters.faces.context.ServletExternalContextFake.getRequestLocales(ServletExternalContextFake.java:390)
at org.apache.myfaces.application.jsp.JspViewHandlerImpl.calculateLocale(JspViewHandlerImpl.java:63)
at org.apache.myfaces.tobago.application.ViewHandlerImpl.calculateLocale(ViewHandlerImpl.java:48)
at org.apache.myfaces.tomahawk.application.jsp.JspTilesViewHandlerImpl.calculateLocale(JspTilesViewHandlerImpl.java:298)
at javax.faces.component.UIViewRoot.getLocale(UIViewRoot.java:200)
at org.apache.myfaces.tobago.component.UIViewRoot.updateRendererCachePrefix(UIViewRoot.java:78)
at org.apache.myfaces.tobago.component.UIViewRoot.<init>(UIViewRoot.java:55)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at java.lang.Class.newInstance0(Unknown Source)
at java.lang.Class.newInstance(Unknown Source)
at org.apache.myfaces.application.ApplicationImpl.createComponent(ApplicationImpl.java:397)
at de.mindmatters.faces.application.ApplicationImpl.initComponents(ApplicationImpl.java:321)
at de.mindmatters.faces.application.ApplicationImpl.<init>(ApplicationImpl.java:310)
at de.mindmatters.faces.application.ApplicationImpl.<init>(ApplicationImpl.java:377)
at de.mindmatters.faces.spring.factory.xml.JsfStartupProcessor.configureApplication(JsfStartupProcessor.java:220)
at de.mindmatters.faces.spring.factory.xml.JsfStartupProcessor.postProcessBeanFactory(JsfStartupProcessor.java:133)
at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:422)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:334)
at de.mindmatters.faces.spring.context.support.DefaultFacesWebApplicationContext.refresh(DefaultFacesWebApplicationContext.java:289)
at de.mindmatters.faces.spring.context.ContextLoader.createWebApplicationContext(ContextLoader.java:307)
at de.mindmatters.faces.spring.context.ContextLoader.initWebApplicationContext(ContextLoader.java:161)
at de.mindmatters.faces.spring.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:61)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3763)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4211)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1013)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:718)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1013)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:442)
at org.apache.catalina.core.StandardService.start(StandardService.java:450)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:709)
at org.apache.catalina.startup.Catalina.start(Catalina.java:551)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:294)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:432)
ERROR [main] [2007-04-21 11:09:36,984] [org.apache.myfaces.application.ApplicationImpl]: Could not instantiate component componentType = javax.faces.ViewRoot
java.lang.UnsupportedOperationException
at de.mindmatters.faces.context.ServletExternalContextFake.getRequestLocales(ServletExternalContextFake.java:390)
at org.apache.myfaces.application.jsp.JspViewHandlerImpl.calculateLocale(JspViewHandlerImpl.java:63)
at org.apache.myfaces.tobago.application.ViewHandlerImpl.calculateLocale(ViewHandlerImpl.java:48)
at org.apache.myfaces.tomahawk.application.jsp.JspTilesViewHandlerImpl.calculateLocale(JspTilesViewHandlerImpl.java:298)
at javax.faces.component.UIViewRoot.getLocale(UIViewRoot.java:200)
at org.apache.myfaces.tobago.component.UIViewRoot.updateRendererCachePrefix(UIViewRoot.java:78)
at org.apache.myfaces.tobago.component.UIViewRoot.<init>(UIViewRoot.java:55)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at java.lang.Class.newInstance0(Unknown Source)
at java.lang.Class.newInstance(Unknown Source)
at org.apache.myfaces.application.ApplicationImpl.createComponent(ApplicationImpl.java:397)
at de.mindmatters.faces.application.ApplicationImpl.initComponents(ApplicationImpl.java:321)
at de.mindmatters.faces.application.ApplicationImpl.<init>(ApplicationImpl.java:310)
at de.mindmatters.faces.application.ApplicationImpl.<init>(ApplicationImpl.java:377)
at de.mindmatters.faces.spring.factory.xml.JsfStartupProcessor.configureApplication(JsfStartupProcessor.java:220)
at de.mindmatters.faces.spring.factory.xml.JsfStartupProcessor.postProcessBeanFactory(JsfStartupProcessor.java:133)
at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:422)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:334)
at de.mindmatters.faces.spring.context.support.DefaultFacesWebApplicationContext.refresh(DefaultFacesWebApplicationContext.java:289)
at de.mindmatters.faces.spring.context.ContextLoader.createWebApplicationContext(ContextLoader.java:307)
at de.mindmatters.faces.spring.context.ContextLoader.initWebApplicationContext(ContextLoader.java:161)
at de.mindmatters.faces.spring.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:61)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3763)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4211)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1013)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:718)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1013)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:442)
at org.apache.catalina.core.StandardService.start(StandardService.java:450)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:709)
at org.apache.catalina.startup.Catalina.start(Catalina.java:551)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:294)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:432)
ERROR [main] [2007-04-21 11:09:37,000] [de.mindmatters.faces.spring.context.ContextLoader]: Context initialization failed
javax.faces.FacesException: Could not instantiate component componentType = javax.faces.ViewRoot
at org.apache.myfaces.application.ApplicationImpl.createComponent(ApplicationImpl.java:402)
at de.mindmatters.faces.application.ApplicationImpl.initComponents(ApplicationImpl.java:321)
at de.mindmatters.faces.application.ApplicationImpl.<init>(ApplicationImpl.java:310)
at de.mindmatters.faces.application.ApplicationImpl.<init>(ApplicationImpl.java:377)
at de.mindmatters.faces.spring.factory.xml.JsfStartupProcessor.configureApplication(JsfStartupProcessor.java:220)
at de.mindmatters.faces.spring.factory.xml.JsfStartupProcessor.postProcessBeanFactory(JsfStartupProcessor.java:133)
at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:422)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:334)
at de.mindmatters.faces.spring.context.support.DefaultFacesWebApplicationContext.refresh(DefaultFacesWebApplicationContext.java:289)
at de.mindmatters.faces.spring.context.ContextLoader.createWebApplicationContext(ContextLoader.java:307)
at de.mindmatters.faces.spring.context.ContextLoader.initWebApplicationContext(ContextLoader.java:161)
at de.mindmatters.faces.spring.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:61)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3763)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4211)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1013)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:718)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1013)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:442)
at org.apache.catalina.core.StandardService.start(StandardService.java:450)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:709)
at org.apache.catalina.startup.Catalina.start(Catalina.java:551)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:294)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:432)
Caused by: java.lang.UnsupportedOperationException
at de.mindmatters.faces.context.ServletExternalContextFake.getRequestLocales(ServletExternalContextFake.java:390)
at org.apache.myfaces.application.jsp.JspViewHandlerImpl.calculateLocale(JspViewHandlerImpl.java:63)
at org.apache.myfaces.tobago.application.ViewHandlerImpl.calculateLocale(ViewHandlerImpl.java:48)
at org.apache.myfaces.tomahawk.application.jsp.JspTilesViewHandlerImpl.calculateLocale(JspTilesViewHandlerImpl.java:298)
at javax.faces.component.UIViewRoot.getLocale(UIViewRoot.java:200)
at org.apache.myfaces.tobago.component.UIViewRoot.updateRendererCachePrefix(UIViewRoot.java:78)
at org.apache.myfaces.tobago.component.UIViewRoot.<init>(UIViewRoot.java:55)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at java.lang.Class.newInstance0(Unknown Source)
at java.lang.Class.newInstance(Unknown Source)
at org.apache.myfaces.application.ApplicationImpl.createComponent(ApplicationImpl.java:397)
... 26 more
ERROR [main] [2007-04-21 11:09:37,015] [org.apache.catalina.core.StandardContext]: Exception sending context initialized event to listener instance of class de.mindmatters.faces.spring.context.ContextLoaderListener
javax.faces.FacesException: Could not instantiate component componentType = javax.faces.ViewRoot
at org.apache.myfaces.application.ApplicationImpl.createComponent(ApplicationImpl.java:402)
at de.mindmatters.faces.application.ApplicationImpl.initComponents(ApplicationImpl.java:321)
at de.mindmatters.faces.application.ApplicationImpl.<init>(ApplicationImpl.java:310)
at de.mindmatters.faces.application.ApplicationImpl.<init>(ApplicationImpl.java:377)
at de.mindmatters.faces.spring.factory.xml.JsfStartupProcessor.configureApplication(JsfStartupProcessor.java:220)
at de.mindmatters.faces.spring.factory.xml.JsfStartupProcessor.postProcessBeanFactory(JsfStartupProcessor.java:133)
at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:422)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:334)
at de.mindmatters.faces.spring.context.support.DefaultFacesWebApplicationContext.refresh(DefaultFacesWebApplicationContext.java:289)
at de.mindmatters.faces.spring.context.ContextLoader.createWebApplicationContext(ContextLoader.java:307)
at de.mindmatters.faces.spring.context.ContextLoader.initWebApplicationContext(ContextLoader.java:161)
at de.mindmatters.faces.spring.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:61)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3763)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4211)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1013)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:718)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1013)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:442)
at org.apache.catalina.core.StandardService.start(StandardService.java:450)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:709)
at org.apache.catalina.startup.Catalina.start(Catalina.java:551)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:294)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:432)
Caused by: java.lang.UnsupportedOperationException
at de.mindmatters.faces.context.ServletExternalContextFake.getRequestLocales(ServletExternalContextFake.java:390)
at org.apache.myfaces.application.jsp.JspViewHandlerImpl.calculateLocale(JspViewHandlerImpl.java:63)
at org.apache.myfaces.tobago.application.ViewHandlerImpl.calculateLocale(ViewHandlerImpl.java:48)
at org.apache.myfaces.tomahawk.application.jsp.JspTilesViewHandlerImpl.calculateLocale(JspTilesViewHandlerImpl.java:298)
at javax.faces.component.UIViewRoot.getLocale(UIViewRoot.java:200)
at org.apache.myfaces.tobago.component.UIViewRoot.updateRendererCachePrefix(UIViewRoot.java:78)
at org.apache.myfaces.tobago.component.UIViewRoot.<init>(UIViewRoot.java:55)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at java.lang.Class.newInstance0(Unknown Source)
at java.lang.Class.newInstance(Unknown Source)
at org.apache.myfaces.application.ApplicationImpl.createComponent(ApplicationImpl.java:397)
... 26 more
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Theproblem lies in the class "ServletExternalContextFake" as the stacktrace suggests. Looking in the source, the method getRequestLocales() - like many others - really is only a fake:
/**
* {@inheritDoc}
*/
public Iterator getRequestLocales() {
throw new UnsupportedOperationException();
}
" ... This class implements the nature of a servlet applicaton environment. As it's name says this class fakes the behavior described in the specifications. ... "
The problem seems to be, that if tobage is included, MyFaces JspViewHandlerImpl class calls this method per default (The external context here ist the ServletExternalContextFake class):
public Locale calculateLocale(FacesContext facesContext) {
Iterator locales = facesContext.getExternalContext().getRequestLocales();
while (locales.hasNext()) {
Locale locale = (Locale) locales.next();
for (Iterator it = facesContext.getApplication().getSupportedLocales(); it.hasNext();) {
Locale supportLocale = (Locale) it.next();
// higher priority to a language match over an exact match
// that occures further down (see Jstl Reference 1.0 8.3.1)
if (locale.getLanguage().equals(supportLocale.getLanguage()) &&
(supportLocale.getCountry() == null ||
supportLocale.getCountry().length() == 0)) {
return supportLocale;
}
else if (supportLocale.equals(locale)) {
return supportLocale;
}
}
}
Logged In: NO
Added trace:
java.lang.UnsupportedOperationException
at de.mindmatters.faces.context.ServletExternalContextFake.getRequestLocales(ServletExternalContextFake.java:390)
at org.apache.myfaces.application.jsp.JspViewHandlerImpl.calculateLocale(JspViewHandlerImpl.java:63)
at org.apache.myfaces.tobago.application.ViewHandlerImpl.calculateLocale(ViewHandlerImpl.java:48)
at org.apache.myfaces.tomahawk.application.jsp.JspTilesViewHandlerImpl.calculateLocale(JspTilesViewHandlerImpl.java:298)
at javax.faces.component.UIViewRoot.getLocale(UIViewRoot.java:200)
at org.apache.myfaces.tobago.component.UIViewRoot.updateRendererCachePrefix(UIViewRoot.java:78)
at org.apache.myfaces.tobago.component.UIViewRoot.<init>(UIViewRoot.java:55)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at java.lang.Class.newInstance0(Unknown Source)
at java.lang.Class.newInstance(Unknown Source)
at org.apache.myfaces.application.ApplicationImpl.createComponent(ApplicationImpl.java:397)
at de.mindmatters.faces.application.ApplicationImpl.initComponents(ApplicationImpl.java:321)
at de.mindmatters.faces.application.ApplicationImpl.<init>(ApplicationImpl.java:310)
at de.mindmatters.faces.application.ApplicationImpl.<init>(ApplicationImpl.java:377)
at de.mindmatters.faces.spring.factory.xml.JsfStartupProcessor.configureApplication(JsfStartupProcessor.java:220)
at de.mindmatters.faces.spring.factory.xml.JsfStartupProcessor.postProcessBeanFactory(JsfStartupProcessor.java:133)
at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:422)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:334)
at de.mindmatters.faces.spring.context.support.DefaultFacesWebApplicationContext.refresh(DefaultFacesWebApplicationContext.java:289)
at de.mindmatters.faces.spring.context.ContextLoader.createWebApplicationContext(ContextLoader.java:307)
at de.mindmatters.faces.spring.context.ContextLoader.initWebApplicationContext(ContextLoader.java:161)
at de.mindmatters.faces.spring.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:61)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3763)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4211)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1013)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:718)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1013)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:442)
at org.apache.catalina.core.StandardService.start(StandardService.java:450)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:709)
at org.apache.catalina.startup.Catalina.start(Catalina.java:551)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:294)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:432)
ERROR [main] [2007-04-21 11:09:36,984] [org.apache.myfaces.application.ApplicationImpl]: Could not instantiate component componentType = javax.faces.ViewRoot
java.lang.UnsupportedOperationException
at de.mindmatters.faces.context.ServletExternalContextFake.getRequestLocales(ServletExternalContextFake.java:390)
at org.apache.myfaces.application.jsp.JspViewHandlerImpl.calculateLocale(JspViewHandlerImpl.java:63)
at org.apache.myfaces.tobago.application.ViewHandlerImpl.calculateLocale(ViewHandlerImpl.java:48)
at org.apache.myfaces.tomahawk.application.jsp.JspTilesViewHandlerImpl.calculateLocale(JspTilesViewHandlerImpl.java:298)
at javax.faces.component.UIViewRoot.getLocale(UIViewRoot.java:200)
at org.apache.myfaces.tobago.component.UIViewRoot.updateRendererCachePrefix(UIViewRoot.java:78)
at org.apache.myfaces.tobago.component.UIViewRoot.<init>(UIViewRoot.java:55)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at java.lang.Class.newInstance0(Unknown Source)
at java.lang.Class.newInstance(Unknown Source)
at org.apache.myfaces.application.ApplicationImpl.createComponent(ApplicationImpl.java:397)
at de.mindmatters.faces.application.ApplicationImpl.initComponents(ApplicationImpl.java:321)
at de.mindmatters.faces.application.ApplicationImpl.<init>(ApplicationImpl.java:310)
at de.mindmatters.faces.application.ApplicationImpl.<init>(ApplicationImpl.java:377)
at de.mindmatters.faces.spring.factory.xml.JsfStartupProcessor.configureApplication(JsfStartupProcessor.java:220)
at de.mindmatters.faces.spring.factory.xml.JsfStartupProcessor.postProcessBeanFactory(JsfStartupProcessor.java:133)
at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:422)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:334)
at de.mindmatters.faces.spring.context.support.DefaultFacesWebApplicationContext.refresh(DefaultFacesWebApplicationContext.java:289)
at de.mindmatters.faces.spring.context.ContextLoader.createWebApplicationContext(ContextLoader.java:307)
at de.mindmatters.faces.spring.context.ContextLoader.initWebApplicationContext(ContextLoader.java:161)
at de.mindmatters.faces.spring.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:61)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3763)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4211)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1013)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:718)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1013)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:442)
at org.apache.catalina.core.StandardService.start(StandardService.java:450)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:709)
at org.apache.catalina.startup.Catalina.start(Catalina.java:551)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:294)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:432)
ERROR [main] [2007-04-21 11:09:37,000] [de.mindmatters.faces.spring.context.ContextLoader]: Context initialization failed
javax.faces.FacesException: Could not instantiate component componentType = javax.faces.ViewRoot
at org.apache.myfaces.application.ApplicationImpl.createComponent(ApplicationImpl.java:402)
at de.mindmatters.faces.application.ApplicationImpl.initComponents(ApplicationImpl.java:321)
at de.mindmatters.faces.application.ApplicationImpl.<init>(ApplicationImpl.java:310)
at de.mindmatters.faces.application.ApplicationImpl.<init>(ApplicationImpl.java:377)
at de.mindmatters.faces.spring.factory.xml.JsfStartupProcessor.configureApplication(JsfStartupProcessor.java:220)
at de.mindmatters.faces.spring.factory.xml.JsfStartupProcessor.postProcessBeanFactory(JsfStartupProcessor.java:133)
at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:422)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:334)
at de.mindmatters.faces.spring.context.support.DefaultFacesWebApplicationContext.refresh(DefaultFacesWebApplicationContext.java:289)
at de.mindmatters.faces.spring.context.ContextLoader.createWebApplicationContext(ContextLoader.java:307)
at de.mindmatters.faces.spring.context.ContextLoader.initWebApplicationContext(ContextLoader.java:161)
at de.mindmatters.faces.spring.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:61)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3763)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4211)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1013)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:718)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1013)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:442)
at org.apache.catalina.core.StandardService.start(StandardService.java:450)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:709)
at org.apache.catalina.startup.Catalina.start(Catalina.java:551)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:294)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:432)
Caused by: java.lang.UnsupportedOperationException
at de.mindmatters.faces.context.ServletExternalContextFake.getRequestLocales(ServletExternalContextFake.java:390)
at org.apache.myfaces.application.jsp.JspViewHandlerImpl.calculateLocale(JspViewHandlerImpl.java:63)
at org.apache.myfaces.tobago.application.ViewHandlerImpl.calculateLocale(ViewHandlerImpl.java:48)
at org.apache.myfaces.tomahawk.application.jsp.JspTilesViewHandlerImpl.calculateLocale(JspTilesViewHandlerImpl.java:298)
at javax.faces.component.UIViewRoot.getLocale(UIViewRoot.java:200)
at org.apache.myfaces.tobago.component.UIViewRoot.updateRendererCachePrefix(UIViewRoot.java:78)
at org.apache.myfaces.tobago.component.UIViewRoot.<init>(UIViewRoot.java:55)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at java.lang.Class.newInstance0(Unknown Source)
at java.lang.Class.newInstance(Unknown Source)
at org.apache.myfaces.application.ApplicationImpl.createComponent(ApplicationImpl.java:397)
... 26 more
ERROR [main] [2007-04-21 11:09:37,015] [org.apache.catalina.core.StandardContext]: Exception sending context initialized event to listener instance of class de.mindmatters.faces.spring.context.ContextLoaderListener
javax.faces.FacesException: Could not instantiate component componentType = javax.faces.ViewRoot
at org.apache.myfaces.application.ApplicationImpl.createComponent(ApplicationImpl.java:402)
at de.mindmatters.faces.application.ApplicationImpl.initComponents(ApplicationImpl.java:321)
at de.mindmatters.faces.application.ApplicationImpl.<init>(ApplicationImpl.java:310)
at de.mindmatters.faces.application.ApplicationImpl.<init>(ApplicationImpl.java:377)
at de.mindmatters.faces.spring.factory.xml.JsfStartupProcessor.configureApplication(JsfStartupProcessor.java:220)
at de.mindmatters.faces.spring.factory.xml.JsfStartupProcessor.postProcessBeanFactory(JsfStartupProcessor.java:133)
at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:422)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:334)
at de.mindmatters.faces.spring.context.support.DefaultFacesWebApplicationContext.refresh(DefaultFacesWebApplicationContext.java:289)
at de.mindmatters.faces.spring.context.ContextLoader.createWebApplicationContext(ContextLoader.java:307)
at de.mindmatters.faces.spring.context.ContextLoader.initWebApplicationContext(ContextLoader.java:161)
at de.mindmatters.faces.spring.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:61)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3763)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4211)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1013)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:718)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1013)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:442)
at org.apache.catalina.core.StandardService.start(StandardService.java:450)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:709)
at org.apache.catalina.startup.Catalina.start(Catalina.java:551)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:294)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:432)
Caused by: java.lang.UnsupportedOperationException
at de.mindmatters.faces.context.ServletExternalContextFake.getRequestLocales(ServletExternalContextFake.java:390)
at org.apache.myfaces.application.jsp.JspViewHandlerImpl.calculateLocale(JspViewHandlerImpl.java:63)
at org.apache.myfaces.tobago.application.ViewHandlerImpl.calculateLocale(ViewHandlerImpl.java:48)
at org.apache.myfaces.tomahawk.application.jsp.JspTilesViewHandlerImpl.calculateLocale(JspTilesViewHandlerImpl.java:298)
at javax.faces.component.UIViewRoot.getLocale(UIViewRoot.java:200)
at org.apache.myfaces.tobago.component.UIViewRoot.updateRendererCachePrefix(UIViewRoot.java:78)
at org.apache.myfaces.tobago.component.UIViewRoot.<init>(UIViewRoot.java:55)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at java.lang.Class.newInstance0(Unknown Source)
at java.lang.Class.newInstance(Unknown Source)
at org.apache.myfaces.application.ApplicationImpl.createComponent(ApplicationImpl.java:397)
... 26 more
Logged In: NO
I figured something more out by now:
Theproblem lies in the class "ServletExternalContextFake" as the stacktrace suggests. Looking in the source, the method getRequestLocales() - like many others - really is only a fake:
/**
* {@inheritDoc}
*/
public Iterator getRequestLocales() {
throw new UnsupportedOperationException();
}
" ... This class implements the nature of a servlet applicaton environment. As it's name says this class fakes the behavior described in the specifications. ... "
The problem seems to be, that if tobage is included, MyFaces JspViewHandlerImpl class calls this method per default (The external context here ist the ServletExternalContextFake class):
public Locale calculateLocale(FacesContext facesContext) {
Iterator locales = facesContext.getExternalContext().getRequestLocales();
while (locales.hasNext()) {
Locale locale = (Locale) locales.next();
for (Iterator it = facesContext.getApplication().getSupportedLocales(); it.hasNext();) {
Locale supportLocale = (Locale) it.next();
// higher priority to a language match over an exact match
// that occures further down (see Jstl Reference 1.0 8.3.1)
if (locale.getLanguage().equals(supportLocale.getLanguage()) &&
(supportLocale.getCountry() == null ||
supportLocale.getCountry().length() == 0)) {
return supportLocale;
}
else if (supportLocale.equals(locale)) {
return supportLocale;
}
}
}
Locale defaultLocale = facesContext.getApplication().getDefaultLocale();
return defaultLocale != null ? defaultLocale : Locale.getDefault();
}
Still haven't figure out a way around this...