Hi,

Working on Wicket frontend for AppFuse I had to implement a drop down
choice of countries. I did it, but don't like the solution and I wonder
if it could be done easier/prettier?

Issues:
1. In domain model there is a country represented as a String field (a
country code) in an address class. In my Wicket component I wanted to
use a Country class with a code and name. It forced me to create
CountryDropDownChoice component which embed String model into Country
model(with EmbeddedCountryModel):

public class CountryDropDownChoice extends DropDownChoice<Country> {
    public CountryDropDownChoice(String id, PropertyModel<String>
country, Locale locale) {
        super(id, new EmbeddedCountryModel(country, locale), new
CountriesModel(locale), new ChoiceRenderer<>("name", "locale"));
    }
}

with a call in my panel/fragment:
add(new CountryDropDownChoice("country", new
PropertyModel<String>(getDefaultModel(), "country"), getLocale()));

2. I would like to have country names depending on current user locales.
I don't have access to Session in a model and there for I needed to pass
current locale to both models (they call CountryService implemented as
String bean using given locale). Could it be simplified?

My files:
https://gist.github.com/szpak/b5c5ae36e7d170f3676c#file-countrydropdownchoice-java
https://gist.github.com/szpak/b5c5ae36e7d170f3676c#file-countriesmodel-java
https://gist.github.com/szpak/b5c5ae36e7d170f3676c#file-embeddedcountrymodel-java
https://gist.github.com/szpak/b5c5ae36e7d170f3676c#file-country-java
https://gist.github.com/szpak/b5c5ae36e7d170f3676c#file-usereditpanel-java-L19
https://gist.github.com/szpak/b5c5ae36e7d170f3676c#file-javalocalecountryservice-java

Thanks in advance
Marcin

-- 
http://blog.solidsoft.info/ - Working code is not enough

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org

Reply via email to