You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@myfaces.apache.org by Dave Brondsema <da...@brondsema.net> on 2005/09/16 15:10:24 UTC

ELException with little explanation

I'm receiving an ELException that doesn't really explain what happened.
 It seems that <managed-property>s aren't being set, and then this error
occurs when getting a property.  Stacktrace, faces-config.xml and
ContainerLocatorObjectFactory.java follow.

Sep 16, 2005 9:04:43 AM
edu.cornerstone.portal.portlet.util.ContainerLocatorObjectFactory <init>
FINE: constructed
Sep 16, 2005 9:04:43 AM com.sun.facelets.FaceletViewHandler
handleRenderException
SEVERE: Error Rendering View
javax.el.ELException: /file:/C:/Program Files/Apache Software
Foundation/Tomcat 5.5/temp/11-PrintShopWorkOrder/WEB-INF/lib/Electronic
Forms.jar!/view/index.xhtml: Bean:
edu.cornerstone.portal.portlet.util.ContainerLocatorObjectFactory,
property: object
	at com.sun.facelets.compiler.UIText.encodeBegin(UIText.java:51)
	at
org.apache.myfaces.renderkit.RendererUtils.renderChild(RendererUtils.java:441)
	at
org.apache.myfaces.renderkit.RendererUtils.renderChildren(RendererUtils.java:427)
	at
org.apache.myfaces.renderkit.html.HtmlGroupRendererBase.encodeEnd(HtmlGroupRendererBase.java:62)
	at
javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:331)
	at
org.apache.myfaces.renderkit.RendererUtils.renderChild(RendererUtils.java:450)
	at
org.apache.myfaces.renderkit.html.HtmlGridRendererBase.renderChildren(HtmlGridRendererBase.java:203)
	at
org.apache.myfaces.renderkit.html.HtmlGridRendererBase.encodeEnd(HtmlGridRendererBase.java:85)
	at
javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:331)
	at
com.sun.facelets.FaceletViewHandler.encodeRecursive(FaceletViewHandler.java:521)
	at
com.sun.facelets.FaceletViewHandler.encodeRecursive(FaceletViewHandler.java:518)
	at
com.sun.facelets.FaceletViewHandler.encodeRecursive(FaceletViewHandler.java:518)
	at
com.sun.facelets.FaceletViewHandler.renderView(FaceletViewHandler.java:447)
	at
org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:300)
	at
org.apache.myfaces.portlet.MyFacesGenericPortlet.nonFacesRequest(MyFacesGenericPortlet.java:305)
	at
org.apache.myfaces.portlet.MyFacesGenericPortlet.nonFacesRequest(MyFacesGenericPortlet.java:280)
	at
org.apache.myfaces.portlet.MyFacesGenericPortlet.facesRender(MyFacesGenericPortlet.java:362)
	at
org.apache.myfaces.portlet.MyFacesGenericPortlet.doView(MyFacesGenericPortlet.java:248)
	at javax.portlet.GenericPortlet.doDispatch(GenericPortlet.java:250)
	at javax.portlet.GenericPortlet.render(GenericPortlet.java:178)
	at
edu.cornerstone.portal.portlet.util.MyFacesModalPortlet.render(MyFacesModalPortlet.java:38)
	at org.apache.pluto.core.PortletServlet.dispatch(PortletServlet.java:205)
	at org.apache.pluto.core.PortletServlet.doGet(PortletServlet.java:145)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
	at org.apache.pluto.core.PortletServlet.service(PortletServlet.java:140)
	at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
	at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
	at
org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:672)
	at
org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:574)
	at
org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:499)
	at
org.apache.pluto.invoker.impl.PortletInvokerImpl.invoke(PortletInvokerImpl.java:120)
	at
org.apache.pluto.invoker.impl.PortletInvokerImpl.render(PortletInvokerImpl.java:73)
	at
org.apache.pluto.PortletContainerImpl.renderPortlet(PortletContainerImpl.java:105)
	at
