You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@myfaces.apache.org by "Leonardo Uribe (JIRA)" <de...@myfaces.apache.org> on 2016/04/21 04:22:25 UTC

[jira] [Resolved] (TRINIDAD-2537) Combination of Trinidad with MyFaces Core and Spring WebFlow doesn't function

     [ https://issues.apache.org/jira/browse/TRINIDAD-2537?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Leonardo Uribe resolved TRINIDAD-2537.
--------------------------------------
       Resolution: Fixed
         Assignee: Leonardo Uribe
    Fix Version/s: 2.1.1-core

It is a quite simple fix, so I just applied it. Thanks to Volker Malzahn for provide this patch.

> Combination of Trinidad with MyFaces Core and Spring WebFlow doesn't function
> -----------------------------------------------------------------------------
>
>                 Key: TRINIDAD-2537
>                 URL: https://issues.apache.org/jira/browse/TRINIDAD-2537
>             Project: MyFaces Trinidad
>          Issue Type: Bug
>          Components: Facelets
>    Affects Versions: 2.1.0-core
>         Environment: MyFaces Core 2.1.17 (instead of Mojarra)
> Trinidad 2.0.1
> Spring WebFlow 2.4.2
> Tomcat 7.0.35
> Windows 7 64 bit
> Java 8.0.45-64bit
>            Reporter: Volker Malzahn
>            Assignee: Leonardo Uribe
>             Fix For: 2.1.1-core
>
>
> When starting a webapp based on Trinidad and Spring WebFlow with MyFaces Core as JSF implementation following exception occurrs:
> java.lang.ClassNotFoundException: com.sun.faces.component.CompositeComponentStackManager
> 	java.net.URLClassLoader.findClass(URLClassLoader.java:381)
> 	java.lang.ClassLoader.loadClass(ClassLoader.java:424)
> 	sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
> 	java.lang.ClassLoader.loadClass(ClassLoader.java:357)
> 	org.springframework.faces.webflow.JsfViewFactory$MojarraProcessTreeHandler.handleBefore(JsfViewFactory.java:225)
> 	org.springframework.faces.webflow.JsfViewFactory.processTree(JsfViewFactory.java:166)
> 	org.springframework.faces.webflow.JsfViewFactory.getViewStateViewRoot(JsfViewFactory.java:138)
> 	org.springframework.faces.webflow.JsfViewFactory.getViewRoot(JsfViewFactory.java:102)
> 	org.springframework.faces.webflow.JsfViewFactory.getView(JsfViewFactory.java:86)
> 	org.springframework.webflow.engine.ViewState.resume(ViewState.java:192)
> 	org.springframework.webflow.engine.Flow.resume(Flow.java:537)
> Reason: org.springframework.faces.webflow.JsfRuntimeInformation.isMyFacesInUse() returns false because of following bug in Trinidad:
> org.apache.myfaces.trinidadinternal.context.FacesContextFactoryImpl extends javax.faces.context.FacesContextFactory but FacesContextFactory.getWrapped() isn't overwritten. So getWrapped() returns null which causes the loop in org.springframework.faces.webflow.JsfRuntimeInformation.checkMyFacesContextFactory() to terminate and to return false.
> Solution: Add following method to org.apache.myfaces.trinidadinternal.context.FacesContextFactoryImpl:
> 	@Override
> 	public FacesContextFactory getWrapped() {
> 		return _factory;
> 	}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)