Done:
https://issues.apache.org/jira/browse/WICKET-5847

I'll create a pull request too and I'll mention that in the jira ticket.

Rob


On Wed, Mar 4, 2015 at 10:16 AM, Tobias Soloschenko <
tobiassolosche...@googlemail.com> wrote:

> Hi Rob,
>
> maybe we could name it KeyReplacingLocalizer.
>
> Here is the reference of the ReplacingResourceModel. It wasn't in html5
> submodule but in minis.
>
>
> https://github.com/wicketstuff/core/blob/85bfa1b4bf67261ad4a7b07295c366c49733ad1f/jdk-1.7-parent/minis-parent/minis/src/main/java/org/wicketstuff/minis/model/ReplacingResourceModel.java
>
> The pattern is like this:
>
> private static final Pattern PLACEHOLDER_PATTERN = Pattern.compile("\\$\\
> {(.*?)\\}");
>
> kind regards
>
> Tobias
>
> 2015-03-04 9:57 GMT+01:00 Rob Sonke <r...@tigrou.nl>:
>
> > 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