You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@myfaces.apache.org by "Simon Lessard (JIRA)" <de...@myfaces.apache.org> on 2007/08/16 15:13:31 UTC
[jira] Resolved: (TRINIDAD-631) Renderer classes that extend
InputLabelAndMessageRenderer don't provide protected constructor with
parameter FacesBean.TYPE
[ https://issues.apache.org/jira/browse/TRINIDAD-631?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Simon Lessard resolved TRINIDAD-631.
------------------------------------
Resolution: Fixed
Fix Version/s: 1.0.3-core
Applied the patch to the trunk.
> Renderer classes that extend InputLabelAndMessageRenderer don't provide protected constructor with parameter FacesBean.TYPE
> ---------------------------------------------------------------------------------------------------------------------------
>
> Key: TRINIDAD-631
> URL: https://issues.apache.org/jira/browse/TRINIDAD-631
> Project: MyFaces Trinidad
> Issue Type: Bug
> Reporter: Carsten Pieper
> Assignee: Simon Lessard
> Fix For: 1.0.3-core
>
> Attachments: TRINIDAD-631.patch
>
>
> Detected this one for InputTextRenderer but it applies to all trinidadinternal classes extending InputLabelAndMessageRenderer
> These are:
> InputColorRenderer
> InputDateRenderer
> InputFileRenderer
> InputListOfValuesRenderer
> InputNumberSpinboxRenderer
> InputTextRenderer
> SelectBooleanCheckboxRenderer
> SelectBooleanRadioRenderer
> SelectManyCheckboxRenderer
> SelectManyListboxRenderer
> SelectOneChoiceRenderer
> SelectOneListboxRenderer
> SelectOneRadioRenderer
> Excerpts from http://www.nabble.com/-Trinidad--Skinning---no-CSS-selector-for-tr%3AoutputText--tf4247489.html:
> That's true, but for practical purposes we cannot pretend that people won't make their own renderers using some features already present in trinidad-impl since they help avoiding quite a lot of boilerplate code. Creating a new kind of input component with a label and message is probably the most obvious case.
> ~ Simon
> On 8/15/07, Adam Winer <aw...@...> wrote:
> Strictly speaking, that's not really true... all of our renderers
> are in trinidadinternal, which means that they're not really public
> to the outside world, and their APIs can change arbitrarily from
> release to release. So there's no guarantees of subclassabililty.
> That said, I've got no problems adding the protected constructor,
> but anyone subclassing the renderers has to know their code
> can very well break any time they move to a newer version.
> -- Adam
> On 8/15/07, Simon Lessard <si...@...> wrote:
> > Hello Carsten,
> >
> > Wow... you're right... JIRA issue please. It should be possible to override
> > all of our renderers and failing to provide a protected constructor
> > receiving a FacesBean.Type prevents that.
> >
> >
> > Regards,
> >
> > ~ Simon
> >
> >
> > On 8/15/07, Carsten Pieper < carsten.pieper@...> wrote:
> > >
> > > Hi,
> > >
> > > Simon's advice works fine with me, except...
> > > > The critical thing, which is easy to overlook, is that you
> > > > have to pass your component's Type object to the Renderer
> > > > superclasses constructor, which is what Simon's code is doing.
> > >
> > > I can't pass my component's Type object to the renderer superclass
> > > because InputTextRenderer just has this one parameterless constructor:
> > >
> > > public InputTextRenderer()
> > > {
> > > super(CoreInputText.TYPE);
> > > }
> > >
> > > Best regards,
> > > Carsten
> > >
> > >
> > > Adam Winer wrote:
> > > >
> > > > The critical thing, which is easy to overlook, is that you
> > > > have to pass your component's Type object to the Renderer
> > > > superclasses constructor, which is what Simon's code is doing.
> > > >
> > > > -- Adam
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.