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
signature.asc
Description: OpenPGP digital signature

