dev@glassfish.java.net

EL Regression

From: Ken Paulsen <Ken.Paulsen_at_Sun.COM>
Date: Fri, 22 Dec 2006 10:21:01 -0800

The following expression worked when I built GlassFish on 12/12/06, but
does not in today's build (not sure when the regression occurred):

    #{facesContext.externalContext.request.queryString}

When I replace the javax.el.* api's in today's javaee.jar w/ the ones
from 10 days ago, everything works fine again. Here's the stack trace:

[#|2006-12-22T10:15:58.409-0800|SEVERE|sun-appserver-ee9.1|javax.enterprise.system.container.web|_ThreadID=14;_ThreadName=httpWorkerThread-4848-2;_RequestID=2da88bf3-a035-4537-ac3b-38b32cc1f823;|StandardWrapperValve[FacesServlet]:
PWC1406: Servlet.service() for servlet FacesServlet threw exception
java.lang.NullPointerException
        at javax.el.BeanELResolver.getMethod(BeanELResolver.java:522)
        at javax.el.BeanELResolver.access$000(BeanELResolver.java:70)
        at
javax.el.BeanELResolver$BeanProperty.<init>(BeanELResolver.java:92)
        at
javax.el.BeanELResolver$BeanProperties.<init>(BeanELResolver.java:129)
        at javax.el.BeanELResolver.getBeanProperty(BeanELResolver.java:540)
        at javax.el.BeanELResolver.getValue(BeanELResolver.java:251)
        at
javax.el.CompositeELResolver.getValue(CompositeELResolver.java:143)
        at
com.sun.faces.el.FacesCompositeELResolver.getValue(FacesCompositeELResolver.java:64)
        at com.sun.el.parser.AstValue.getValue(AstValue.java:118)
        at
com.sun.el.parser.AstDeferredExpression.getValue(AstDeferredExpression.java:46)
        at
com.sun.el.parser.AstCompositeExpression.getValue(AstCompositeExpression.java:51)
        at
com.sun.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:192)
        at
com.sun.faces.application.ValueBindingValueExpressionAdapter.getValue(ValueBindingValueExpressionAdapter.java:102)
        at
com.sun.jsftemplating.component.ComponentUtil.resolveValue(ComponentUtil.java:503)
        at
com.sun.jsftemplating.layout.descriptors.handler.Handler.getInputValue(Handler.java:194)
        at
com.sun.jsftemplating.layout.descriptors.handler.HandlerContextImpl.getInputValue(HandlerContextImpl.java:142)
        at
com.sun.jsftemplating.handlers.UtilHandlers.println(UtilHandlers.java:80)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:585)
        at
com.sun.jsftemplating.layout.descriptors.handler.Handler.invoke(Handler.java:421)
        at
com.sun.jsftemplating.layout.descriptors.LayoutElementBase.dispatchHandlers(LayoutElementBase.java:342)
        at
com.sun.jsftemplating.layout.descriptors.LayoutElementBase.dispatchHandlers(LayoutElementBase.java:316)
        at
com.sun.jsftemplating.layout.descriptors.LayoutComponent.afterCreate(LayoutComponent.java:346)
        at
com.sun.jsftemplating.layout.descriptors.LayoutComponent.getChild(LayoutComponent.java:277)
        at
com.sun.jsftemplating.layout.LayoutViewHandler.buildUIComponentTree(LayoutViewHandler.java:345)
        at
com.sun.jsftemplating.layout.LayoutViewHandler.buildUIComponentTree(LayoutViewHandler.java:360)
        at
com.sun.jsftemplating.layout.LayoutViewHandler.buildUIComponentTree(LayoutViewHandler.java:360)
        at
com.sun.jsftemplating.layout.LayoutViewHandler.buildUIComponentTree(LayoutViewHandler.java:360)
        at
com.sun.jsftemplating.layout.LayoutViewHandler.buildUIComponentTree(LayoutViewHandler.java:360)
        at
com.sun.jsftemplating.layout.LayoutViewHandler.createView(LayoutViewHandler.java:177)
        at
com.sun.faces.lifecycle.RestoreViewPhase.execute(RestoreViewPhase.java:201)
        at
com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:248)
        at
com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:117)
        at
com.sun.faces.extensions.avatar.lifecycle.PartialTraversalLifecycle.execute(PartialTraversalLifecycle.java:79)
        at javax.faces.webapp.FacesServlet.service(FacesServlet.java:244)
        at
org.apache.catalina.core.ApplicationFilterChain.servletService(ApplicationFilterChain.java:398)
        at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304)
        at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:185)
        at
com.sun.webui.jsf.util.UploadFilter.doFilter(UploadFilter.java:203)
        at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:217)
        at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:185)
        at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:275)
        at
org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:255)
        at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:188)
        at
org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:586)
        at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:73)
        at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:186)
        at
org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:586)
        at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:556)
        at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1067)
        at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:137)
        at
org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:586)
        at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:556)
        at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1067)
        at
org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:252)
        at
com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.invokeAdapter(DefaultProcessorTask.java:618)
        at
com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.processNonBlocked(DefaultProcessorTask.java:549)
        at
com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.process(DefaultProcessorTask.java:790)
        at
com.sun.enterprise.web.connector.grizzly.DefaultReadTask.executeProcessorTask(DefaultReadTask.java:326)
        at
com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:248)
        at
com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:199)
        at
com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:252)
        at
com.sun.enterprise.web.connector.grizzly.WorkerThreadImpl.run(WorkerThreadImpl.java:103)

The last part ".queryString" is the part that causes the exception in
the new code. Any ideas?

Thanks,

Ken Paulsen
ken.paulsen_at_sun.com
https://jsftemplating.dev.java.net