How's this:

public class RecursiveStringResourceModel extends AbstractReadOnlyModel {

        private final String resourceKey;
        
        private final Component component;
        
public RecursiveStringResourceModel(final String resourceKey, final Component component) {
                this.resourceKey = resourceKey;
                this.component = component;
        }
        
        @Override
        public Object getObject() {
return new StringResourceModel(resourceKey, component, new CompoundPropertyModel(new AbstractMap() {
                        @Override
                        public Object get(Object key) {
return new RecursiveStringResourceModel((String) key, component).getObject();
                        }

                        @Override
                        public Set<java.util.Map.Entry<String, String>> 
entrySet() {
                                return null;
                        }
                })).getObject();
        }

}

I'm sure it can be done more efficiently (i.e., less model creation), but hey, it works! ;-)

Regards,
Sebastiaan

i ii wrote:
how will this work with example i gave? i'm not sure how to get some.label and some.text back into some.key? would i use something like
StringResourceModel srm = new StringResourceModel("some.key", this, null);
PropertyVariableInterpolator.interpolate("some.label", srm);

not sure that works :(

Date: Thu, 13 Mar 2008 12:17:09 +0100
From: [EMAIL PROTECTED]
To: users@wicket.apache.org
Subject: Re: StringResourceModel labels within values

At one point I wanted to do interpolation in constant strings, so I just used the property interpolator directly:

PropertyVariableInterpolator.interpolate(value, modelObject);

You can use that to build a model that recursively interpolates until there are no more ${...} occurrences in the value.

Regards,
Sebastiaan

i ii wrote:
thank you for help! which way is better? my own component or srm model that 
gets from localizer?

Date: Wed, 12 Mar 2008 13:57:10 -0700
From: [EMAIL PROTECTED]
To: users@wicket.apache.org
Subject: Re: StringResourceModel labels within values

but will that work recusively? :)

-igor


On Wed, Mar 12, 2008 at 1:44 PM, Johan Compagner <[EMAIL PROTECTED]> wrote:
I think if you just give SRM a model that again gets the values from
 the localizer then it should work fine.




 On 3/12/08, i ii <[EMAIL PROTECTED]> wrote:
 >
 > is there way to do something like:
 >
 > .properties file:
 >
 > some.label=Some Label
 > some.text=Some Text
 > some.key=This text will have ${some.label} and ${some.text}
 >

 ---------------------------------------------------------------------
 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]


Attachment: smime.p7s
Description: S/MIME Cryptographic Signature

Reply via email to