myfaces-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Leonardo Uribe (JIRA)" <...@myfaces.apache.org>
Subject [jira] Reopened: (MYFACES-2434) dummy request/response classes for system event listeners will break with Servlet 3.0
Date Fri, 04 Dec 2009 23:03:20 GMT

     [ https://issues.apache.org/jira/browse/MYFACES-2434?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Leonardo Uribe reopened MYFACES-2434:
-------------------------------------


I have this bugs when orchestra for jsf 2.0 is used:

java.lang.UnsupportedOperationException: This request class is an empty placehol
der
        at org.apache.myfaces.application._SystemEventServletRequest$1.invoke(_SystemEventServletRequest.java:55)
        at $Proxy34.getServletPath(Unknown Source)
        at javax.servlet.http.HttpServletRequestWrapper.getServletPath(HttpServletRequestWrapper.java:218)
        at org.apache.myfaces.context.servlet.ServletExternalContextImpl.<init>(ServletExternalContextImpl.java:117)
        at org.apache.myfaces.context.ExternalContextFactoryImpl.getExternalContext(ExternalContextFactoryImpl.java:61)
        at org.apache.myfaces.context.FacesContextFactoryImpl.getFacesContext(FacesContextFactoryImpl.java:130)
        at org.apache.myfaces.webapp.filter.TomahawkFacesContextFactory.getFacesContext(TomahawkFacesContextFactory.java:107)
        at org.apache.myfaces.orchestra.lib.jsf.OrchestraFacesContextFactory.getFacesContext(OrchestraFacesContextFactory.java:70)
        at org.apache.myfaces.orchestra.requestParameterProvider.jsf.RequestParameterFacesContextFactory.getFacesContext(RequestParameterFacesContextFactory.java:93)
        at org.apache.myfaces.webapp.AbstractFacesInitializer.dispatchInitDestroyEvent(AbstractFacesInitializer.java:140)
        at org.apache.myfaces.webapp.AbstractFacesInitializer.initFaces(AbstractFacesInitializer.java:109)
        at org.apache.myfaces.webapp.StartupServletContextListener.contextInitialized(StartupServletContextListener.java:138)
        at org.mortbay.jetty.handler.ContextHandler.startContext(ContextHandler.java:548)

GRAVE: An error occured while initializing MyFaces: This request class is an emp
ty placeholder
java.lang.UnsupportedOperationException: This request class is an empty placeholder
        at org.apache.myfaces.application._SystemEventServletRequest$1.invoke(_SystemEventServletRequest.java:55)
        at $Proxy34.getPathInfo(Unknown Source)
        at javax.servlet.http.HttpServletRequestWrapper.getPathInfo(HttpServletRequestWrapper.java:133)
        at org.apache.myfaces.context.servlet.ServletExternalContextImpl.<init>(ServletExternalContextImpl.java:118)
        at org.apache.myfaces.context.ExternalContextFactoryImpl.getExternalContext(ExternalContextFactoryImpl.java:61)
        at org.apache.myfaces.context.FacesContextFactoryImpl.getFacesContext(FacesContextFactoryImpl.java:130)
        at org.apache.myfaces.webapp.filter.TomahawkFacesContextFactory.getFacesContext(TomahawkFacesContextFactory.java:107)
        at org.apache.myfaces.orchestra.lib.jsf.OrchestraFacesContextFactory.getFacesContext(OrchestraFacesContextFactory.java:70)
        at org.apache.myfaces.orchestra.requestParameterProvider.jsf.RequestParameterFacesContextFactory.getFacesContext(RequestParameterFacesContextFactory.jav
a:93)
        at org.apache.myfaces.webapp.AbstractFacesInitializer.dispatchInitDestroyEvent(AbstractFacesInitializer.java:140)
        at org.apache.myfaces.webapp.AbstractFacesInitializer.initFaces(AbstractFacesInitializer.java:109)
        at org.apache.myfaces.webapp.StartupServletContextListener.contextInitialized(StartupServletContextListener.java:138)
        at org.mortbay.jetty.handler.ContextHandler.startContext(ContextHandler.java:548)
        at org.mortbay.jetty.servlet.Context.startContext(Context.java:136)
        at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1250)

