I downloaded version 1.2_08, for some reason all the versions of 1.2_06 that I could find had jsf 1.2_05.xxxx show up on startup. I see the issues described above. On compilation, the first thing I see trying to run the application in Tomcat 6 is:
28-Feb-2008 2:32:57 PM com.sun.faces.taglib.jsf_core.SubviewTag createVerbatimComponentFromBodyContent
WARNING: "JSF1062: WARNING! The response object returned by ExternalContext.getResponse() doesn't provide a method with signature 'public char[] getChars()'. This method is necessary in order to provide content interweaving in a JSP environment. Because of this, content will not be displayed correctly.
28-Feb-2008 2:32:57 PM com.sun.faces.taglib.jsf_core.SubviewTag createVerbatimComponentFromBodyContent
WARNING: "JSF1062: WARNING! The response object returned by ExternalContext.getResponse() doesn't provide a method with signature 'public void flushContentToWrappedResponse()'. This method is necessary in order to provide content interweaving in a JSP environment. Because of this, content will not be displayed correctly.
28-Feb-2008 2:32:57 PM com.sun.faces.taglib.jsf_core.SubviewTag createVerbatimComponentFromBodyContent
WARNING: "JSF1062: WARNING! The response object returned by ExternalContext.getResponse() doesn't provide a method with signature 'public boolean isBytes()'. This method is necessary in order to provide content interweaving in a JSP environment. Because of this, content will not be displayed correctly.
28-Feb-2008 2:32:57 PM com.sun.faces.taglib.jsf_core.SubviewTag createVerbatimComponentFromBodyContent
WARNING: "JSF1062: WARNING! The response object returned by ExternalContext.getResponse() doesn't provide a method with signature 'public boolean isChars()'. This method is necessary in order to provide content interweaving in a JSP environment. Because of this, content will not be displayed correctly.
28-Feb-2008 2:32:57 PM com.sun.faces.taglib.jsf_core.SubviewTag createVerbatimComponentFromBodyContent
WARNING: "JSF1062: WARNING! The response object returned by ExternalContext.getResponse() doesn't provide a method with signature 'public void resetBuffers'. This method is necessary in order to provide content interweaving in a JSP environment. Because of this, content will not be displayed correctly.
The object returned by the ServletExternalContext is just a HttpServletContext, and I don't think Tomcat 6 has the right servlet-api runtime jars. I tried the applications with JBoss 4.2.2, and they work fine.
Second, the BridgeFacesContext was throwing an UnsupportedOperationException when the getMaximumSeverity method was called. See http://jira.icefaces.org/browse/ICE-1127 This is the cause of the Exception that Arturo was seeing. I've fixed this, and now the applications come up.
Third, in Tomcat 6.0 the component-showcase comes up, and all pages work except for the RichText one. This appears to be doing some redirection of some kind, and the whole page shows up utterly blank. However, this page works in JBoss 4.2.2. Is this what they mean by: "Because of this, content will not be displayed correctly ?"
I built the applications included in the 1.7 beta1 release using the default build command and then replacing jsf-api.jar and jsf-impl.jar for the ones in the Sun JSF 1.2_07 RI release. I tested these applications with and without the 'com.sun.faces.enableRestoreView11Compatibility' context parameter. All the applications were deployed on Tomcat 6.
These are the results:
All the applications show exactly the same behaviour with or without the above mentioned context parameter set to 'true'. Both versions of Component Showcase (facelets and non-facelets) display the main page, but one is unable to do anything. Auction Monitor is not displayed at all. Instead, an error page is shown giving the details of the exception. Address demo is the only application that works normally to some extent.
Here are the details:
Component Showcase (non-facelets)
Clicking on any item of the menu tree doesn't load anything. Changing the theme doesn't do anything as well. The connection status icon always shows no connection. After clicking the reload button on the browser, the page was completely blank. After removing cookies and reloading, the page was displayed again, but still it wasn't possible to interact with it. When clicking anything in the menu tree, something like this appeared in the
console:
SEVERE: JSF1054: <Phase ID: RENDER_RESPONSE 6, View ID: /showcase.iface> Exception thrown during phase execution: javax.faces.event.PhaseEvent[source-com.sun.faces.lifecycle.LifecycleImpl@c749e4]
Component Showcase (facelets)
It shows pretty much the same behaviour as the non-facelets version. First, I want to note that I had to delete el-api.jar and el-ri.jar from the WEB-INF/lib folder, otherwise, I got a java.lang.LinkageError exception. The only difference is that when clicking on anything on the page, one can see the full stack trace of the exception:
SEVERE: Problem in renderResponse: null
java.lang.UnsupportedOperationException
Auction Monitor
The page wasn't displayed at all. Instead, an exception page appeared reporting a java.lang.UnsupportedOperationException. This message appeared in the console:
SEVERE: JSF1054: <Phase ID: RENDER_RESPONSE 6, View ID: /auctionMonitor.iface> Exception thrown during phase execution: javax.faces.event.PhaseEvent[source-com.sun.faces.lifecycle.LifecycleImpl@cb2185]
Address Demo
This was the only application that worked normally to some extent. When the application displayed error messages after entering incorrect values in the form, a message like this appeared in the console:
INFO: WARNING: FacesMessage(s) have been enqueued, but may not have been displayed. sourceId=iceForm:state[severity=(INFO 0), summary=(State not found with Zip 75001. Our best guess is TX), detail=(State not found with Zip 75001. Our best guess is TX)]
When I closed the tab and then navigated again to http://localhost:8080/address/ the page was completely blank, but if I went to http://localhost:8080/address/address.iface (or response.iface) the page was displayed normally.