I'd consider it a "generic" business component that applies
to so many apps/business pojos that would justify it to become a web component,
much like RequiredTextField or even PasswordTextField.

Could you illustrate how to do it better with model decorator
to use it like using RequiredTextField?



>no, "upper case string" is not a special type, not unless you do not
>use String to represent it...like i said, my suggestion is to do this
>via a model decorator. further, something like this doesnt even sound
>like it belongs in the web layer - sounds like a business requirement
>which should be enforced by the setter of the bussiness pojo.
>
>-igor
>
>
>On Sun, Mar 9, 2008 at 7:57 PM,  <[EMAIL PROTECTED]> wrote:
>> I used the trick it worked great. Thanks very much.
>>  Should it be considered a bug?
>>  What is interesting before using setType is that getConverter is actually
>>   called (from my simple tracing), but after that its methods were
>>  not called (I guess somewhere it learned the modelobject was a String so
>>  it simply call the built-in converter.
>>  I'd think if the getConverter is overriden, its methods should be called
>>  regardless of what type was it.  Besides, UppercaseString is
>>  a special "Type" so it does not conflict with the rules.
>>  (Any custom converter could be considered to target a special type
>>  even though it could be just uppercasing or prepend a * to the string)
>>  Built-in converter might follow the default rules but
>>  if custom converter is provided, wicket should totally depend
>>  on the custom converter to do whatever it does.
>>
>>  Anyway, thanks again.
>>
>>
>>
>>  >if you set the type yourself by hand then getConverter() will be called 
>and
>>  >you can do what ever you want
>>  >We dont do that automatic yes (resolveType doesn't set it to the
>>  >String.class)
>>  >
>>  >johan
>>  >
>>  >
>>  >
>>  >On Sun, Mar 9, 2008 at 5:45 PM, Igor Vaynberg <[EMAIL PROTECTED]>
>>  >wrote:
>>  >
>>  >> i thought we agreed converters were type converters...so they shouldnt
>>  >> be invoked if you are doing string->string :|
>>  >>
>>  >> -igor
>>  >>
>>  >>
>>  >> On Sun, Mar 9, 2008 at 5:47 AM, Johan Compagner <[EMAIL PROTECTED]>
>>  >> wrote:
>>  >> > call setTYpe(String.class) on the textfield
>>  >> >  or use that constructor with the type param
>>  >> >
>>  >> >  does that help?
>>  >> >
>>  >> >
>>  >> >
>>  >> >  On Sun, Mar 9, 2008 at 1:35 PM, <[EMAIL PROTECTED]> wrote:
>>  >> >
>>  >> >  > Below is a custom component with overrding the getConverter
>>  >> >  > for testing purpose. As you could see, it is plain simple one
>>  >> >  > with simple output debugging. But it is not working.
>>  >> >  > the getConverter is called (output "here")
>>  >> >  > but the convertToObject never called (no "there")
>>  >> >  > I basically cut and paste the WicketinAction example.
>>  >> >  > What I am doing wrong here?
>>  >> >  >
>>  >> >  >
>>  >> >  > public class RequiredUppperCaseTextField extends TextField {
>>  >> >  >
>>  >> >  >    public RequiredUppperCaseTextField(String id) {
>>  >> >  >        super(id);
>>  >> >  >        setRequired(true);
>>  >> >  >
>>  >> >  >    }
>>  >> >  >    @Override
>>  >> >  >    public final IConverter getConverter(Class arg000){
>>  >> >  >        System.out.println("here"+ arg0);
>>  >> >  >       IConverter icAppend = new IConverter(){
>>  >> >  >
>>  >> >  >            public Object convertToObject(String arg0, Locale arg1) 
>{
>>  >> >  >                System.out.println("there"+ arg0);
>>  >> >  >                String s = "sss";
>>  >> >  >                return s;
>>  >> >  >            }
>>  >> >  >
>>  >> >  >            public String convertToString(Object arg0, Locale arg1) 
>{
>>  >> >  >                return (String)arg0;
>>  >> >  >            }
>>  >> >  >
>>  >> >  >        };
>>  >> >  >        return icAppend;
>>  >> >  >     }
>>  >> >  >
>>  >> >  > }
>>  >> >  >
>>  >> >  >
>>  >> >  > >Override the getConverter() method. First call super and with 
>that
>>  >> >  > >result call the special one (camel casing?)
>>  >> >  > >
>>  >> >  > >On 3/9/08, [EMAIL PROTECTED] <[EMAIL PROTECTED]> wrote:
>>  >> >  > >> Hello:
>>  >> >  > >> I wonder how to "append" a converter or java method to a 
>component
>>  >> so
>>  >> >  > that
>>  >> >  > >I
>>  >> >  > >> would affect what is already defined. For example, I want
>>  >> "camelize" a
>>  >> >  > >> TextField(or some customized subclass) so that after the 
>converter
>>  >> >  > already
>>  >> >  > >> defined completes the conversion (regardless what has been done 
>in
>>  >> the
>>  >> >  > >> chain) , I could use the added converted/method to make the 
>final
>>  >> >  > >conversion
>>  >> >  > >> to my need. The example I am seeing appears to "overide" and 
>only
>>  >> one
>>  >> >  > can
>>  >> >  > >be
>>  >> >  > >> defined for a component, unlike validators, that I could add a
>>  >> chain of
>>  >> >  > >> them. Let me know if I am wrong about this.
>>  >> >  > >> Thanks
>>  >> >  > >
>>  >> >  >
>>  >> >---------------------------------------------------------------------
>>  >> >  > >To unsubscribe, e-mail: [EMAIL PROTECTED]
>>  >> >  > >For additional commands, e-mail: [EMAIL PROTECTED]
>>  >> >  > >
>>  >> >  >
>>  >> >  > 
>---------------------------------------------------------------------
>>  >> >  > To unsubscribe, e-mail: [EMAIL PROTECTED]
>>  >> >  > For additional commands, e-mail: [EMAIL PROTECTED]
>>  >> >  >
>>  >> >  >
>>  >> >
>>  >>
>>  >> ---------------------------------------------------------------------
>>  >> To unsubscribe, e-mail: [EMAIL PROTECTED]
>>  >> For additional commands, e-mail: [EMAIL PROTECTED]
>>  >>
>>  >>
>>
>>  ---------------------------------------------------------------------
>>  To unsubscribe, e-mail: [EMAIL PROTECTED]
>>  For additional commands, e-mail: [EMAIL PROTECTED]
>>
>>
>
>---------------------------------------------------------------------
>To unsubscribe, e-mail: [EMAIL PROTECTED]
>For additional commands, e-mail: [EMAIL PROTECTED]
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to