Aaron, Regarding your questions:
* jsf-demo usse the portals-bridge-jsf as you mentioned. It is aimed at demonstrating a bridge which purpose is to be implementation agnostic (the Portals bridge project JSF bridge). Sun RI or MyFaces. The issue you are running into here is clearly a bug. * jsf-demo-myfaces is aimed at demonstrating the myfaces portlet bridge that ships with myfaces. This explains the differences between the libraries. I am not sure why you would lose request scoped data. This may be a bug. FYI, there has been quite a few fixes to the myfaces portlet bridge on the myfaces project. You may want to check the issue tracking out to see if this was reported/fixed. Regards, David Le Strat. --- Aaron Evans <[EMAIL PROTECTED]> wrote: > I have been working on adding a custom JSF > application to the portal. > I have looked carefully now at both jsf-demo and > jsf-demo-myfaces and > here is what I have found: > > You cannot hit greeting.jsp for either of them from > outside the portal. > If you try to hit either of: > http://locahost:8080/jsf-demo/greeting.jsp > http://localhost:8080/jsf-demo-myfaces/greeting.jsp > > You get the following exception: > > java.lang.NullPointerException > > javax.faces.webapp.UIComponentTag.setupResponseWriter(UIComponentTag.java:634) > > javax.faces.webapp.UIComponentTag.doStartTag(UIComponentTag.java:244) > > org.apache.myfaces.taglib.core.ViewTag.doStartTag(ViewTag.java:90) > > My question here is why? (Although this may be due > to my lack of knowledge > around JSF). > > However, when you configure portlet.xml, I believe > you MUST use the .jsp > extension (have to check on this though). > > If you try to hit greeting.jsf outside of the portal > for either app *initially* > you will get > > root cause > > java.lang.NoClassDefFoundError: > org/apache/commons/fileupload/FileUpload > > org.apache.myfaces.component.html.util.ExtensionsFilter. > doFilter(ExtensionsFilter.java:107) > > This is because the apps are missing > commons-fileupload.jar but jetspeed > provides this (which raises some interesting class > loader questions > and appropriate places to keep some of the jars). > > If you then put commons-fileupload.jar in > $CATALINA_HOME/common/lib and > restarttomcat then: > > You CAN hit jsf-demo-myfaces outside of the portal > by using the .jsf > extension instead. > > But you CANNOT hit jsf-demo outside of the portal at > all (even using the > .jsf extension). You will get the following > exception: > > javax.faces.FacesException: Unsupported context type > org.apache.catalina.core.ApplicationContextFacade > org.apache.portals.bridges.jsf.FacesContextFactoryImpl > .getFacesContext(FacesContextFactoryImpl.java:58) > javax.faces.webapp.FacesServlet.service(FacesServlet.java:102) > org.apache.myfaces.component.html.util.ExtensionsFilter > .doFilter(ExtensionsFilter.java:119) > > > Here are the main differences between these apps in > terms of their > WEB-INF/lib and portlet configuration: > > jsf-demo > portlet-class is: > org.apache.portals.bridges.jsf.FacesPortlet > *contains*the jar > portals-bridges-jsf-0.4-SNAPSHOT.jar in WEB-INF/lib > > jsf-demo-myfaces > portlet-class is: > org.apache.myfaces.portlet.MyFacesGenericPortlet > *does not contain* > portals-bridges-jsf-0.4-SNAPSHOT.jar in WEB-INF/lib > > It seems as though the latter uses a myfaces portlet > interface and does NOT > use the bridge. It allows me to use the application > from outside the portal. > For this reason, I have been using this > implementation thus far for my custom > JSF application because I can then debug it outside > of jetspeed. > > However, now I am running into other issues where I > believe I am losing > request scoped data in some instances when I use my > application through > jetspeed, but it is fine when I use the application > directly. > > I am now going to try the bridge implementation and > see if I can get that > working through the portal and see if that solves my > problem, but it > is unfortunate that I cannot use it outside the > portal. I will post a > follow-up with any findings. > > I believe the fact that you cannot use the > application outside of jetspeed > may be a bug with the JSF bridge because when you > remove that jar and > the portlet config from a JSF app, then you can use > it directly with no issues. > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: > [EMAIL PROTECTED] > For additional commands, e-mail: > [EMAIL PROTECTED] > > ________________________ David Le Strat Blogging @ http://dlsthoughts.blogspot.com __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
