[richfaces-issues] [JBoss JIRA] (RF-12670) JSF 2.0 compatibility issue, NoSuchFieldError: javax/faces/component/visit/VisitHint.SKIP_ITERATION
Brian Leathem (JIRA)
jira-events at lists.jboss.org
Thu Dec 20 13:12:08 EST 2012
[ https://issues.jboss.org/browse/RF-12670?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12742749#comment-12742749 ]
Brian Leathem commented on RF-12670:
------------------------------------
CDI interoperability should not break when you bundle a JSF implementation. If it does, that's a app server bug IMO. In the JBoss AS issue you linked (AS7-1628) it sounds likes it's more of a problem with a change from Mojarra -> MyFaces then a version change.
I do agree with your point that JSF 2.1 is not part of the Java EE 6 umbrella specification, however Java EE 6 compatibility was the target for JSF 2.1, so one is expected to use JSF 2.1 in a Java EE 6 stack trouble-free.
This all being said, it looks like we have a workaround here, whereby we can keep the desired functionality, while maintaining compatibility with JSF 2.0. Instead of using the VisitHint.SKIP_ITERATION enum, we can look for the [javax.faces.visit.SKIP_ITERATION attribute|https://github.com/jboss/mojarra/blob/2.1.7-jbossorg-2/jsf-ri/src/main/java/com/sun/faces/application/view/StateManagementStrategyImpl.java#L145] in the FacesContext.
I'll re-open this issue with that fix in mind.
> JSF 2.0 compatibility issue, NoSuchFieldError: javax/faces/component/visit/VisitHint.SKIP_ITERATION
> ---------------------------------------------------------------------------------------------------
>
> Key: RF-12670
> URL: https://issues.jboss.org/browse/RF-12670
> Project: RichFaces
> Issue Type: Feature Request
> Security Level: Public(Everyone can see)
> Affects Versions: 4.3.0.M3
> Reporter: Dupont Dupont
> Assignee: Brian Leathem
>
> When using RF 4.3.0-SNAPSHOT with a JSF 2.0 implementation (i.e. Websphere 8), I get a
> {code}
> java.lang.NoSuchFieldError: javax/faces/component/visit/VisitHint.SKIP_ITERATION
> at org.richfaces.component.UIDataAdaptor.requiresRowIteration(UIDataAdaptor.java:1387)
> at org.richfaces.component.UIDataAdaptor.visitTree(UIDataAdaptor.java:1304)
> at javax.faces.component.UIComponent.visitTree(UIComponent.java:793)
> at javax.faces.component.UIComponentBase.visitTree(UIComponentBase.java:1007)
> at javax.faces.component.UIForm.visitTree(UIForm.java:269)
> at javax.faces.component.UIComponent.visitTree(UIComponent.java:793)
> at javax.faces.component.UIComponentBase.visitTree(UIComponentBase.java:1007)
> at javax.faces.component.UIComponent.visitTree(UIComponent.java:793)
> at javax.faces.component.UIComponentBase.visitTree(UIComponentBase.java:1007)
> at org.apache.myfaces.lifecycle.DefaultRestoreViewSupport.processComponentBinding(DefaultRestoreViewSupport.java:90)
> at org.apache.myfaces.lifecycle.RestoreViewExecutor.execute(RestoreViewExecutor.java:142)
> at org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:171)
> at org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
> at
> {code}
> RF 4.3.0-SNAPSHOT is using an API introduced with JSF 2.1 in UIDataAdaptor.
> See https://github.com/richfaces/components/commit/d65e614ef03adf87c0b6df2288689f0fd78d3a77#common/ui/src/main/java/org/richfaces/component/UIDataAdaptor.java
--
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
More information about the richfaces-issues
mailing list