[ http://issues.apache.org/jira/browse/PB-35?page=comments#action_12437961 ] David Sean Taylor commented on PB-35: -------------------------------------
Im coming up with a big fat ZERO on MyFaces 1.1.4 + Jetspeed. Really don't have much of a clue yet. Here is what I get with the myfaces-example-simple.war, without the bridge and with a modified portlet.xml as described here: http://myfaces.apache.org/docs/portlet.html INFO: PortletContext 'C:\coc\tomcat5\webapps\myfaces-example-simple\' initialize d. javax.faces.FacesException: javax.portlet.PortletException at org.apache.myfaces.context.portlet.PortletExternalContextImpl.dispatc h(PortletExternalContextImpl.java:175) at org.apache.myfaces.application.jsp.JspViewHandlerImpl.renderView(JspV iewHandlerImpl.java:195) at org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java: 384) at org.apache.myfaces.portlet.MyFacesGenericPortlet.nonFacesRequest(MyFa cesGenericPortlet.java:322) at org.apache.myfaces.portlet.MyFacesGenericPortlet.nonFacesRequest(MyFa cesGenericPortlet.java:297) at org.apache.myfaces.portlet.MyFacesGenericPortlet.facesRender(MyFacesG enericPortlet.java:379) at org.apache.myfaces.portlet.MyFacesGenericPortlet.doView(MyFacesGeneri cPortlet.java:265) at javax.portlet.GenericPortlet.doDispatch(GenericPortlet.java:247) at javax.portlet.GenericPortlet.render(GenericPortlet.java:175) at org.apache.jetspeed.factory.JetspeedPortletInstance.render(JetspeedPo rtletInstance.java:102) at org.apache.jetspeed.container.JetspeedContainerServlet.doGet(Jetspeed ContainerServlet.java:235) at javax.servlet.http.HttpServlet.service(HttpServlet.java:689) at javax.servlet.http.HttpServlet.service(HttpServlet.java:802) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl icationFilterChain.java:252) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF ilterChain.java:173) at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDisp atcher.java:672) at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationD ispatcher.java:574) at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDis patcher.java:499) at org.apache.jetspeed.container.invoker.ServletPortletInvoker.invoke(Se rvletPortletInvoker.java:215) at org.apache.jetspeed.container.invoker.ServletPortletInvoker.render(Se rvletPortletInvoker.java:126) at org.apache.pluto.PortletContainerImpl.renderPortlet(PortletContainerI mpl.java:119) at org.apache.jetspeed.container.JetspeedPortletContainerWrapper.renderP ortlet(JetspeedPortletContainerWrapper.java:120) at org.apache.jetspeed.aggregator.impl.RenderingJobImpl.execute(Renderin gJobImpl.java:121) at org.apache.jetspeed.aggregator.impl.PortletRendererImpl.renderNow(Por tletRendererImpl.java:120) at org.apache.jetspeed.aggregator.impl.PageAggregatorImpl.aggregateAndRe nder(PageAggregatorImpl.java:199) at org.apache.jetspeed.aggregator.impl.PageAggregatorImpl.aggregateAndRe nder(PageAggregatorImpl.java:182) at org.apache.jetspeed.aggregator.impl.PageAggregatorImpl.build(PageAggr egatorImpl.java:106) at org.apache.jetspeed.aggregator.AggregatorValve.invoke(AggregatorValve .java:48) at org.apache.jetspeed.pipeline.JetspeedPipeline$Invocation.invokeNext(J etspeedPipeline.java:166) at org.apache.jetspeed.decoration.DecorationValve.invoke(DecorationValve .java:110) at org.apache.jetspeed.pipeline.JetspeedPipeline$Invocation.invokeNext(J etspeedPipeline.java:166) at org.apache.jetspeed.pipeline.valve.impl.ActionValveImpl.invoke(Action ValveImpl.java:151) at org.apache.jetspeed.pipeline.JetspeedPipeline$Invocation.invokeNext(J etspeedPipeline.java:166) at org.apache.jetspeed.container.ContainerValve.invoke(ContainerValve.ja va:76) at org.apache.jetspeed.pipeline.JetspeedPipeline$Invocation.invokeNext(J etspeedPipeline.java:166) at org.apache.jetspeed.profiler.impl.ProfilerValveImpl.invoke(ProfilerVa lveImpl.java:255) at org.apache.jetspeed.pipeline.JetspeedPipeline$Invocation.invokeNext(J etspeedPipeline.java:166) at org.apache.jetspeed.security.impl.LoginValidationValveImpl.invoke(Log inValidationValveImpl.java:159) at org.apache.jetspeed.pipeline.JetspeedPipeline$Invocation.invokeNext(J etspeedPipeline.java:166) at org.apache.jetspeed.security.impl.PasswordCredentialValveImpl.invoke( PasswordCredentialValveImpl.java:149) at org.apache.jetspeed.pipeline.JetspeedPipeline$Invocation.invokeNext(J etspeedPipeline.java:166) at org.apache.jetspeed.localization.impl.LocalizationValveImpl.invoke(Lo calizationValveImpl.java:169) at org.apache.jetspeed.pipeline.JetspeedPipeline$Invocation.invokeNext(J etspeedPipeline.java:166) at org.apache.jetspeed.security.impl.AbstractSecurityValve$1.run(Abstrac tSecurityValve.java:117) at java.security.AccessController.doPrivileged(Native Method) at javax.security.auth.Subject.doAsPrivileged(Subject.java:454) at org.apache.jetspeed.security.impl.AbstractSecurityValve.invoke(Abstra ctSecurityValve.java:111) at org.apache.jetspeed.pipeline.JetspeedPipeline$Invocation.invokeNext(J etspeedPipeline.java:166) at org.apache.jetspeed.container.url.impl.PortalURLValveImpl.invoke(Port alURLValveImpl.java:67) at org.apache.jetspeed.pipeline.JetspeedPipeline$Invocation.invokeNext(J etspeedPipeline.java:166) at org.apache.jetspeed.capabilities.impl.CapabilityValveImpl.invoke(Capa bilityValveImpl.java:128) at org.apache.jetspeed.pipeline.JetspeedPipeline$Invocation.invokeNext(J etspeedPipeline.java:166) at org.apache.jetspeed.pipeline.JetspeedPipeline.invoke(JetspeedPipeline .java:145) at org.apache.jetspeed.engine.JetspeedEngine.service(JetspeedEngine.java :214) at org.apache.jetspeed.engine.JetspeedServlet.doGet(JetspeedServlet.java :241) at javax.servlet.http.HttpServlet.service(HttpServlet.java:689) at javax.servlet.http.HttpServlet.service(HttpServlet.java:802) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl icationFilterChain.java:252) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF ilterChain.java:173) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperV alve.java:213) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextV alve.java:178) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(Authentica torBase.java:432) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j ava:126) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j ava:105) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal ve.java:107) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.jav a:148) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java :869) at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.p rocessConnection(Http11BaseProtocol.java:664) at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpo int.java:527) at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFol lowerWorkerThread.java:80) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadP ool.java:684) at java.lang.Thread.run(Thread.java:595) Caused by: javax.portlet.PortletException at org.apache.jetspeed.dispatcher.JetspeedRequestDispatcher.include(Jets peedRequestDispatcher.java:102) at org.apache.myfaces.context.portlet.PortletExternalContextImpl.dispatc h(PortletExternalContextImpl.java:164) ... 71 more Caused by: javax.faces.FacesException: Path null does not start with a "/" chara cter at org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java: 388) at javax.faces.webapp.FacesServlet.service(FacesServlet.java:138) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl icationFilterChain.java:252) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF ilterChain.java:173) at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDisp atcher.java:672) at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationD ispatcher.java:574) at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDis patcher.java:499) at org.apache.jetspeed.dispatcher.JetspeedRequestDispatcher.include(Jets peedRequestDispatcher.java:72) ... 72 more Caused by: java.net.MalformedURLException: Path null does not start with a "/" c haracter at org.apache.catalina.core.ApplicationContext.getResource(ApplicationCo ntext.java:472) at org.apache.catalina.core.ApplicationContextFacade.getResource(Applica tionContextFacade.java:174) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:3 01) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264) at javax.servlet.http.HttpServlet.service(HttpServlet.java:802) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl icationFilterChain.java:252) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF ilterChain.java:173) at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDisp atcher.java:672) at org.apache.catalina.core.ApplicationDispatcher.processRequest(Applica tionDispatcher.java:463) at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationD ispatcher.java:398) at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDis patcher.java:301) at org.apache.myfaces.context.servlet.ServletExternalContextImpl.dispatc h(ServletExternalContextImpl.java:416) at org.apache.myfaces.application.jsp.JspViewHandlerImpl.renderView(JspV iewHandlerImpl.java:234) at org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java: 384) ... 79 more Looks like there is a forward in there, not quite sure why, since I my dummy.jsp is very simple: <%@ page session="false" contentType="text/html;charset=utf-8"%> <%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%> <%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%> <f:view> <p> <h4>Copyright 2004 The Apache Software Foundation.</h4> <p> </f:view> The JSF bridge is also failing with an unsupported FacesContextFactoryImpl I havent had time to look into that yet So this is all up in the air until I can make progress with 1.1.4 Does anyone have a sample portlet app with MyFaces 1.1.4? > Multiple instances of the same bridge application behave badly due to ID > conflicts > ---------------------------------------------------------------------------------- > > Key: PB-35 > URL: http://issues.apache.org/jira/browse/PB-35 > Project: Portals Bridges > Issue Type: Bug > Components: jsf > Environment: Tested in Liferay > Reporter: russ danner > Assigned To: David Sean Taylor > > I am using the myFaces implementation of JSF in conjunction with the Apache > portal bridge. > I have no issue when I use the portlet as a single instance. All is > beautiful. When I make the portlet multi-instance the eorld comes tumbling > down. All the javascript and component ID's are the same. > -- > I know myfaces looks to the external context to call help create a unique id > for the components which should call response.namespace(); > You can see in the HTML output of the lifray install that unqiue names are > being generated for the each portlet (both the same "flavor") > portlet [EMAIL PROTECTED] namespace > response[_contentRepositoryBrowser-wide_WAR_contentRepositoryBrowser_INSTANCE_Ju5n_] > portlet [EMAIL PROTECTED] namespace > response[_contentRepositoryBrowser-wide_WAR_contentRepositoryBrowser_INSTANCE_1cKB_] > I know myFaces makes the following call on create unique Id: > public String createUniqueId() > { > ExternalContext extCtx = > FacesContext.getCurrentInstance().getExternalContext(); > return extCtx.encodeNamespace(UNIQUE_ID_PREFIX + _uniqueIdCounter++); > } > which in the end should pickup the names given by > RenderResponse.getNamespace(), yet that is no where in the HTML output. > As far as I can tell this is because the external context implementation > provided with the apache jsf portlet bridge does the following: > /** > * @see > javax.faces.context.ExternalContext#encodeNamespace(java.lang.String) > */ > public String encodeNamespace(String s) > { > return s; > } > according to the documentation for ExternalContext.encodeNamespace(..) > Return the specified name, after prefixing it with a namespace that ensures > that it will be unique within the context of a particular page. > Servlet: The input value must be returned unchanged. > Portlet: The returned value must be the input value prefixed by the value > returned by the javax.portlet.RenderResponse method getNamespace(). -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
