[ 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]

Reply via email to