On Thu, Mar 5, 2009 at 8:12 AM, jWeekend <jweekend_for...@cabouge.com> wrote:
>
> Igor,
>
> If there was a Java type called UpperCaseString that's what the developer
> would use as the underlying object and you would not have this objection.
> What's the difference between a converter translating 2009-04-04 to a
> java.util.Date or even to a LunchDate which always sets the time part to
> midday?

there isnt an UpperCaseString for a good reason :) if you went as far
as creating an uppercasestring type, then i would say that it is a
fair conversion. but then again, creating a type just to uppercase
something seems broken, so its not a valid argument.

if you had a lunchdate that sets the time to noon it would be a fair
conversion because you would be converting the string date portion to
a proper type. but then again, why would you have a lunchdate and not
just use date if you already know the time is always noon?

the point of converters is to take a type-agnostic input in a form of
a string and convert it to a proper type. if your expected type is
also a string then really no conversion should happen. there are
*type* converters, thats is why they have tostring(object) and
toobject(string), not a single object convert(object). anyways, just
letting you know the intention behind the converters in wicket. i
would say what you are doing is abusing the system and it is not
guaranteed to keep working in 1.5. just my two cents.

> I agree clearly that the translation should not be done by the validator.

my point was not that the conversion should not be done by the
validator, my point was that the validator should not check the
uppercase requirement. entering something in uppercase is not a
requirement on the user its a requirement on the system that stores
the input, validators deal with user-related requirements.

-igor

