The non-refactor safe problem extends to plain old PropertyModel too. In our projects this doesn't seem to be a big problem though: property names rarely change after the initial development of a piece of code.
Martijn On Sat, Mar 21, 2009 at 2:50 PM, Juergen Donnerstag <juergen.donners...@gmail.com> wrote: > Ahh I see. I never use it this way because it exposes internals to the > markup which may change after refactoring and than all by a sudden it > doesn't work anymore. But I understand it is handy and saves some > typing > > Juergen > > On Sat, Mar 21, 2009 at 2:40 PM, Martijn Dashorst > <martijn.dasho...@gmail.com> wrote: >> Doing it all the time: >> >> <input type="text" wicket:id="address.street" /> >> >> Form form = new Form("form", new CompoundPropertyModel(person)); >> form.add(new TextField("address.street")); >> >> and works with localizers/properties too... Have been using (and >> promoting this functionality) since 1.0. >> >> Martijn >> >> On Sat, Mar 21, 2009 at 2:33 PM, Juergen Donnerstag >> <juergen.donners...@gmail.com> wrote: >>> Are you sure? Did you ever create markup like <div >>> wicket:id="this.is.my.component">. I'm pretty sure it doesn't work >>> with Localizer and properties. >>> >>> Juergen >>> >>> >>> <On Sat, Mar 21, 2009 at 12:18 PM, Martijn Dashorst >>> <martijn.dasho...@gmail.com> wrote: >>>> The "." (dot) is an accepted, and widely used part of component >>>> identifiers: CompoundPropertyModel makes heavy use of this feature. >>>> >>>> Martijn >>>> >>>> On Sat, Mar 21, 2009 at 11:27 AM, Juergen Donnerstag (JIRA) >>>> <j...@apache.org> wrote: >>>>> Check component id against invalid chars ':' and '.' >>>>> ---------------------------------------------------- >>>>> >>>>> Key: WICKET-2184 >>>>> URL: https://issues.apache.org/jira/browse/WICKET-2184 >>>>> Project: Wicket >>>>> Issue Type: Improvement >>>>> Components: wicket >>>>> Affects Versions: 1.4-RC2 >>>>> Reporter: Juergen Donnerstag >>>>> >>>>> >>>>> Currently we are only testing a component id not to be null. However ':' >>>>> and '.' are effectively invalid chars as well. ":" is used as separator >>>>> between path component and "." is used to find properties like >>>>> myComponent.Required >>>>> >>>>> Component.java should be modified as follows: >>>>> >>>>> final void setId(final String id) >>>>> { >>>>> if (!(this instanceof Page)) >>>>> { >>>>> if (Strings.isEmpty(id)) >>>>> { >>>>> throw new WicketRuntimeException("Null or >>>>> empty component id is not allowed."); >>>>> } >>>>> >>>>> if ((id.indexOf('.') != -1) || (id.indexOf(':') != >>>>> -1)) >>>>> { >>>>> throw new WicketRuntimeException("The >>>>> component id must not contain a '.' or ':'."); >>>>> } >>>>> } >>>>> this.id = id; >>>>> } >>>>> >>>>> >>>>> -- >>>>> This message is automatically generated by JIRA. >>>>> - >>>>> You can reply to this email to add a comment to the issue online. >>>>> >>>>> >>>> >>>> >>>> >>>> -- >>>> 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. >>>> >>> >> >> >> >> -- >> 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. >> > -- 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.