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

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to