Igor, ... hence the ;-)
The point is worth making for others who come across this thread, and, just as much, in response to some of the other solutions suggested. I don't think there's any more to be milked out of this thread. Regards - Cemal http://jWeekend.com jWeekend igor.vaynberg wrote: > > sigh, i was being sarcastic. i frankensteined both yours and jeremy's > ideas together into a solution that used both and was needlessly > complex. > > -igor > > > On Wed, Mar 4, 2009 at 3:59 PM, jWeekend <[email protected]> > wrote: >> >> Igor, >> >> Still no ;-) >> A key point is that conversion should happen before validation so you can >> check if the transformed data (not just the plain text) is valid. >> Otherwise, >> what is your validation good for? >> >> Regards - Cemal >> http://jWeekend.com jWeekend >> >> PS You are still going to help when I get stuck, aren't you? >> PPS Is PTF pause for thought, or were you swearing? >> >> >> >> igor.vaynberg 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 >>> <[email protected]> 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 >>>> <[email protected]>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 >>>>> <[email protected]> >>>>> > 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 >>>>> >>> <[email protected]>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: [email protected] >>>>> >>>> > For additional commands, e-mail: [email protected] >>>>> >>>> > >>>>> >>>> > >>>>> >>>> > >>>>> >>>> >>>>> >>>> -- >>>>> >>>> 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: [email protected] >>>>> >>>> For additional commands, e-mail: [email protected] >>>>> >>>> >>>>> >>>> >>>>> >>> >>>>> >>> >>>>> >> >>>>> >> -- >>>>> >> 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: [email protected] >>>>> >> For additional commands, e-mail: [email protected] >>>>> >> >>>>> >> >>>>> > >>>>> > >>>>> --------------------------------------------------------------------- >>>>> > To unsubscribe, e-mail: [email protected] >>>>> > For additional commands, e-mail: [email protected] >>>>> > >>>>> > >>>>> > >>>>> >>>>> -- >>>>> 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: [email protected] >>>>> For additional commands, e-mail: [email protected] >>>>> >>>>> >>>> >>>> >>>> -- >>>> Jeremy Thomerson >>>> http://www.wickettraining.com >>>> >>> >>> --------------------------------------------------------------------- >>> To unsubscribe, e-mail: [email protected] >>> For additional commands, e-mail: [email protected] >>> >>> >>> >> >> -- >> View this message in context: >> http://www.nabble.com/Uppercasing-inputs-tp22332360p22342462.html >> Sent from the Wicket - User mailing list archive at Nabble.com. >> >> >> --------------------------------------------------------------------- >> 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] > > > -- View this message in context: http://www.nabble.com/Uppercasing-inputs-tp22332360p22342774.html Sent from the Wicket - User mailing list archive at Nabble.com. --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
