Agree Martin, thanks for the tips (also Tobias). I'll look into an
implementation of an extra Localizer, good names are welcome, and file a
ticket.

Rob

On Wed, Mar 4, 2015 at 9:46 AM, Martin Grigorov <mgrigo...@apache.org>
wrote:

> Hi,
>
> Since there were no many requests for this functionality I'd prefer if we
> use a specialization of Localizer as Rob did.
> The Pattern compilation is the slower operation, so it should be a static
> final field. The matching is usually fast so maybe there is no problem to
> put it directly in Localizer. But I don't see why to do it if there are
> just few users of this functionality.
>
> Please file a ticket!
> Preferably with a patch/PR and some tests!
>
> Thanks!
>
> Martin Grigorov
> Wicket Training and Consulting
> https://twitter.com/mtgrigorov
>
> On Wed, Mar 4, 2015 at 10:25 AM, Tobias Soloschenko <
> tobiassolosche...@googlemail.com> wrote:
>
> > Hi,
> >
> > maybe we can provide a new Localizer or change the existing default
> > implementation. As far as I know the StringResourceModel uses the same
> > Syntax for replacing which might lead to errors
> >
> > @others: What do you think?
> >
> > @Rob: the pattern should be modified a bit so that it is not greedy (.*?)
> > - have a look in WicketStuff / submodul html5 - there is a class
> > ReplacingResourceModel - the pattern you find there is a better one.
> >
> > kind regards
> >
> > Tobias
> >
> > > Am 04.03.2015 um 09:09 schrieb Rob Sonke <r...@tigrou.nl>:
> > >
> > > Hi,
> > >
> > > It took a while to dive into this but I wrote a simple solution based
> on
> > > the pattern/matcher example of Tobias and this seems to work well. It
> > only
> > > wraps the default Localizer class in Wicket by overriding the getString
> > > method:
> > >
> > > getResourceSettings().setLocalizer(new Localizer()
> > >
> > > {
> > >
> > >  public String getString(final String key, final Component component,
> > > final IModel<?> model, final Locale locale, final String style, final
> > > IModel<String> defaultValue) throws MissingResourceException
> > >
> > >  {
> > >
> > >    String value = super.getString(key, component, model, locale, style,
> > > defaultValue);
> > >
> > >    StringBuffer output = new StringBuffer();
> > >
> > >    final Pattern PLACEHOLDER_PATTERN =
> Pattern.compile("\\$\\{(.*)\\}");
> > >
> > >    Matcher matcher = PLACEHOLDER_PATTERN.matcher(value);
> > >
> > >
> > >    // Search for other nested keys to replace
> > >
> > >    while (matcher.find())
> > >
> > >    {
> > >
> > >      String replacedPlaceHolder = getString(matcher.group(1),
> component,
> > > model, locale, style, (String)null);
> > >
> > >      matcher.appendReplacement(output, replacedPlaceHolder);
> > >
> > >    }
> > >
> > >    matcher.appendTail(output);
> > >
> > >    return output.toString();
> > >
> > >  }
> > >
> > > });
> > >
> > >
> > > Any need for putting this in Wicket? Or maybe somebody has better
> options
> > > how to do this. I'm all ears but I'm already happy that I could
> implement
> > > this anyway without patching the Wicket source.
> > >
> > >
> > > Rob
> > >
> > > On Sat, Feb 21, 2015 at 6:14 PM, Tobias Soloschenko <
> > > tobiassolosche...@googlemail.com> wrote:
> > >
> > >> Hi,
> > >>
> > >> if it gained not as much interest in the community, but there are
> still
> > >> some users asking for such an implementation - maybe we can put it
> into
> > >> wicketstuff-minis?
> > >>
> > >> kind regards
> > >>
> > >> Tobias
> > >>
> > >> P.S.: I also answered the question in stackoverflow. :-)
> > >>
> > >> Am 21.02.15 um 17:59 schrieb Sven Meier:
> > >>
> > >> Hi,
> > >>>
> > >>> such a feature was asked a few times, e.g.:
> > >>>
> > >>> http://stackoverflow.com/questions/16684200/refer-to-
> > >>> one-property-from-another
> > >>>
> > >>> But apparently it never gained much interest in the community. In my
> > >>> experience you won't find many cases where this is useful anyway.
> > >>>
> > >>> Have fun
> > >>> Sven
> > >>>
> > >>>
> > >>>> On 21.02.2015 16:51, Tobias Soloschenko wrote:
> > >>>>
> > >>>> Rob,
> > >>>>
> > >>>> we will see what others say and if there is a standard way for this
> in
> > >>>> wicket. I'm currently testing the implementation - it also replaces
> > keys
> > >>>> found in hierarchy, because Wickets Localizer is going to be used
> for
> > each
> > >>>> key which is going to be replaced. So the example of your first mail
> > is
> > >>>> also covered.
> > >>>>
> > >>>> kind regards
> > >>>>
> > >>>> Tobias
> > >>>>
> > >>>>> Am 21.02.15 um 16:37 schrieb Rob Sonke:
> > >>>>>
> > >>>>> Tobias,
> > >>>>>
> > >>>>> Somehow I'm missing your replies in gmail. But thanks for the
> > >>>>> suggestions.
> > >>>>> Using custom models would be a last resort for me. Because I will
> > have
> > >>>>> to
> > >>>>> replace all occurences. I'm somehow hoping to hook into the
> > localizer.
> > >>>>>
> > >>>>> On Sat, Feb 21, 2015 at 2:01 PM, Rob Sonke <r...@tigrou.nl> wrote:
> > >>>>>
> > >>>>> Hi all,
> > >>>>>>
> > >>>>>> I'm trying to achieve a fairly simple thing within .properties
> > files to
> > >>>>>> avoid a lot of duplicate words through different files.
> > >>>>>>
> > >>>>>> For example there's is a HomePage.properties with:
> > >>>>>> lbl.foo=This is an example text, we love ${lbl.item}
> > >>>>>>
> > >>>>>> And then in MyWebApplication.properties:
> > >>>>>> lbl.item=Wicket
> > >>>>>>
> > >>>>>> But as far as I can see, Wicket tries to resolve the parameters
> with
> > >>>>>> objects passed to eg StringResourceModel. How can I hook into this
> > and
> > >>>>>> solve this in a nice way?
> > >>>>>>
> > >>>>>> Kind regards,
> > >>>>>> Rob
> > >>>>
> > >>>>
> ---------------------------------------------------------------------
> > >>>> 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
> > >>
> > >> ---------------------------------------------------------------------
> > >> 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