>From: <[EMAIL PROTECTED]> 
>
> Hi 
> 
> So should we leave the Tld2ClayCfg as it is now (with the latest patch) ? It 
> outputs al the required components, but lacks the information that we can't 
> get 
> from the ld or by introspecting the tags. 
> 


I think we should stick with components.  There is only so much we can squeeze 
out of a TLD.  For this reason, I think it is a good argument to setup 
archetypes for each component library.  We will need to customize Clay for the 
special method bindings that various component libraries offer anyway.



> Another possible solution that I have is to add another section to the plugin 
> where one could link special things like these with the "componentType". This 
> way the tool would build a complete definition file that would need no 
> further 
> manual tweaking. SInce these definitions only are related to a few tld's and 
> there or not that many of them I think that this is a viable solution. 
> 
 

That's not a bad idea but we could just as easily list multiple config files in 
the web.xml versus an XML document include.



> Hermod 
> 


Gary

> -----Original Message----- 
> From: Gary VanMatre [mailto:[EMAIL PROTECTED] 
> Sent: Tuesday, February 13, 2007 11:38 PM 
> To: dev@shale.apache.org 
> Subject: Re: Update to Tld2ClayCfg 
> 
> 
> >From: "Craig McClanahan" 
> > 
> > On 2/12/07, Hermod Opstvedt wrote: 
> > > 
> > > Hi 
> > > 
> > > I updated the Tld2ClayCfg tool in order to support Validators, Converters 
> > > and rendererType. 
> > > 
> > > As I mentioned in the issue, there is a problem with getting hold of the 
> > > componentType for these. There is the possibility of assuming that the > 
> > > > 
> componentType is the same as the tag-class minus the Tag ending, but I > > 
> don't 
> > > think that will stick. So if anyone has a bright idea, please shout out. 
> > > 
> > > Could someone also commit the patches to the Clay starter archetype. 
> > > There 
> > > are som bugfixes in there. 
> > 
> > 
> > I haven't followed all the details of this, but does Clay require some 
> > association between particular converter/validator classes and part icular 
> > component classes? If it does, that doesn't really make sense to me. 
> > 
> 
> 
> When you add a validator, converter or listener to a component, it requires 
> using a nested element under the "component" top-level element. These nested 
> elements, point to a top-level component definition. The Clay XML configs 
> define component, converters, validators and listeners as top-level 
> components. 
> This is similar to defining a tag definition in the TLD for each associated 
> components, validators, converters and listeners. 
> 
> For a top-level component definition (components, converters, validators and 
> listeners), the componentType attribute is the JSF componentType, 
> converterId, 
> validatorId or the fully qualified class path to the listener. 
> 
> Historically, the clay config used a neutral mnemonic "displayElement". A 
> "displayElement" captured generic metadata about these JSF elements. We 
> changed to "component", while it was still in a bugzilla ticket, to make it 
> more 
> familiar with the Tapestry terminology. In hindsight, "displayElement" might 
> have been a better name. 
> 
> 
> For example, a custom converter with a property: 
> 
> 
> 
> 
> 
> 
> Given a specific use within the application: 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> > For validators, there isn't really any formal linkage between validator > 
> classes and component classes at the JSF level. It seems to me that we > 
> should 
> not try to enforce such a distinction in Clay either. 
> > 
> 
> Yeah, I think the best we can do is load the tag and determine that it 
> extends 
> ValidatorTag or ConverterTag and then just dump the attributes and fill the 
> componentType with a dummy value that has to be manually addressed. That's 
> what 
> I did with the Trinidad library but I don't see a way to even attempt to 
> handle 
> action and value change listners. 
> 
> For example: 
> 
> 
> 
> 
> 
> 
> 
> 
> > For converters, JSF has the concept of converter-for-class ... but it is > 
> visible only in faces-config.xml not in a TLD. That is because the correct 
> > converter is selected automatically if you have a value binding on the 
> > "value" property, and the JSF runtime can determine the destination type. > 
> This works no matter what view handler is used, so you should be getting it 
> > for free with Clay. 
> > 
> 
> Using the "converter" value binding attribtue of the component doesn't 
> require a 
> Clay "component" defintion for the converter. It is only needed if you need 
> to 
> pass properties to the converter which would be handled in JSP with a custom 
> tag. Clay will also allow you to "bind" converters, validators and listeners 
> to 
> backing beans - a JSF 1.2 feature. 
> 
> 
> 
> 
> > Outside of that, it should be technically possible to configure any 
> > converter on any component that implements ValueHolder, and to configure 
> > any 
> > validator on any component that implements EditableValueHolder. 
> > 
> 
> It's unfortunately we can't rip all of the clay config from the TLD's. Maybe 
> in 
> the future, this metadata could be ripped from mandated annotations..... 
> 
> 
> 
> > Hermod 
> > > 
> > > 
> > Craig 
> 
> Gary 
> 
> 
> * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
> 
> This email with attachments is solely for the use of the individual or 
> entity to whom it is addressed. Please also be aware that the DnB NOR Group 
> cannot accept any payment orders or other legally binding correspondence with 
> customers as a part of an email. 
> 
> This email message has been virus checked by the anti virus programs used 
> in the DnB NOR Group. 
> 
> * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
> 

Reply via email to