[
https://issues.apache.org/jira/browse/MYFACES-2629?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12850996#action_12850996
]
Lewis Gass edited comment on MYFACES-2629 at 3/29/10 4:51 PM:
--------------------------------------------------------------
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);
or
AbstractFaceletContext actx = ctx instanceof AbstractFaceletContext ?
(AbstractFaceletContext) ctx : new WrapperContext(ctx);
And then pass on the calls to the original where possible and also allowing
more functionality?
was (Author: elponderador):
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.