[ https://issues.apache.org/jira/browse/MYFACES-2629?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12850996#action_12850996 ]
Lewis Gass commented on MYFACES-2629: ------------------------------------- I imagined that you probably have "additional" functionality via the Abstract implementation, but could you use the wrapper pattern instead of casting? AbstractFaceletContext actx = new SomeASFFaceletContext(ctx); And then pass on the calls to the original where possible and also allowing more functionality? > Accept abstract FaceletContext, do not force AbstractFaceletContext > ------------------------------------------------------------------- > > Key: MYFACES-2629 > URL: https://issues.apache.org/jira/browse/MYFACES-2629 > Project: MyFaces Core > Issue Type: Improvement > Components: General, JSR-314 > Affects Versions: 2.0.0-beta-3 > Environment: Tomcat 6.0+, MyFaces 2.0.0-beta3 API/Impl. > Reporter: Lewis Gass > > I am the main coder on the Gracelets project > (http://gracelets.sourceforge.net/) and have recently began integration of > Groovy with JSF 2.0. In order for Gracelets to harness the already existing > Facelets libraries it needs access to the TagLibrary class and the actual > libraries loaded by the JSF 2.0 implementation. Since that library is not > part of the JSF 2.0 public API, I have to write an extension for each > different JSF 2.0 implementation in order to load them. I have been able to > successfully integrate with the SUN RI with minimal code. However, in MyFaces > Core implementation this code appears on line 135 of the > org.apache.myfaces.view.facelets.tag.jsf.ComponentTagHandlerDelegate: > AbstractFaceletContext actx = (AbstractFaceletContext) ctx; > Gracelets has its own FaceletContext (which is part of the public API) in > order to mimimize integration between different JSF 2.0 implementations. > Since in MyFaces this is forced to be a particular sub class here, it breaks > portability. Is there anyway this can be avoided? -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.