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