[ 
https://issues.apache.org/jira/browse/MYFACES-3720?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13656387#comment-13656387
 ] 

Howard W. Smith, Jr. commented on MYFACES-3720:
-----------------------------------------------

Thanks for the response and spending some time with this. Please note, this is 
not at all urgent or a show-stopper. I just wanted to let you know that this 
exception occurs, and it seems as though I can duplicate with certain data when 
p:dataTable is present on 'view-only' pages.

I do use ui:include src="#{multi-condition-EL}", but I don't use c:if or 
c:forEach.

I do use p:dataTable, and if I'm not mistaking, I think p:dataTable may 
function/behave similar to ui:repeat, but I don't use ui:repeat anywhere in my 
app; I have only read about other PrimeFaces users that use ui:repeat instead 
of p:dataTable (maybe for the reason of avoiding the styles/CSS/behavior 
wrapping content via p:dataTable).

FYI, I removed pf_ViewOther.xhtml from the view (permanently), and I still am 
able to duplicate the content. Also, FYI, the following is the contents of 
pf_ViewOther.xhtml:

    <ui:composition>
        
        <h:panelGrid columns="2" cellpadding="3" cellspacing="3">
            <h:outputText value="Intrastate" />
            <h:outputText 
value="#{pf_ordersController.getYesNoDisplay(pf_ordersController.selected.intrastate)}"/>
        </h:panelGrid>
        
        <p:panel header="Post-Trip">
            <h:panelGrid columns="2" cellpadding="5" cellspacing="5">
                <h:outputText value="Passengers" />
                <h:outputText 
value="#{pf_ordersController.selected.passengers}"/>
                
            </h:panelGrid>
        </p:panel>
        
        <h:panelGrid columns="4" cellpadding="5" cellspacing="5">
            <h:outputText value="Created" />
            <h:outputText value="#{pf_ordersController.selected.createdDt}" >
                <f:convertDateTime pattern="MM/dd/yyyy hh:mm:ss a" />
            </h:outputText>

            <h:outputText value="Changed" />
            <h:outputText value="#{pf_ordersController.selected.changedDt}" >
                <f:convertDateTime pattern="MM/dd/yyyy hh:mm:ss a" />
            </h:outputText>
            
        </h:panelGrid>
        
    </ui:composition>

FYI, respectively, the data types of the data/components above are as follows:

intrastate - char(1)
passengers - smallint (or short)
createdDt - temporal.timestamp (or java.util.date)
changedDt - temporal.timestamp (or java.util.date)

