Hi, This works, question now is, where to put this class? I put it under components, it works until I inject the hibernate service:
@Inject private Session _session; public CountrySelectModel() { } _session is always null, any idea? thanks. nirvdrum wrote: > > You can just create an instance of SelectModelImpl. To simplify things a > bit, I've just implemented the interface and delegated to a > SelectModelImpl > instance. > > public class ProductTypeSelectModel implements SelectModel > { > private final SelectModel model; > > public ProductTypeSelectModel(final ObjectContext context) > { > final List<OptionModel> options = new ArrayList<OptionModel>(); > > final SelectQuery query = new SelectQuery(ProductType.class); > query.addOrdering(ProductType.NAME_PROPERTY, true); > > final List<ProductType> productTypes = (List<ProductType>) > context.performQuery(query); > > options.add(new OptionModelImpl("None (root level)", false, > null)); > for (final ProductType pt : productTypes) > { > options.add(new OptionModelImpl(pt.getName(), false, pt)); > } > > model = new SelectModelImpl(null, options); > } > > public List<OptionGroupModel> getOptionGroups() > { > return model.getOptionGroups(); > } > > public List<OptionModel> getOptions() > { > return model.getOptions(); > } > > public void visit(final SelectModelVisitor visitor) > { > model.visit(visitor); > } > } > > This example uses Cayenne to query for my "product_types" and sorts them > by > name. Even if you're not familiar with Cayenne, it should be fairly > straightforward. > > > On 12/1/07 11:34 PM, in article [EMAIL PROTECTED], "Angelo > Chen" > <[EMAIL PROTECTED]> wrote: > >> >> Hi, >> >> I use a TreeMap for the 'Select' component, it works but it is always >> sorted >> in the key order, not the name of country when showing to the user, i >> read >> somewhere it can be a list, any suggestions, sample codes? thanks. >> >> A.C. >> >> public TreeMap<String, String> getCountryList() {return ...} >> >> <input t:type="select" t:id="country" model="countryList" >> t:value="country" >> /><br/> >> > > -- > Kevin Menard > Servprise International, Inc. > Remote reboot & power control for network equipment > www.servprise.com +1 508.892.3823 x308 > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > > -- View this message in context: http://www.nabble.com/T5%3A-Select%27s-model-tf4930588.html#a14122898 Sent from the Tapestry - User mailing list archive at Nabble.com. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]