org.jasig.portal.channels.portlet.CPortletAdapter.getMarkup(CPortletAdapter.java:574)
	at
org.jasig.portal.channels.portlet.CPortletAdapter.renderCharacters(CPortletAdapter.java:497)
	at
org.jasig.portal.MultithreadedCharacterChannelAdapter.renderCharacters(MultithreadedCharacterChannelAdapter.java:41)
	at org.jasig.portal.channels.error.CError.renderCharacters(CError.java:564)
	at
org.jasig.portal.ChannelRenderer$Worker.execute(ChannelRenderer.java:477)
	at org.jasig.portal.utils.threading.BaseTask.run(BaseTask.java:27)
	at
edu.emory.mathcs.backport.java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:418)
	at
edu.emory.mathcs.backport.java.util.concurrent.FutureTask.run(FutureTask.java:165)
	at
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:660)
	at
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:685)
	at java.lang.Thread.run(Thread.java:595)




relevant part of faces-config.xml:

<managed-bean>
    <managed-bean-name>containerLocator</managed-bean-name>
    <managed-bean-class>
        edu.cornerstone.portal.portlet.util.ContainerLocatorSpringImpl
    </managed-bean-class>
    <managed-bean-scope>application</managed-bean-scope>
</managed-bean>

<managed-bean>
    <managed-bean-name>eformsServiceFactory</managed-bean-name>
    <managed-bean-class>
        edu.cornerstone.portal.portlet.util.ContainerLocatorObjectFactory
    </managed-bean-class>
    <managed-bean-scope>application</managed-bean-scope>
    <managed-property>
        <property-name>containerLocator</property-name>
        <value>#{containerLocator}</value>
    </managed-property>
    <managed-property>
        <property-name>beanToLookup</property-name>
        <value>eformsService</value>
    </managed-property>
</managed-bean>

<managed-bean>
    <managed-bean-name>formbean</managed-bean-name>
    <managed-bean-class>
        edu.cornerstone.portal.portlets.printshopworkorder.bean.OrderBean
    </managed-bean-class>
    <managed-bean-scope>session</managed-bean-scope>
    <managed-property>
        <property-name>service</property-name>
        <value>#{eformsServiceFactory.object}</value>
    </managed-property>
    <managed-property>
        <property-name>id</property-name>
        <value>#{param.id}</value>
    </managed-property>
</managed-bean>



ContainerLocatorObjectFactory.java:

package edu.cornerstone.portal.portlet.util;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;

/*
 * Class to make generic lookups possible via an IoC container configuration
 */
public class ContainerLocatorObjectFactory {
	private final Log log = LogFactory.getLog(getClass().getName());
	
	protected ContainerLocator containerLocator;

	protected String beanToLookup;

	protected Object object;

	protected Object getObject() {
		log.debug("getObject");
		if (object == null) {
			log.debug("obj is null");
			object = containerLocator.getBean(beanToLookup);
			log.debug("obj is " + object);
		}
		log.debug("returning");
		return object;
	}

	public String getBeanToLookup() {
		return beanToLookup;
	}

	public void setBeanToLookup(String beanToLookup) {
		this.beanToLookup = beanToLookup;
	}

	public ContainerLocator getContainerLocator() {
		return containerLocator;
	}

	public void setContainerLocator(ContainerLocator containerLocator) {
		this.containerLocator = containerLocator;
	}

	public ContainerLocatorObjectFactory() {
		super();
		log.debug("constructed");
	}
}

-- 
Dave Brondsema
Software Developer
Cornerstone University

Re: ELException with little explanation

Posted by Dave Brondsema <da...@brondsema.net>.
Dave Brondsema wrote:
> I'm receiving an ELException that doesn't really explain what happened.
>  It seems that <managed-property>s aren't being set, and then this error
> occurs when getting a property.  Stacktrace, faces-config.xml and
> ContainerLocatorObjectFactory.java follow.


Nevermind.  My getter was protected instead of public.

-- 
Dave Brondsema
Software Developer
Cornerstone University