2009-12-04 14:47:28,234 ERROR org.apache.myfaces.orchestra.lib.jsf.OrchestraFace
sContextFactory - Problem initialising RequestHandler
java.lang.UnsupportedOperationException: This request class is an empty placeholder
        at org.apache.myfaces.application._SystemEventServletRequest$1.invoke(_SystemEventServletRequest.java:55)
        at $Proxy34.getSession(Unknown Source)
        at javax.servlet.http.HttpServletRequestWrapper.getSession(HttpServletRequestWrapper.java:227)
        at org.apache.myfaces.context.servlet.SessionMap.getSession(SessionMap.java:79)
        at org.apache.myfaces.context.servlet.SessionMap.getAttribute(SessionMap.java:49)
        at org.apache.myfaces.util.AbstractAttributeMap.get(AbstractAttributeMap.java:94)
        at org.apache.myfaces.orchestra.frameworkAdapter.jsf.JsfFrameworkAdapter.getSessionAttribute(JsfFrameworkAdapter.java:129)
        at org.apache.myfaces.orchestra.conversation.ConversationManager.getInstance(ConversationManager.java:127)
        at org.apache.myfaces.orchestra.lib.jsf.ContextLockRequestHandler.init(ContextLockRequestHandler.java:68)
        at org.apache.myfaces.orchestra.lib.jsf.OrchestraFacesContextFactory$1.<init>(OrchestraFacesContextFactory.java:122)
        at org.apache.myfaces.orchestra.lib.jsf.OrchestraFacesContextFactory.getFacesContext(OrchestraFacesContextFactory.java:103)
        at org.apache.myfaces.orchestra.requestParameterProvider.jsf.RequestParameterFacesContextFactory.getFacesContext(RequestParameterFacesContextFactory.java:93)
        at org.apache.myfaces.webapp.AbstractFacesInitializer.dispatchInitDestroyEvent(AbstractFacesInitializer.java:140)
        at org.apache.myfaces.webapp.AbstractFacesInitializer.initFaces(AbstractFacesInitializer.java:109)
        at org.apache.myfaces.webapp.StartupServletContextListener.contextInitialized(StartupServletContextListener.java:138)
        at org.mortbay.jetty.handler.ContextHandler.startContext(ContextHandler.java:548)
        at org.mortbay.jetty.servlet.Context.startContext(Context.java:136)
        at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1250)


java.lang.NullPointerException
	at org.apache.myfaces.el.unified.resolver.ManagedBeanResolver.getValue(ManagedBeanResolver.java:183)
	at javax.el.CompositeELResolver.getValue(CompositeELResolver.java:175)
	at org.apache.myfaces.el.unified.resolver.FacesCompositeELResolver.getValue(FacesCompositeELResolver.java:140)
	at org.apache.myfaces.el.VariableResolverImpl.resolveVariable(VariableResolverImpl.java:64)
	at org.apache.myfaces.orchestra.viewController.jsf.ViewControllerVariableResolver.resolveVariable(ViewControllerVariableResolver.java:51)
	at org.springframework.web.jsf.DelegatingVariableResolver.resolveOriginal(DelegatingVariableResolver.java:123)
	at org.springframework.web.jsf.DelegatingVariableResolver.resolveVariable(DelegatingVariableResolver.java:105)
	at org.apache.myfaces.el.convert.VariableResolverToELResolver.getValue(VariableResolverToELResolver.java:96)
	at javax.el.CompositeELResolver.getValue(CompositeELResolver.java:175)
	at org.apache.myfaces.el.unified.resolver.FacesCompositeELResolver.getValue(FacesCompositeELResolver.java:140)
	at org.apache.myfaces.el.VariableResolverToApplicationELResolverAdapter.resolveVariable(VariableResolverToApplicationELResolverAdapter.java:45)
	at org.apache.myfaces.orchestra.frameworkAdapter.jsf.JsfFrameworkAdapter.getBean(JsfFrameworkAdapter.java:177)
	at org.apache.myfaces.orchestra.FactoryFinder.getConversationManagerFactory(FactoryFinder.java:66)
	at org.apache.myfaces.orchestra.conversation.ConversationManager.getInstance(ConversationManager.java:144)
	at org.apache.myfaces.orchestra.conversation.ConversationManager.getInstance(ConversationManager.java:99)
	at org.apache.myfaces.orchestra.lib.jsf.ConversationManagerRequestHandler.init(ConversationManagerRequestHandler.java:43)
	at org.apache.myfaces.orchestra.lib.jsf.OrchestraFacesContextFactory$1.(OrchestraFacesContextFactory.java:122)
	at org.apache.myfaces.orchestra.lib.jsf.OrchestraFacesContextFactory.getFacesContext(OrchestraFacesContextFactory.java:103)
	at org.apache.myfaces.orchestra.requestParameterProvider.jsf.RequestParameterFacesContextFactory.getFacesContext(RequestParameterFacesContextFactory.java:93)
	at javax.faces.webapp.FacesServlet.prepareFacesContext(FacesServlet.java:500)
	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:189)
	at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511)
	at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1166)
	at org.apache.myfaces.examples.filter.RequestEncodingFilter.doFilter(RequestEncodingFilter.java:41)
	at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
	at org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:341)
	at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
	at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:388)
	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:765)
	at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:418)
	at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230)
	at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
	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:536)
	at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:915)
	at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:539)
	at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212)
	at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:405)
	at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409)
	at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)

In few words, the wrappers should use HttpServletXXX for create the proxy (because ServletExternalContextImpl
check for it) and contains some dummy methods to make it work. Note RI uses some classes that
return null, 0 or empty list/collection when initialization occur. For now, I'll commit only
the ones I need.

> dummy request/response classes for system event listeners will break with Servlet 3.0
> -------------------------------------------------------------------------------------
>
>                 Key: MYFACES-2434
>                 URL: https://issues.apache.org/jira/browse/MYFACES-2434
>             Project: MyFaces Core
>          Issue Type: Bug
>          Components: JSR-314
>    Affects Versions: 2.0.0-alpha
>            Reporter: Michael Concini
>            Assignee: Michael Concini
>             Fix For: 2.0.0-alpha-2
>
>
> Currently the _SystemEventServletRequest and _SystemEventServletResponse classes implement
ServletRequest and ServletResponse directly.   There are several new methods that must be
implemented in the servlet 3.0 updates of those interfaces.  
> This can be resolved by changing them to extend ServletRequestWrapper and ServletResponseWrapper
instead of implementing directly.  

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message