>
> Regards - Cemal
> http;//jWeekend.com
>
>
> igor.vaynberg wrote:
>>
>> using conversion and validation for this is wrong.
>>
>> converters in wicket are meant to convert from type<->string because
>> the web is type-agnostic. a string<->string conversion is not a
>> conversion from wicket's point of view. yes, the code is somewhat
>> unclear, we are going to address this in 1.5 where we can change some
>> api and better name things.
>>
>> validation is also wrong. validation checks user input. the
>> requirement to have this entered in uppercase is not on the user, it
>> is on the system. so a validator should not fail because something was
>> entered in non-uppercase.
>>
>> -igor
>>
>>
>> On Thu, Mar 5, 2009 at 1:26 AM, jWeekend <jweekend_for...@cabouge.com>
>> wrote:
>>>
>>> Martijn,
>>>
>>> Is there not already an EasyUpperCaseRUs.com web service you can
>>> subscribe
>>> to for unlimited conversions at an annual fee of under 30,000USD (or
>>> 100USD/conversion) who also have a "5 free conversions" trial
>>> subscription?
>>>
>>> Ether way, I would suggest this be done at conversion time so validation
>>> can
>>> do its job properly and you're not handing off conversion
>>> responsibilities
>>> where they don't belong. Some solutions leaving this transformation of
>>> the
>>> text input by the user until after conversion in the form processing
>>> life-cycle may be less lines of code (or less classes), but IMO, are
>>> bending
>>> rules and ignoring good design principles.
>>>
>>> Of course, others may disagree and come up with all sorts of "neat"
>>> solutions that still manage to upper-case a string; how about "just cut
>>> out
>>> the middle-man altogether and do it in a stored-procedure triggered on
>>> INSERT and UPDATE" - that would work too, but wouldn't be my choice.
>>>
>>> There's also a degree of "it depends" here, but generally, the
>>> form-processing life-cycle should be respected or explicitly overridden
>>> for
>>> a good design reason (to meet user requirements).
>>>
>>> Regards - Cemal
>>> http://jWeekend.com jWeekend
>>>
>>>
>>> Martijn Dashorst wrote:
>>>>
>>>> I suggest setting up an ESB with a UppercaseService that is available
>>>> through EJB/SOAP/JAX-RS and JSON. UppercaseModel could then access
>>>> that UppercaseService to make the value uppercase.
>>>>
>>>> Martijn
>>>>
>>>> On Thu, Mar 5, 2009 at 12:50 AM, Igor Vaynberg <igor.vaynb...@gmail.com>
>>>> wrote:
>>>>> you can create a convertermodel that takes an instance of iconverter
>>>>> and uses that to convert the values, then you can subclass textfield,
>>>>> override initmodel() and wrap any model the textfield had with this
>>>>> one.
>>>>>
>>>>> that way everyone is happy!
>>>>>
>>>>> -igor
>>>>>
>>>>> On Wed, Mar 4, 2009 at 3:29 PM, Jeremy Thomerson
>>>>> <jer...@wickettraining.com> wrote:
>>>>>> LOL!  Nah - I would just change all the setters on every domain object
>>>>>> to
>>>>>> be:
>>>>>>
>>>>>> public void setFoo(String foo) {
>>>>>>  this.foo = foo == null ? null : foo.toUpperCase();
>>>>>> }
>>>>>>
>>>>>> Or, maybe I'd use AOP and build an aspect that could automatically
>>>>>> intercept
>>>>>> calls to com.mydomain setters that take a single string argument and
>>>>>> do
>>>>>> the
>>>>>> upper-casing there!
>>>>>>
>>>>>> It's makes me smile to think of how many ways a single thing can be
>>>>>> done.
>>>>>>
>>>>>> Leszek - you should now definitely have plenty of choices.  Pick which
>>>>>> feels
>>>>>> best / most comfortable for you!
>>>>>>
>>>>>> On Wed, Mar 4, 2009 at 5:22 PM, jWeekend
>>>>>> <jweekend_for...@cabouge.com>wrote:
>>>>>>
>>>>>>>
>>>>>>> Igor,
>>>>>>>
>>>>>>> Nope, not for me (this time).
>>>>>>> Here's the Javadoc for updateModel:
>>>>>>>         * Updates this components model from the request, it expects
>>>>>>> that
>>>>>>> the
>>>>>>> object is already
>>>>>>>         * converted through the convertInput() call that is called by
>>>>>>> the
>>>>>>> validate() method when a form
>>>>>>>         * is being processed.
>>>>>>>
>>>>>>> Regards - Cemal
>>>>>>> http://jWeekend.com jWeekend
>>>>>>>
>>>>>>>
>>>>>>> igor.vaynberg wrote:
>>>>>>> >
>>>>>>> > pft, you guys!
>>>>>>> >
>>>>>>> > i would go with the simplest!
>>>>>>> >
>>>>>>> > class uppercasetextfield extends textfield<string> {
>>>>>>> >         public void updatemodel()
>>>>>>> >       {
>>>>>>> >               final String str=getconvertedinput();
>>>>>>> >
>>>>>>> setdefaultmodelobject((str==null)?null:str.touppercase());
>>>>>>> >       }
>>>>>>> > }
>>>>>>> >
>>>>>>> > done!
>>>>>>> >
>>>>>>> > -igor
>>>>>>> >
>>>>>>> > On Wed, Mar 4, 2009 at 3:07 PM, jWeekend
>>>>>>> <jweekend_for...@cabouge.com>
>>>>>>> > wrote:
>>>>>>> >>
>>>>>>> >> Jeremy,
>>>>>>> >>
>>>>>>> >> I sensed you were uncomfortable with my "most Wicket-way"
>>>>>>> suggestion
>>>>>>> when
>>>>>>> >> I
>>>>>>> >> read
>>>>>>>  http://www.nabble.com/RE%3A-Uppercasing-inputs-p22338461.htmlyour
>>>>>>> >> previous post on this thread  stating that the model doing the
>>>>>>> >> transformation work was on the "right track"; it is not unusual
>>>>>>> that
>>>>>>> more
>>>>>>> >> than one design can satisfy a given requirement.
>>>>>>> >>
>>>>>>> >> Do you like the idea of a model being responsible for conversion
>>>>>>> of
>>>>>>> >> users'
>>>>>>> >> textual input?
>>>>>>> >>
>>>>>>> >> Your article illustrates the use of nested models nicely but on
>>>>>>> this
>>>>>>> >> occasion I would probably go with
>>>>>>> >> http://www.nabble.com/Re%3A-Uppercasing-inputs-p22332471.html
>>>>>>> Adriano's
>>>>>>> >> idea
>>>>>>> >> for a client side, instant gratification, solution, and a custom
>>>>>>> text
>>>>>>> >> field
>>>>>>> >> with a converter if the conversion can happen later, on the
>>>>>>> server.
>>>>>>> >>
>>>>>>> >> Regards - Cemal
>>>>>>> >> http://jWeekend.com jWeekend
>>>>>>> >>
>>>>>>> >>
>>>>>>> >>
>>>>>>> >> Jeremy Thomerson-5 wrote:
>>>>>>> >>>
>>>>>>> >>> Cemal,
>>>>>>> >>>   I think I have to respectfully disagree with you here.  I
>>>>>>> describe
>>>>>>> >>> what
>>>>>>> >>> I
>>>>>>> >>> feel is a better solution, and a little bit of why in this blog
>>>>>>> post
>>>>>>> >>> from
>>>>>>> >>> a
>>>>>>> >>> few months ago:
>>>>>>> >>>
>>>>>>> >>>
>>>>>>> http://www.jeremythomerson.com/blog/2008/11/06/wicket-the-power-of-nested-models/
>>>>>>> >>>
>>>>>>> >>>   Basically, doing it the way you suggested isn't reusable across
>>>>>>> many
>>>>>>> >>> components - you have to create overridden variants of each type
>>>>>>> of
>>>>>>> >>> input.
>>>>>>> >>> Also, a converter (or more specifically, an implementation of
>>>>>>> >>> IConverter)
>>>>>>> >>> is
>>>>>>> >>> supposed to be for transforming a type of object to a string
>>>>>>> usable
>>>>>>> in
>>>>>>> >>> the
>>>>>>> >>> browser / form post / etc, as it's javadoc mentions.
>>>>>>> >>>
>>>>>>> >>>   Anyway, as the saying goes "there are many ways to skin a cat"
>>>>>>> -
>>>>>>> >>> although
>>>>>>> >>> the saying isn't that great, I think it applies - there are
>>>>>>> multiple
>>>>>>> >>> ways
>>>>>>> >>> of
>>>>>>> >>> accomplishing the same thing.
>>>>>>> >>>
>>>>>>> >>> --
>>>>>>> >>> Jeremy Thomerson
>>>>>>> >>> http://www.wickettraining.com
>>>>>>> >>>
>>>>>>> >>>
>>>>>>> >>> On Wed, Mar 4, 2009 at 12:04 PM, jWeekend
>>>>>>> >>> <jweekend_for...@cabouge.com>wrote:
>>>>>>> >>>
>>>>>>> >>>>
>>>>>>> >>>> Leszek,
>>>>>>> >>>>
>>>>>>> >>>> ... or, probably the most "Wicket-way" of doing this is to make
>>>>>>> a
>>>>>>> >>>> TextField
>>>>>>> >>>> subclass that overrides getConverter to return your special
>>>>>>> IConverter
>>>>>>> >>>> implementation which performs the capitalisation in its
>>>>>>> >>>> convertToObject.
>>>>>>> >>>>
>>>>>>> >>>> Regards - Cemal
>>>>>>> >>>> http://jWeekend.com jWeekend
>>>>>>> >>>>
>>>>>>> >>>>
>>>>>>> >>>> Leszek Gawron-2 wrote:
>>>>>>> >>>> >
>>>>>>> >>>> > Hello,
>>>>>>> >>>> >
>>>>>>> >>>> > one of my customers has this weird requirement that all data
>>>>>>> should
>>>>>>> >>>> be
>>>>>>> >>>> > input/shown uppercase. I can easily add
>>>>>>> >>>> >
>>>>>>> >>>> > input {
>>>>>>> >>>> >    text-transform: uppercase;
>>>>>>> >>>> > }
>>>>>>> >>>> >
>>>>>>> >>>> > to my css rules, but this does not change the fact that data
>>>>>>> written
>>>>>>> >>>> > into database will still be case sensitive.
>>>>>>> >>>> >
>>>>>>> >>>> > How can I create a behavior for TextField so that the dat is
>>>>>>> >>>> uppercased
>>>>>>> >>>> > before being written to the model?
>>>>>>> >>>> >
>>>>>>> >>>> > my regards
>>>>>>> >>>> >
>>>>>>> >>>> > --
>>>>>>> >>>> > Leszek Gawron
>>>>>>> >>>> >
>>>>>>> >>>> >
>>>>>>> ---------------------------------------------------------------------
>>>>>>> >>>> > To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
>>>>>>> >>>> > For additional commands, e-mail: users-h...@wicket.apache.org
>>>>>>> >>>> >
>>>>>>> >>>> >
>>>>>>> >>>> >
>>>>>>> >>>>
>>>>>>> >>>> --
>>>>>>> >>>> View this message in context:
>>>>>>> >>>>
>>>>>>> http://www.nabble.com/Uppercasing-inputs-tp22332360p22335650.html
>>>>>>> >>>> Sent from the Wicket - User mailing list archive at Nabble.com.
>>>>>>> >>>>
>>>>>>> >>>>
>>>>>>> >>>>
>>>>>>> ---------------------------------------------------------------------
>>>>>>> >>>> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
>>>>>>> >>>> For additional commands, e-mail: users-h...@wicket.apache.org
>>>>>>> >>>>
>>>>>>> >>>>
>>>>>>> >>>
>>>>>>> >>>
>>>>>>> >>
>>>>>>> >> --
>>>>>>> >> View this message in context:
>>>>>>> >> http://www.nabble.com/Uppercasing-inputs-tp22332360p22341681.html
>>>>>>> >> Sent from the Wicket - User mailing list archive at Nabble.com.
>>>>>>> >>
>>>>>>> >>
>>>>>>> >>
>>>>>>> ---------------------------------------------------------------------
>>>>>>> >> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
>>>>>>> >> For additional commands, e-mail: users-h...@wicket.apache.org
>>>>>>> >>
>>>>>>> >>
>>>>>>> >
>>>>>>> >
>>>>>>> ---------------------------------------------------------------------
>>>>>>> > To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
>>>>>>> > For additional commands, e-mail: users-h...@wicket.apache.org
>>>>>>> >
>>>>>>> >
>>>>>>> >
>>>>>>>
>>>>>>> --
>>>>>>> View this message in context:
>>>>>>> http://www.nabble.com/Uppercasing-inputs-tp22332360p22341926.html
>>>>>>> Sent from the Wicket - User mailing list archive at Nabble.com.
>>>>>>>
>>>>>>>
>>>>>>> ---------------------------------------------------------------------
>>>>>>> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
>>>>>>> For additional commands, e-mail: users-h...@wicket.apache.org
>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> Jeremy Thomerson
>>>>>> http://www.wickettraining.com
>>>>>>
>>>>>
>>>>> ---------------------------------------------------------------------
>>>>> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
>>>>> For additional commands, e-mail: users-h...@wicket.apache.org
>>>>>
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> Become a Wicket expert, learn from the best: http://wicketinaction.com
>>>> Apache Wicket 1.3.5 is released
>>>> Get it now: http://www.apache.org/dyn/closer.cgi/wicket/1.3.
>>>>
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
>>>> For additional commands, e-mail: users-h...@wicket.apache.org
>>>>
>>>>
>>>>
>>>
>>> --
>>> View this message in context:
>>> http://www.nabble.com/Uppercasing-inputs-tp22332360p22347989.html
>>> Sent from the Wicket - User mailing list archive at Nabble.com.
>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
>>> For additional commands, e-mail: users-h...@wicket.apache.org
>>>
>>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
>> For additional commands, e-mail: users-h...@wicket.apache.org
>>
>>
>>
>
> --
> View this message in context: 
> http://www.nabble.com/Uppercasing-inputs-tp22332360p22354741.html
> Sent from the Wicket - User mailing list archive at Nabble.com.
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
> For additional commands, e-mail: users-h...@wicket.apache.org
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org

Reply via email to