Please note, /orders/pf_ViewAll.xhtml 'always' renders, successfully, when user 
clicks commandLink or commandButton, but this exception 'only' occurs with 
certain records/rows/data...'only' when I/user press F5 key on keyboard (or 
click browser's Refresh button/option)...after the xhtml page has already been 
rendered successfully 'after' user clicked commandLink/commandButton.

Users do not ever use F5 key, but since I sometimes use F5 key in/during my 
testing, sometimes, I have been experiencing this exception with certain 
data/rows.

I searched google for the exception, and I found the following:

http://forums.netbeans.org/topic19072.html
http://www.crazysquirrel.com/computing/java/jsf/converters.jspx

but this exception occurs on pages where I am 'not' using h:selectOneMenu (or 
p:selectOneMenu). I think p:dataTable 'may' be using java.util.HashMap in it's 
implementation, but I have not taken a look at PrimeFaces source code yet.

                
> [restoreView/restoreState] java.lang.ClassCastException: java.util.HashMap 
> cannot be cast to javax.faces.convert.Converter
> --------------------------------------------------------------------------------------------------------------------------
>
>                 Key: MYFACES-3720
>                 URL: https://issues.apache.org/jira/browse/MYFACES-3720
>             Project: MyFaces Core
>          Issue Type: Bug
>    Affects Versions: 2.1.10, 2.1.11
>         Environment: 1. TomEE 1.6.0 snapshot (2013-04-29) which includes 
> MyFaces 2.1.11
> 2. PrimeFaces 3.5 and PrimeFaces 4.0 snapshot
>            Reporter: Howard W. Smith, Jr.
>   Original Estimate: 28h
>  Remaining Estimate: 28h
>
> Originally reported as OmniFaces issue # 167 (please take a look at this, as 
> I attached some files there in OmniFaces issue tracker)
> https://code.google.com/p/omnifaces/issues/detail?id=167
> OmniFaces response was the following:
> Project Member #3 balusc
> This problem is indeed not related to o:enableRestorableView. The only 
> occurrence in the stack trace is just the delegation to super (i.e. the 
> process continues less or more as if the o:enableRestorableView was never 
> involved):
>     UIViewRoot restoredView = super.restoreView(context, viewId);
> Below is stack trace with TomEE 1.6.0 (2013-04-29), myFaces 2.1.11, and 
> PrimeFaces 4.0 snapshot. Is this a MyFaces bug or user error?
> May 09, 2013 8:06:54 AM org.apache.catalina.core.StandardWrapperValve invoke
> SEVERE: Servlet.service() for servlet [Faces Servlet] in context with path 
> [/mcmsweb] threw exception [Error restoring component: 
> ordersViewForm:orderViewTabView:j_id_b_1_4q_1] with root cause
> java.lang.ClassCastException: java.util.HashMap cannot be cast to 
> javax.faces.convert.Converter
>       at javax.faces.component.UIOutput.restoreState(UIOutput.java:248)
>       at 
> org.apache.myfaces.view.facelets.DefaultFaceletsStateManagementStrategy.restoreStateFromMap(DefaultFaceletsStateManagementStrategy.java:687)
>       at 
> org.apache.myfaces.view.facelets.DefaultFaceletsStateManagementStrategy.restoreStateFromMap(DefaultFaceletsStateManagementStrategy.java:706)
>       at 
> org.apache.myfaces.view.facelets.DefaultFaceletsStateManagementStrategy.restoreStateFromMap(DefaultFaceletsStateManagementStrategy.java:706)
>       at 
> org.apache.myfaces.view.facelets.DefaultFaceletsStateManagementStrategy.restoreStateFromMap(DefaultFaceletsStateManagementStrategy.java:706)
>       at 
> org.apache.myfaces.view.facelets.DefaultFaceletsStateManagementStrategy.restoreStateFromMap(DefaultFaceletsStateManagementStrategy.java:706)
>       at 
> org.apache.myfaces.view.facelets.DefaultFaceletsStateManagementStrategy.restoreStateFromMap(DefaultFaceletsStateManagementStrategy.java:706)
>       at 
> org.apache.myfaces.view.facelets.DefaultFaceletsStateManagementStrategy.restoreStateFromMap(DefaultFaceletsStateManagementStrategy.java:706)
>       at 
> org.apache.myfaces.view.facelets.DefaultFaceletsStateManagementStrategy.restoreStateFromMap(DefaultFaceletsStateManagementStrategy.java:706)
>       at 
> org.apache.myfaces.view.facelets.DefaultFaceletsStateManagementStrategy.restoreStateFromMap(DefaultFaceletsStateManagementStrategy.java:706)
>       at 
> org.apache.myfaces.view.facelets.DefaultFaceletsStateManagementStrategy.restoreStateFromMap(DefaultFaceletsStateManagementStrategy.java:706)
>       at 
> org.apache.myfaces.view.facelets.DefaultFaceletsStateManagementStrategy.restoreStateFromMap(DefaultFaceletsStateManagementStrategy.java:706)
>       at 
> org.apache.myfaces.view.facelets.DefaultFaceletsStateManagementStrategy.restoreView(DefaultFaceletsStateManagementStrategy.java:340)
>       at 
> org.apache.myfaces.application.StateManagerImpl.restoreView(StateManagerImpl.java:129)
>       at 
> org.apache.myfaces.shared.view.ViewDeclarationLanguageBase.restoreView(ViewDeclarationLanguageBase.java:106)
>       at 
> org.apache.myfaces.view.facelets.FaceletViewDeclarationLanguage.restoreView(FaceletViewDeclarationLanguage.java:2118)
>       at 
> org.apache.myfaces.application.ViewHandlerImpl.restoreView(ViewHandlerImpl.java:300)
>       at 
> javax.faces.application.ViewHandlerWrapper.restoreView(ViewHandlerWrapper.java:83)
>       at 
> org.omnifaces.viewhandler.RestorableViewHandler.restoreView(RestorableViewHandler.java:66)
>       at 
> javax.faces.application.ViewHandlerWrapper.restoreView(ViewHandlerWrapper.java:83)
>       at 
> org.apache.myfaces.lifecycle.RestoreViewExecutor.execute(RestoreViewExecutor.java:127)
>       at 
> org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:170)
>       at 
> org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:117)
>       at javax.faces.webapp.FacesServlet.service(FacesServlet.java:197)
>       at 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
>       at 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
>       at 
> org.primefaces.webapp.filter.FileUploadFilter.doFilter(FileUploadFilter.java:79)
>       at 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
>       at 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
>       at 
> org.omnifaces.filter.GzipResponseFilter.doFilter(GzipResponseFilter.java:148)
>       at org.omnifaces.filter.HttpFilter.doFilter(HttpFilter.java:75)
>       at 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
>       at 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
>       at pf.LoginFilter.doFilter(LoginFilter.java:244)
>       at 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
>       at 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
>       at 
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
>       at 
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
>       at org.apache.tomee.catalina.OpenEJBValve.invoke(OpenEJBValve.java:45)
>       at 
> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
>       at 
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
>       at 
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
>       at 
> org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:947)
>       at 
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
>       at 
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
>       at 
> org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1009)
>       at 
> org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
>       at 
> org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1686)
>       at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
>       at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>       at java.lang.Thread.run(Thread.java:722)

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to