Sure: package org.miller.wicket.example;
import org.apache.wicket.markup.html.basic.Label; import org.apache.wicket.markup.html.link.Link; import org.apache.wicket.markup.html.list.ListItem; import org.apache.wicket.markup.html.list.ListView; import org.apache.wicket.model.IModel; public class Index extends CheesrPage { public Index() { add(new ListView<Cheese>("cheeses", getCheeses()) { private static final long serialVersionUID = -6160450216067455300L; @Override protected void populateItem(ListItem<Cheese> item) { Cheese cheese = (Cheese) getDefaultModelObject(); item.add(new Label("name", cheese.getName())); item.add(new Label("description", cheese.getDescription())); item.add(new Label("price", "$" + cheese.getPrice())); item.add(new Link<Cheese>("add", item.getDefaultModel()) { private static final long serialVersionUID = 3724016761964076585L; @Override public void onClick() { Cheese selected = (Cheese) getDefaultModelObject(); getCart().getCheeses().add(selected); } }); } }); } } And the CheserPage: package org.miller.wicket.example; import java.util.List; import org.apache.wicket.markup.html.WebPage; public abstract class CheesrPage extends WebPage { public CheesrSession getCheesrSession() { return (CheesrSession) getSession(); } public Cart getCart() { return getCheesrSession().getCart(); } public List<Cheese> getCheeses() { return CheesrApplication.get().getCheeses(); } } Andy On Thu, Oct 15, 2009 at 4:12 PM, Jeremy Thomerson <jer...@wickettraining.com> wrote: > Can you pastebin the entire java file? > > -- > Jeremy Thomerson > http://www.wickettraining.com > > > > On Thu, Oct 15, 2009 at 5:09 PM, Andrig T. Miller <andrig.t.mil...@gmail.com >> wrote: > >> I have in CheesrPage the following: >> >> private List<Cheese> getCheeses() { >> return CheeseApplication.get().getCheeses(); >> } >> >> If I change that to: >> >> private IModel<List<Cheese>> getCheeses() { >> return CheeseApplication.get().getCheeses(); >> } >> >> I then just get the same warning here, and of course then I can go >> back to the CheeseApplication class and change the getCheeses there, >> but I get the same warning there. >> >> It's just moving the problem around. >> >> Andy >> >> On Thu, Oct 15, 2009 at 4:00 PM, Jeremy Thomerson >> <jer...@wickettraining.com> wrote: >> > the key is in getCheeses... >> > >> > It should be something like private IModel<List<Cheese>> getCheeses() >> > >> > -- >> > Jeremy Thomerson >> > http://www.wickettraining.com >> > >> > >> > >> > On Thu, Oct 15, 2009 at 4:55 PM, Andrig T. Miller < >> andrig.t.mil...@gmail.com >> >> wrote: >> > >> >> I have been going through the Wicket in Action book, but using the >> >> 1.4.2 release. I figured the changes where minimal enough I could get >> >> through things. In the Cheese store example I have the following >> >> code: >> >> >> >> >> >> package org.miller.wicket.example; >> >> >> >> import org.apache.wicket.markup.html.basic.Label; >> >> import org.apache.wicket.markup.html.link.Link; >> >> import org.apache.wicket.markup.html.list.ListItem; >> >> import org.apache.wicket.markup.html.list.ListView; >> >> import org.apache.wicket.model.IModel; >> >> >> >> public class Index extends CheesrPage { >> >> >> >> public Index() { >> >> >> >> add(new ListView<Cheese>("cheeses", getCheeses()) { >> >> >> >> private static final long serialVersionUID = >> >> -6160450216067455300L; >> >> >> >> @Override >> >> protected void populateItem(ListItem<Cheese> item) { >> >> >> >> Cheese cheese = (Cheese) getDefaultModelObject(); >> >> >> >> item.add(new Label("name", cheese.getName())); >> >> item.add(new Label("description", >> >> cheese.getDescription())); >> >> item.add(new Label("price", "$" + cheese.getPrice())); >> >> item.add(new Link<Cheese>("add", item.getDefaultModel()) >> { >> >> >> >> private static final long serialVersionUID = >> >> 3724016761964076585L; >> >> >> >> @Override >> >> public void onClick() { >> >> >> >> Cheese selected = (Cheese) >> getDefaultModelObject(); >> >> getCart().getCheeses().add(selected); >> >> >> >> } >> >> }); >> >> } >> >> }); >> >> >> >> } >> >> >> >> } >> >> >> >> The line item.add(new Link<Cheese>("add", item.getDefaultModel()) { >> >> ... >> >> >> >> Doesn't compile in Eclipse. It will compile if I remove the <Cheese> >> >> from the Link, but warns about Link being a raw type that should be >> >> parameterized. >> >> >> >> I can get it to compile if I cast the result of item.getDefaultModel >> >> in this way (IModel<Cheese>), but then Eclipse gives me a warning >> >> saying unchecked cast IModel<capture#1-of ?> to IModel<Cheese>. >> >> >> >> What's the right syntax? I'm sure I'm missing something obvious. >> >> >> >> Thanks for any help. >> >> >> >> Andy >> >> >> > >> >> --------------------------------------------------------------------- >> 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