Well, the appendix doesn't clearly state anything about this.

So I think we can tweak this - if nothing else, we can provide an
additional feature ;)

"in no uncertain terms" means he practically screamed at you, right ;) ?

regards,

Martin

On 9/1/05, Mike Kienenberger <[EMAIL PROTECTED]> wrote:
> Ok.  I'll try to find the appendix as well.
> I don't know about attribute, but property is only for IDE tool support.
> I was told in no uncertain terms at some point in the past by a JSF EG
> member that it was not for use during runtime for binding values to
> converters.
> 
> On 9/1/05, Martin Marinschek <[EMAIL PROTECTED]> wrote:
> > How well you know me ;)
> >
> > yes, if you could start documenting this as well, this would be a big 
> > plus...
> >
> > A first starting point:
> >
> > look into DigesterFacesConfigUnmarshallerImpl, section:
> >
> >        digester.addObjectCreate("faces-config/converter", Converter.class);
> >         digester.addSetNext("faces-config/converter", "addConverter");
> >         digester.addCallMethod("faces-config/converter/converter-id",
> > "setConverterId", 0);
> >         digester.addCallMethod("faces-config/converter/converter-for-class",
> > "setForClass", 0);
> >         digester.addCallMethod("faces-config/converter/converter-class",
> > "setConverterClass", 0);
> >         
> > digester.addObjectCreate("faces-config/converter/attribute",Attribute.class);
> >         
> > digester.addSetNext("faces-config/converter/attribute","addAttribute");
> >         
> > digester.addCallMethod("faces-config/converter/attribute/description",
> > "addDescription", 0);
> >         
> > digester.addCallMethod("faces-config/converter/attribute/display-name",
> > "addDisplayName", 0);
> >         digester.addCallMethod("faces-config/converter/attribute/icon",
> > "addIcon", 0);
> >         
> > digester.addCallMethod("faces-config/converter/attribute/attribute-name",
> > "setAttributeName", 0);
> >         
> > digester.addCallMethod("faces-config/converter/attribute/attribute-class",
> > "setAttributeClass", 0);
> >         
> > digester.addCallMethod("faces-config/converter/attribute/default-value",
> > "setDefaultValue", 0);
> >         
> > digester.addCallMethod("faces-config/converter/attribute/suggested-value",
> > "setSuggestedValue", 0);
> >         
> > digester.addCallMethod("faces-config/converter/attribute/attribute-extension",
> > "addAttributeExtension", 0);
> >         
> > digester.addObjectCreate("faces-config/converter/property",Property.class);
> >         
> > digester.addSetNext("faces-config/converter/property","addProperty");
> >         
> > digester.addCallMethod("faces-config/converter/property/description",
> > "addDescription", 0);
> >         
> > digester.addCallMethod("faces-config/converter/property/display-name",
> > "addDisplayName", 0);
> >         digester.addCallMethod("faces-config/converter/property/icon",
> > "addIcon", 0);
> >         
> > digester.addCallMethod("faces-config/converter/property/property-name",
> > "setPropertyName", 0);
> >         
> > digester.addCallMethod("faces-config/converter/property/property-class",
> > "setPropertyClass", 0);
> >         
> > digester.addCallMethod("faces-config/converter/property/default-value",
> > "setDefaultValue", 0);
> >         
> > digester.addCallMethod("faces-config/converter/property/suggested-value",
> > "setSuggestedValue", 0);
> >         
> > digester.addCallMethod("faces-config/converter/property/property-extension",
> > "addPropertyExtension", 0);
> >
> >
> > to see what actual properties you can set onto the converter - this is
> > all taken out of some obscure appendix to the spec, which is not
> > binding (it is obviously just there for the fun of it, and is not
> > implemented by the RI).
> >
> > regards,
> >
> > Martin
> >
> > On 9/1/05, Mike Kienenberger <[EMAIL PROTECTED]> wrote:
> > > Excellent!  I will definitely look into this.
> > > Is it documented anywhere other than code, or should I start work on
> > > that as well? :)
> > >
> > > On 9/1/05, Martin Marinschek <[EMAIL PROTECTED]> wrote:
> > > > ---------- Forwarded message ----------
> > > > From: Martin Marinschek <[EMAIL PROTECTED]>
> > > > Date: Sep 1, 2005 5:43 PM
> > > > Subject: Re: best way to initialize BackingBean?
> > > > To: Mike Kienenberger <[EMAIL PROTECTED]>
> > > >
> > > >
> > > > I am talking about exactly the same thing you are talking about.
> > > >
> > > > With a caveat - you can't use value bindings there right now, just
> > > > strings are possible. Ideally, you would take the code where it ends
> > > > end bring it a little further ;)
> > > >
> > > > regards,
> > > >
> > > > Martin
> > > >
> > > > On 9/1/05, Mike Kienenberger <[EMAIL PROTECTED]> wrote:
> > > > > Martin,
> > > > >
> > > > > Are you talking about setting parameters at run-time via f:param?
> > > > >
> > > > > We're talking about setting them at config-time via managed 
> > > > > properties.
> > > > >
> > > > > Like this:
> > > > >
> > > > >
> > > > > <converter>
> > > > >   <converter-for-class>myClass</converter-for-class>
> > > > >   <converter-class>myConverterClass</converter-class>
> > > > >   <managed-property>
> > > > >       <property-name>myManagedBean</property-name>
> > > > >       <value>#{myManagedBeanName}</value>
> > > > >   </managed-property>
> > > > > </converter>
> > > > >
> > > > >
> > > > > On 8/31/05, Martin Marinschek <[EMAIL PROTECTED]> wrote:
> > > > > > Hint, hint taken ;)
> > > > > >
> > > > > > MyFaces does that. It is in the appendix of the spec, and MyFaces 
> > > > > > (at
> > > > > > least partially - as much as was needed of that by me) supports
> > > > > > setting parameters onto Converters...
> > > > > >
> > > > > > regards,
> > > > > >
> > > > > > Martin
> > > > > >
> > > > > > On 8/31/05, Craig McClanahan <[EMAIL PROTECTED]> wrote:
> > > > > > >
> > > > > > >
> > > > > > > On 8/31/05, Mike Kienenberger <[EMAIL PROTECTED]> wrote:
> > > > > > > > On 8/31/05, Craig McClanahan <[EMAIL PROTECTED]> wrote:
> > > > > > > > >  If you are using by-Class converters, you don't need to 
> > > > > > > > > register them
> > > > > > > on
> > > > > > > > > the *component* at all -- they get registered in the 
> > > > > > > > > Application
> > > > > > > instance
> > > > > > > > > along with the class they are for.  I'm not sure I see a need 
> > > > > > > > > to use a
> > > > > > > DI
> > > > > > > > > framework to instantiate those, since you already have the 
> > > > > > > > > ability to
> > > > > > > > > configure the implementation class that will be used.
> > > > > > > >
> > > > > > > > Craig,
> > > > > > > >
> > > > > > > > Can you expand on this?  What do I need to do to gain the 
> > > > > > > > ability to
> > > > > > > > configure the implementation class?
> > > > > > >
> > > > > > >  Simply include a registration for the converter in one of your
> > > > > > > faces-config.xml files.  The following entry will override the 
> > > > > > > standard
> > > > > > > converer that is applied to any property of type Integer:
> > > > > > >
> > > > > > >      <converter>
> > > > > > >          
> > > > > > > <converter-for-class>java.lang.Integer</converter-for-class>
> > > > > > >
> > > > > > > <converter-class>com.mycompany.MyIntegerConverter</converter-class>
> > > > > > >      </converter>
> > > > > > >
> > > > > > >  Your config files are read *after* the JSF implementation has 
> > > > > > > been
> > > > > > > configured, so this *replaces* the standard one.
> > > > > > >
> > > > > > > > I have lots of converters registered by class, and I want to DI 
> > > > > > > > a
> > > > > > > > managed JSF bean into each of them.   How do I do this?
> > > > > > >
> > > > > > >  In other words, you want to use DI for configuring properties on 
> > > > > > > a by-class
> > > > > > > converter?  That, sadly, isn't supported unless you were to 
> > > > > > > override the
> > > > > > > Application instance provided by your JSF impementation (or if 
> > > > > > > your JSF
> > > > > > > implementation provided this feature as part of its own 
> > > > > > > implementation, hint
> > > > > > > hint :-).  The technique I described doesn't reference any by-id 
> > > > > > > or by-type
> > > > > > > registered converters ... it creates anonymous instances.
> > > > > > >
> > > > > > >  But you don't *need* to use DI for this if your 
> > > > > > > MyIntegerConverter class
> > > > > > > (see previous example) is already set up exactly the way you want 
> > > > > > > it after
> > > > > > > the public zero-args constructor returns.  All you need for that 
> > > > > > > is the
> > > > > > > registration described above.
> > > > > > >
> > > > > > > > -Mike
> > > > > > > >
> > > > > > >
> > > > > > >  Craig
> > > > > > >
> > > > > > >
> > > > > >
> > > > > >
> > > > > > --
> > > > > >
> > > > > > http://www.irian.at
> > > > > > Your JSF powerhouse -
> > > > > > JSF Trainings in English and German
> > > > > >
> > > > >
> > > > >
> > > >
> > > >
> > > > --
> > > >
> > > > http://www.irian.at
> > > > Your JSF powerhouse -
> > > > JSF Trainings in English and German
> > > >
> > > >
> > > > --
> > > >
> > > > http://www.irian.at
> > > > Your JSF powerhouse -
> > > > JSF Trainings in English and German
> > > >
> > >
> > >
> >
> >
> > --
> >
> > http://www.irian.at
> > Your JSF powerhouse -
> > JSF Trainings in English and German
> >
> 


-- 

http://www.irian.at
Your JSF powerhouse - 
JSF Trainings in English and German

Reply via email to